++++ Hỏi - Đáp mọi thứ liên quan đến make game(engine, script, event...)++++

Thảo luận trong 'Game Development' bắt đầu bởi ken10, 23/11/06.

  1. nobita900

    nobita900 C O N T R A

    Tham gia ngày:
    14/3/03
    Bài viết:
    1,683
    Lâu lâu hỏng vô thấy vắng như cái chùa bà đanh ý, mọi người giúp em cái này nha, em tìm được 3 cái scrip demo Limit, Divided Skill & Item và Face Menu, nhưng ko bít cách nào để mix 3 cái này lại với nhau hết, em attach nó vô cho mấy bác download thoải mái rồi hướng dẫn em nha
    Thêm nữa, em muốn cái Divide Skill chỉ có 2 cái là công vật lý với phép thuật thôi, giữ nguyên cái menu chỉ thêm ống limit à, vậy nghen, cái menu ở dưới này nà, còn cái Limit với Divide Skill em attach vô
    Mã:
    #==============================================================================
    #  Kururus Menu System - Created By Mac
    #------------------------------------------------------------------------------
    #  This class performs menu screen processing.
    #==============================================================================
    class Scene_Menu
      #--------------------------------------------------------------------------
      # * Object Initialization
      #     menu_index : command cursor's initial position
      #--------------------------------------------------------------------------
      def initialize(menu_index = 0)
        @menu_index = menu_index
      end
      #--------------------------------------------------------------------------
      # * Main Processing
      #--------------------------------------------------------------------------
      def main
        # Make command window
        s1 = $data_system.words.item
        s2 = $data_system.words.skill
        s3 = $data_system.words.equip
        s4 = "Status"
        s5 = "Limit"
        s6 = "Save"
        s7 = "End Game"
        @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
        @command_window.x = 450
        @command_window.y = 30
        @command_window.index = @menu_index
        # If number of party members is 0
        if $game_party.actors.size == 0
          # Disable items, skills, equipment, status and limit
          @command_window.disable_item(0)
          @command_window.disable_item(1)
          @command_window.disable_item(2)
          @command_window.disable_item(3)
          @command_window.disable_item(4)
        end
        # If save is forbidden
        if $game_system.save_disabled
          # Disable save
          @command_window.disable_item(5)
        end
        # Make play time window
        @playtime_window = Window_PlayTime.new
        @playtime_window.x = 210
        @playtime_window.y = 425
        @playtime_window.z = 1000
        # Make image window
        @image_window = Window_Image.new
        @image_window.x = 450
        @image_window.y = 286
        # Make gold window
        @gold_window = Window_Gold.new
        @gold_window.x = 370
        @gold_window.y = 425
        @gold_window.z = 1000
        # Make status window
        @status_window = Window_KururusMenu.new
        @status_window.x = 30
        @status_window.y = 30
        # Execute transition
        Graphics.transition
        # Main loop
        loop do
          # Update game screen
          Graphics.update
          # Update input information
          Input.update
          # Frame update
          update
          # Abort loop if screen is changed
          if $scene != self
            break
          end
        end
        # Prepare for transition
        Graphics.freeze
        # Dispose of windows
        @command_window.dispose
        @playtime_window.dispose
        @image_window.dispose
        @gold_window.dispose
        @status_window.dispose
      end
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      def update
        # Update windows
        @command_window.update
        @playtime_window.update
        @image_window.update
        @gold_window.update
        @status_window.update
        # If command window is active: call update_command
        if @command_window.active
          update_command
          return
        end
        # If status window is active: call update_status
        if @status_window.active
          update_status
          return
        end
      end
      #--------------------------------------------------------------------------
      # * Frame Update (when command window is active)
      #--------------------------------------------------------------------------
      def update_command
        # If B button was pressed
        if Input.trigger?(Input::B)
          # Play cancel SE
          $game_system.se_play($data_system.cancel_se)
          # Switch to map screen
          $scene = Scene_Map.new
          return
        end
        # If C button was pressed
        if Input.trigger?(Input::C)
          # If command other than save or end game, and party members = 0
          if $game_party.actors.size == 0 and @command_window.index < 4
            # Play buzzer SE
            $game_system.se_play($data_system.buzzer_se)
            return
          end
          # Branch by command window cursor position
          case @command_window.index
          when 0  # item
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Switch to item screen
            $scene = Scene_Item.new
          when 1  # skill
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Make status window active
            @command_window.active = false
            @status_window.active = true
            @status_window.index = 0
          when 2  # equipment
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Make status window active
            @command_window.active = false
            @status_window.active = true
            @status_window.index = 0
          when 3  # status
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Make status window active
            @command_window.active = false
            @status_window.active = true
            @status_window.index = 0
          when 4  # limit menu
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Make status window active
            @command_window.active = false
            @status_window.active = true
            @status_window.index = 0   
          when 5  # save
            # If saving is forbidden
            if $game_system.save_disabled
              # Play buzzer SE
              $game_system.se_play($data_system.buzzer_se)
              return
            end
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Switch to save screen
            $scene = Scene_Save.new
          when 6  # end game
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Switch to end game screen
            $scene = Scene_End.new
          end
          return
        end
      end
      #--------------------------------------------------------------------------
      # * Frame Update (when status window is active)
      #--------------------------------------------------------------------------
      def update_status
        # If B button was pressed
        if Input.trigger?(Input::B)
          # Play cancel SE
          $game_system.se_play($data_system.cancel_se)
          # Make command window active
          @command_window.active = true
          @status_window.active = false
          @status_window.index = -1
          return
        end
        # If C button was pressed
        if Input.trigger?(Input::C)
          # Branch by command window cursor position
          case @command_window.index
          when 1  # skill
            # If this actor's action limit is 2 or more
            if $game_party.actors[@status_window.index].restriction >= 2
              # Play buzzer SE
              $game_system.se_play($data_system.buzzer_se)
              return
            end
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Switch to skill screen
            $scene = Scene_Skill.new(@status_window.index)
          when 2  # equipment
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Switch to equipment screen
            $scene = Scene_Equip.new(@status_window.index)
          when 3  # status
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Switch to status screen
            $scene = Scene_Status.new(@status_window.index)
          when 4  # limits
            # Play decision SE
            $game_system.se_play($data_system.decision_se)
            # Switch to skill screen
            $scene = Scene_LimitMenu.new(@status_window.index)     
          end
          return
        end
      end
    end
    #==============================================================================
    # ** Window_MenuStatus
    #------------------------------------------------------------------------------
    #  This window displays party member status on the menu screen.
    #==============================================================================
    class Window_KururusMenu < Window_Selectable
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        super(0, 0, 420, 420)
        self.contents = Bitmap.new(width - 32, height - 32)
        refresh
        self.active = false
        self.index = -1
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        @item_max = $game_party.actors.size
        for i in 0...$game_party.actors.size
          x = 64
          y = i * 100
          actor = $game_party.actors[i]
          draw_face(actor, x - 62, y + 18)
          draw_actor_name(actor, 12, y - 8)
          draw_actor_class(actor, x + 120, y - 8)
          draw_actor_level(actor, 320, y - 8)
          draw_actor_hp(actor, x + 46, y + 32)
          draw_actor_sp(actor, x + 46, y + 48)
        end
      end
      #--------------------------------------------------------------------------
      # * Cursor Rectangle Update
      #--------------------------------------------------------------------------
      def update_cursor_rect
        if @index < 0
          self.cursor_rect.empty
        else
          self.cursor_rect.set(0, @index * 100, self.width - 32, 96)
        end
      end
    end
    #==============================================================================
    # ** Window_PlayTime
    #------------------------------------------------------------------------------
    #  This window displays play time on the menu screen.
    #==============================================================================
    class Window_PlayTime < Window_Base
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        super(0, 0, 160, 50)
        self.contents = Bitmap.new(width - 32, height - 32)
        refresh
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        self.contents.font.color = system_color
        self.contents.font.size = 14
        self.contents.draw_text(0, -5, 120, 32, "Play Time")
        @total_sec = Graphics.frame_count / Graphics.frame_rate
        hour = @total_sec / 60 / 60
        min = @total_sec / 60 % 60
        sec = @total_sec % 60
        text = sprintf("%02d:%02d:%02d", hour, min, sec)
        self.contents.font.color = normal_color
        self.contents.draw_text(0, -5, 120, 32, text, 2)
      end
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      def update
        super
        if Graphics.frame_count / Graphics.frame_rate != @total_sec
          refresh
        end
      end
    end
    #==============================================================================
    # ** Window_Gold
    #------------------------------------------------------------------------------
    #  This window displays amount of gold.
    #==============================================================================
    class Window_Gold < Window_Base
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        super(0, 0, 160, 50)
        self.contents = Bitmap.new(width - 32, height - 32)
        refresh
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        cx = contents.text_size($data_system.words.gold).width
        self.contents.font.color = normal_color
        self.contents.font.size = 14
        self.contents.draw_text(0, -5, 120-cx-2, 32, $game_party.gold.to_s, 2)
        self.contents.font.color = system_color
        self.contents.draw_text(124-cx, -5, cx, 32, $data_system.words.gold, 2)
      end
    end
    #==============================================================================
    # ** Window_Steps
    #------------------------------------------------------------------------------
    #  This window displays step count on the menu screen.
    #==============================================================================
    class Window_Image < Window_Base
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        super(0, 0, 160, 164)
        self.contents = Bitmap.new(width - 32, height - 32)
        refresh
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        draw_image("", 0, 0)
      end
    end
     

    Các file đính kèm:

  2. mrjaychou

    mrjaychou Sith Lord Revan Lão Làng GVN

    Tham gia ngày:
    30/8/06
    Bài viết:
    10,625
    Nơi ở:
    SantiagoBernabeu
    cho em hỏi làm như nào để lúc đánh nhau hiện hình người nhảy ra đánh kiểu FFVIII thế ạ?
    làm như nào để lúc nói chuyện nó hiện mặt ra vậy?
     
  3. Black_Swordman

    Black_Swordman Youtube Master Race

    Tham gia ngày:
    16/11/06
    Bài viết:
    12
    cho hỏi script viết bằng ngôn ngữ gì zậy, chỉ chỗ nghiên cứu lun đi
     
  4. Bahamut_king

    Bahamut_king Youtube Master Race

    Tham gia ngày:
    6/3/07
    Bài viết:
    45
    Nơi ở:
    Bahamut's Carvern
    Các anh à !! Em Down cái RPGMaker 12 về lúc mở nó lại hiện cái bảng này là sao ạ
    [​IMG]
     
  5. solntII

    solntII T.E.T.Я.I.S Lão Làng GVN

    Tham gia ngày:
    30/10/06
    Bài viết:
    524
    mấy bác có ai biết làm GUI cho mini game, giống máy cái màn hình đàu tiên của mấy cái game của game house ấy, làm những cái nút có hình dạng khác,, rồi form theo hình nhà cửa gì đó , có ai biết hay có tài liệu thì share cho mình với nha :D , mà tốt nhất là được làm theo một ngôn ngữ lập trình gì đó thì càng tốt ...
    thanks all
    :D
     
  6. gamerchina

    gamerchina Mr & Ms Pac-Man

    Tham gia ngày:
    16/11/06
    Bài viết:
    181
    Nơi ở:
    HCM
    Tải Scripts trên Gamestudio.com như thế nào ?
    Nó bắt nhập username và pass,kô biết nhập như thế nào đây ?
     
  7. bibilove123

    bibilove123 Mr & Ms Pac-Man

    Tham gia ngày:
    13/5/06
    Bài viết:
    105
    cho em hỏi tại sao em cài xong RMXP rồi khi vào nó nói là failed to initialize DirectX Audio . em đã cài directX rồi mà vào vẫn báo lỗi như vậy
     
  8. bibilove123

    bibilove123 Mr & Ms Pac-Man

    Tham gia ngày:
    13/5/06
    Bài viết:
    105
    cho em hỏi tại sao em cài xong RMXP rồi khi vào nó nói là failed to initialize DirectX Audio . em đã cài directX rồi mà vào vẫn báo lỗi như vậy
     
  9. Cure All

    Cure All Donkey Kong Lão Làng GVN

    Tham gia ngày:
    26/2/07
    Bài viết:
    387
    Cho em xin script đi thẳng hàng (giống Chorno Cross) và chỉ cách tắt bật với
     
  10. Snowsheep

    Snowsheep Mr & Ms Pac-Man

    Tham gia ngày:
    15/6/07
    Bài viết:
    166
    Cho em xin cái Scip để đánh chữ tiếng Việt đi
     
  11. Snowsheep

    Snowsheep Mr & Ms Pac-Man

    Tham gia ngày:
    15/6/07
    Bài viết:
    166
    Công nhận ở đây thiếu vắng nhân lực quá.Snowsheep chỉ thấy có hỏi không hà không ai trả lời hết (mạch ai nấy hỏi).Sao lập ra topic mà hổng ai trả lời thắc mắc hết.Nhân tiện hỏi luôn,Snowsheep đang dùng RPG XP ai biết pót lên dùng Snowsheep mất cái Scirp:
    -Đánh dấu Tiếng Việt,hiển thị thanh ATB,hiện hình ảnh trước khi vào game.Và mấy cái hình Character nữa
     
  12. Cure All

    Cure All Donkey Kong Lão Làng GVN

    Tham gia ngày:
    26/2/07
    Bài viết:
    387
    Hix.. box này nhân tài đi đâu hết trơn vậy ????
    @Snowsheep :vô đây mà tìm
    www.bolobala.net
     
  13. anhboi1912

    anhboi1912 Youtube Master Race

    Tham gia ngày:
    6/12/05
    Bài viết:
    3
    Mình đang làm 1 game bằng chương trình rpg make xp , nhưng mình ko thik kiểu battler trong rpg , mình muốn battler động , ý là 2 bên hero và moster dàn hàng ra đánh ( hơi giống với kiểu battler của TS online vậy ) , ai có thể giúp mình được kô? , mình gà lắm nên mong các bác hướng dẫn kĩ cho mìh 1 xíu ! Cám ơn trước
    Ps: Cần mấy pro chỉ gấp !:hug:
     
  14. DarkPaladin

    DarkPaladin Youtube Master Race

    Tham gia ngày:
    23/3/06
    Bài viết:
    90
    Nơi ở:
    Bạc Liêu
    thì dùng CBS của Minkoff là có ngay cảnh battler động thôi chứ khó gì, bạn vào chỗ scritp lục chút là ra thôi
     
  15. Cure All

    Cure All Donkey Kong Lão Làng GVN

    Tham gia ngày:
    26/2/07
    Bài viết:
    387
    Để dễ bề quản lý tui đã tạo thêm 1 số thư mục mới trong Graphic như "text";"logo" ...vvv...v
    Nhưng khi khóa game vào (enjypt) thì khi chạy nó lại báo là không tìm thấy thư mục "text" trong khi mấy khác như "Logo" vẫn chạy ngon =>>vậy là sao ?
    0.o??
     
  16. master_dart_ndt

    master_dart_ndt Mr & Ms Pac-Man

    Tham gia ngày:
    22/6/06
    Bài viết:
    174
    Nơi ở:
    Hồ Chí Minh
    Sao thì tui cũng bó tay! :D

    Thư mục "Logo" đã chạy bình thường thì chắc chắn thư mục "Text" sẽ chạy bình thường.

    Nhưng điều quan trọng nhất là bác chứa cái gì trong thằng "Text" chứ?
     
  17. Cure All

    Cure All Donkey Kong Lão Làng GVN

    Tham gia ngày:
    26/2/07
    Bài viết:
    387
    Trời đất còn phải hỏi
    file text của Script TextScroll...chứ còn gì nữa
     
  18. Xx_Ice_Dragon_xX

    Xx_Ice_Dragon_xX Donkey Kong

    Tham gia ngày:
    19/4/06
    Bài viết:
    345
    Nơi ở:
    Đến từ chỗ ấy
    chán wá,ko ngờ rmxp của gamevn sa sút quá,hix,hix
    dùng script battle minkoff cũng được
    viết = Ruby,còn chỗ nghiên cứu thì tui bóa tay
    tắt đi,bật lại,nếu vẫn bị thì chịu,vì tui chỉ bị đúng 1 lần,nhưng mà tắt bật lại là hết
    đăng kí đi,mà web đó load lâu thấy mồ,qua rmxp.org mà xem còn hay hơn
    script nì
    Mã:
    TRAIN_ACTOR_TRANSPARENT_SWITCH = true
    TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX = 20
    # ------------------------------------
    DOWN_LEFT  = 1
    DOWN_RIGHT = 3
    UP_LEFT    = 7
    UP_RIGHT  = 9
    JUMP      = 5
    # ------------------------------------
    class Game_Party_Actor < Game_Character
    # ------------------------------------
      def initialize
        super()
        @through = true
      end
    # ------------------------------------
      def setup(actor)
        if actor != nil
          @character_name = actor.character_name
          @character_hue = actor.character_hue
        else
          @character_name = ""
          @character_hue = 0
        end
        @opacity = 255
        @blend_type = 0
      end
    # ------------------------------------
      def screen_z(height = 0)
        if $game_player.x == @x and $game_player.y == @y
          return $game_player.screen_z(height) - 1
        end
        super(height)
      end
    # ------------------------------------  
      def move_down(turn_enabled = true)
        if turn_enabled
          turn_down
        end
        if passable?(@x, @y, Input::DOWN)
          turn_down
          @y += 1
        end
      end
    # ------------------------------------ 
      def move_left(turn_enabled = true)
        if turn_enabled
          turn_left
        end
        if passable?(@x, @y, Input::LEFT)
          turn_left
          @x -= 1
        end
      end
    # ------------------------------------
      def move_right(turn_enabled = true)
        if turn_enabled
          turn_right
        end
        if passable?(@x, @y, Input::RIGHT)
          turn_right
          @x += 1
        end
      end
    # ------------------------------------ 
      def move_up(turn_enabled = true)
        if turn_enabled
          turn_up
        end
        if passable?(@x, @y, Input::UP)
          turn_up
          @y -= 1
        end
      end
    # ------------------------------------
      def move_lower_left
        unless @direction_fix
          @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
        end
        if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
          (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
          @x -= 1
          @y += 1
        end
      end
    # ------------------------------------ 
      def move_lower_right
        unless @direction_fix
          @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
        end
        if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
          (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
          @x += 1
          @y += 1
        end
      end
    # ------------------------------------ 
      def move_upper_left
        unless @direction_fix
          @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
        end
        if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
          (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
          @x -= 1
          @y -= 1
        end
      end
    # ------------------------------------
      def move_upper_right
        unless @direction_fix
          @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
        end
        if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
          (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
          @x += 1
          @y -= 1
        end
      end
    # ------------------------------------
      def set_move_speed(move_speed)
        @move_speed = move_speed
      end
    end
    
     
    
    
    class Spriteset_Map
    # ------------------------------------
      def setup_actor_character_sprites?
        return @setup_actor_character_sprites_flag != nil
      end
    # ------------------------------------
      def setup_actor_character_sprites(characters)
        if !setup_actor_character_sprites?
          index_game_player = 0
          @character_sprites.each_index do |i|
            if @character_sprites[i].character.instance_of?(Game_Player)
              index_game_player = i
              break
            end
          end
          for character in characters.reverse
            @character_sprites.unshift(
              Sprite_Character.new(@viewport1, character)
            )
          end
          @setup_actor_character_sprites_flag = true
        end
      end
    end
    
     
    
    
    class Scene_Map
    # ------------------------------------
      def setup_actor_character_sprites(characters)
        @spriteset.setup_actor_character_sprites(characters)
      end
    end
    
     
    
    
    class Game_Party
    # ------------------------------------
      def set_transparent_actors(transparent)
        @transparent = transparent
      end
    # ------------------------------------
      def setup_actor_character_sprites
        if @characters == nil
          @characters = []
          for i in 1 .. 5
            @characters.push(Game_Party_Actor.new)
          end
        end
        if @actors_chach == nil
          @actors_chach = []
        end
        if @actors_chach != @actors
          @actors_chach = @actors.clone
          for i in 1 .. 5
            @characters[i - 1].setup(actors[i])
          end
        end
        if $scene.instance_of?(Scene_Map)
          $scene.setup_actor_character_sprites(@characters)
        end
      end
    # ------------------------------------
      def update_party_actors
        setup_actor_character_sprites
        transparent = $game_player.transparent
        if transparent == false
          if TRAIN_ACTOR_TRANSPARENT_SWITCH
            transparent = $game_switches[TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX]
          else
            transparent = $game_player.transparent
          end
        end
        for character in @characters
          character.transparent = transparent
          character.set_move_speed($game_player.get_move_speed)
          character.update
        end
      end
    # ------------------------------------
      def moveto_party_actors( x, y )
        setup_actor_character_sprites
        for character in @characters
          character.moveto( x, y )
        end
        if @move_list == nil
          @move_list = []
        end
        for i in 0 .. 10
          @move_list[i] = nil
        end
      end
      def move_party_actors
        if @move_list == nil
          @move_list = []
          for i in 0 .. 10
            @move_list[i] = nil
          end
        end
        @move_list.each_index do |i|
          if @characters[i] != nil
            case @move_list[i].type
              when Input::DOWN
                @characters[i].move_down(@move_list[i].args[0])
              when Input::LEFT
                @characters[i].move_left(@move_list[i].args[0])
              when Input::RIGHT
                @characters[i].move_right(@move_list[i].args[0])
              when Input::UP
                @characters[i].move_up(@move_list[i].args[0])
              when DOWN_LEFT
                @characters[i].move_lower_left
              when DOWN_RIGHT
                @characters[i].move_lower_right
              when UP_LEFT
                @characters[i].move_upper_left
              when UP_RIGHT
                @characters[i].move_upper_right
              when JUMP
                @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1])
            end
          end
        end
      end
    
     
    
    
     class Move_List_Element
    # ------------------------------------
        def initialize(type,args)
          @type = type
          @args = args
        end
        def type() return @type end
        def args() return @args end
      end
    # ------------------------------------
      def add_move_list(type,*args)
        @move_list.unshift(Move_List_Element.new(type,args)).pop
      end
    # ------------------------------------
      def move_down_party_actors(turn_enabled = true)
        move_party_actors
        add_move_list(Input::DOWN,turn_enabled)
      end
    # ------------------------------------
      def move_left_party_actors(turn_enabled = true)
        move_party_actors
        add_move_list(Input::LEFT,turn_enabled)
      end
    # ------------------------------------
      def move_right_party_actors(turn_enabled = true)
        move_party_actors
        add_move_list(Input::RIGHT,turn_enabled)
      end
    # ------------------------------------
      def move_up_party_actors(turn_enabled = true)
        move_party_actors
        add_move_list(Input::UP,turn_enabled)
      end
    # ------------------------------------
      def move_lower_left_party_actors
        move_party_actors
        add_move_list(DOWN_LEFT)
      end
    # ------------------------------------
      def move_lower_right_party_actors
        move_party_actors
        add_move_list(DOWN_RIGHT)
      end
    # ------------------------------------
      def move_upper_left_party_actors
        move_party_actors
        add_move_list(UP_LEFT)
      end
    # ------------------------------------
      def move_upper_right_party_actors
        move_party_actors
        add_move_list(UP_RIGHT)
      end
    # ------------------------------------
      def jump_party_actors(x_plus, y_plus)
        move_party_actors
        add_move_list(JUMP,x_plus, y_plus)
      end
    end
    
     
    
    
    module Game_Player_Module
    # ------------------------------------
      def update
        $game_party.update_party_actors
        super
      end
    # ------------------------------------
      def moveto( x, y )
        super
        $game_party.moveto_party_actors( x, y )
      end
    # ------------------------------------
      def move_down(turn_enabled = true)
        if passable?(@x, @y, Input::DOWN)
          $game_party.move_down_party_actors(turn_enabled)
        end
        super(turn_enabled)
      end
    # ------------------------------------
      def move_left(turn_enabled = true)
        if passable?(@x, @y, Input::LEFT)
          $game_party.move_left_party_actors(turn_enabled)
        end
        super(turn_enabled)
      end
    # ------------------------------------
      def move_right(turn_enabled = true)
        if passable?(@x, @y, Input::RIGHT)
          $game_party.move_right_party_actors(turn_enabled)
        end
        super(turn_enabled)
      end
    # ------------------------------------
      def move_up(turn_enabled = true)
        if passable?(@x, @y, Input::UP)
          $game_party.move_up_party_actors(turn_enabled)
        end
        super(turn_enabled)
      end
    # ------------------------------------
      def move_lower_left
        if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
          (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
          $game_party.move_lower_left_party_actors
        end
        super
      end
    # ------------------------------------
      def move_lower_right
        if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
          (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
          $game_party.move_lower_right_party_actors
        end
        super
      end
    # ------------------------------------
      def move_upper_left
        if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
          (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
          $game_party.move_upper_left_party_actors
        end
        super
      end
    # ------------------------------------
      def move_upper_right
        if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
          (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
          $game_party.move_upper_right_party_actors
        end
        super
      end
    # ------------------------------------
      def jump(x_plus, y_plus)
        new_x = @x + x_plus
        new_y = @y + y_plus
        if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
          $game_party.jump_party_actors(x_plus, y_plus)
        end
        super(x_plus, y_plus)
      end
    # ------------------------------------
     def get_move_speed
        return @move_speed
      end
    end
    
     
    
    
    class Game_Player
      include Game_Player_Module
    end
    
    battle minkoff,qua rmxp.org mà kiếm
     
  19. B Boy HP

    B Boy HP Legend of Zelda GameOver

    Tham gia ngày:
    29/8/07
    Bài viết:
    984
    Nơi ở:
    Hải Phòng
    VL , lâu lắm ko vào đây với anh em !

    !
     
  20. sanosuke999

    sanosuke999 Youtube Master Race

    Tham gia ngày:
    2/9/07
    Bài viết:
    7
    tui tạo đoạn phim giới thiệu game bằng event cho tét thử thì thấy rất ok nhưng wa hôm sau thì rmxp báo unable load data/map000.rx mặc dù tui không xóa cái map nào hết . tại sao ? xin chỉ giáo
     

Chia sẻ trang này