设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 冰舞蝶恋
打印 上一主题 下一主题

[推荐问答] 【<菜鸟问题收容所> 】

   关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
461 小时
注册时间
2008-11-19
帖子
607
821
发表于 2011-12-8 10:17:48 | 只看该作者
本帖最后由 sai90306 于 2011-12-8 10:24 编辑
feizhaodan 发表于 2011-12-8 06:23
好吧,比如说你要让她在ID5的事件内离开队伍,拿你就在ID5的事件内把该事件的位置代入变量。

我个人是刚 ...


謝謝大大提醒 我以為新手不能發附件...所以用外連了@@ <<<已經改正
如果想用離隊腳本來讓角色離隊的話有辦法實現嗎?
CODE如下
忘記是引用哪一位大大的CODE了....
  1.     #==============================================================================
  2.     # ■ Scene_Menu
  3.     #------------------------------------------------------------------------------
  4.     #  处理菜单画面的类。
  5.     #==============================================================================

  6.     class Scene_Menu
  7.     #--------------------------------------------------------------------------
  8.     # ● 初始化对像
  9.     #     menu_index : 命令光标的初期位置
  10.     #--------------------------------------------------------------------------
  11.     def initialize(menu_index = 0)
  12.        @menu_index = menu_index
  13.     end
  14.     #--------------------------------------------------------------------------
  15.     # ● 主处理
  16.     #--------------------------------------------------------------------------
  17.     def main
  18.        # 生成命令窗口
  19.        s1 = $data_system.words.item
  20.        s2 = $data_system.words.skill
  21.        s3 = $data_system.words.equip
  22.        s4 = "状态"
  23.        s5 = "离队"
  24.        s6 = "存档"   
  25.        s7 = "结束游戏"
  26.        @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
  27.        @command_window.index = @menu_index
  28.        # 同伴人数为 0 的情况下
  29.        if $game_party.actors.size == 0
  30.          # 物品、特技、装备、状态无效化
  31.          @command_window.disable_item(0)
  32.          @command_window.disable_item(1)
  33.          @command_window.disable_item(2)
  34.          @command_window.disable_item(3)
  35.        end
  36.        if $game_switches[1]
  37.          @command_window.disable_item(6)
  38.          end
  39.        # 禁止存档的情况下
  40.        if $game_system.save_disabled
  41.          # 存档无效
  42.          @command_window.disable_item(4)
  43.        end
  44.        # 生成游戏时间窗口
  45.        @playtime_window = Window_PlayTime.new
  46.        @playtime_window.x = 0
  47.        @playtime_window.y = 320
  48.        # 生成步数窗口
  49.        #@steps_window = Window_Steps.new
  50.        #@steps_window.x = 0
  51.        #@steps_window.y = 320
  52.        # 生成金钱窗口
  53.        @gold_window = Window_Gold.new
  54.        @gold_window.x = 0
  55.        @gold_window.y = 416
  56.        # 生成状态窗口
  57.        @status_window = Window_MenuStatus.new
  58.        @status_window.x = 160
  59.        @status_window.y = 0
  60.        # 执行过渡
  61.        Graphics.transition
  62.        # 主循环
  63.        loop do
  64.          # 刷新游戏画面
  65.          Graphics.update
  66.          # 刷新输入信息
  67.          Input.update
  68.          # 刷新画面
  69.          update
  70.          # 如果切换画面就中断循环
  71.          if $scene != self
  72.            break
  73.          end
  74.        end
  75.        # 准备过渡
  76.        Graphics.freeze
  77.        # 释放窗口
  78.        @command_window.dispose
  79.        @playtime_window.dispose
  80.        #@steps_window.dispose
  81.        @gold_window.dispose
  82.        @status_window.dispose
  83.     end
  84.     #--------------------------------------------------------------------------
  85.     # ● 刷新画面
  86.     #--------------------------------------------------------------------------
  87.     def update
  88.        # 刷新窗口
  89.        @command_window.update
  90.        @playtime_window.update
  91.        #@steps_window.update
  92.        @gold_window.update
  93.        @status_window.update
  94.        # 命令窗口被激活的情况下: 调用 update_command
  95.        if @command_window.active
  96.          update_command
  97.          return
  98.        end
  99.        # 状态窗口被激活的情况下: 调用 update_status
  100.        if @status_window.active
  101.          update_status
  102.          return
  103.        end
  104.     end
  105.     #--------------------------------------------------------------------------
  106.     # ● 刷新画面 (命令窗口被激活的情况下)
  107.     #--------------------------------------------------------------------------
  108.     def update_command
  109.        # 按下 B 键的情况下
  110.        if Input.trigger?(Input::B)
  111.          # 演奏取消 SE
  112.          $game_system.se_play($data_system.cancel_se)
  113.          # 切换的地图画面
  114.          $scene = Scene_Map.new
  115.          return
  116.        end
  117.        # 按下 C 键的情况下
  118.        if Input.trigger?(Input::C)
  119.          # 同伴人数为 0、存档、游戏结束以外的场合
  120.          if $game_party.actors.size == 0 and @command_window.index < 4
  121.            # 演奏冻结 SE
  122.            $game_system.se_play($data_system.buzzer_se)
  123.            return
  124.          end
  125.          # 命令窗口的光标位置分支
  126.          case @command_window.index
  127.          when 0  # 物品
  128.            # 演奏确定 SE
  129.            $game_system.se_play($data_system.decision_se)
  130.            # 切换到物品画面
  131.            $scene = Scene_Item.new
  132.          when 1  # 特技
  133.            # 演奏确定 SE
  134.            $game_system.se_play($data_system.decision_se)
  135.            # 激活状态窗口
  136.            @command_window.active = false
  137.            @status_window.active = true
  138.            @status_window.index = 0
  139.          when 2  # 装备
  140.            # 演奏确定 SE
  141.            $game_system.se_play($data_system.decision_se)
  142.            # 激活状态窗口
  143.            @command_window.active = false
  144.            @status_window.active = true
  145.            @status_window.index = 0
  146.          when 3  # 状态
  147.            # 演奏确定 SE
  148.            $game_system.se_play($data_system.decision_se)
  149.            # 激活状态窗口
  150.            @command_window.active = false
  151.            @status_window.active = true
  152.            @status_window.index = 0   
  153.          when 4  # 离队
  154.           if $game_switches[1]
  155.             $game_system.se_play($data_system.buzzer_se)
  156.             else
  157.             $game_system.se_play($data_system.decision_se)
  158.             @command_window.active = false
  159.             @status_window.active = true
  160.             @status_window.index = 0
  161.           end
  162.          when 5  # 存档
  163.            # 禁止存档的情况下
  164.            if $game_system.save_disabled
  165.              # 演奏冻结 SE
  166.              $game_system.se_play($data_system.buzzer_se)
  167.              return
  168.            end
  169.            # 演奏确定 SE
  170.            $game_system.se_play($data_system.decision_se)
  171.            # 切换到存档画面
  172.            $scene = Scene_Save.new  
  173.          when 6  # 游戏结束
  174.            # 演奏确定 SE
  175.            $game_system.se_play($data_system.decision_se)
  176.            # 切换到游戏结束画面
  177.            $scene = Scene_End.new      
  178.          end
  179.          return
  180.        end
  181.     end
  182.     #--------------------------------------------------------------------------
  183.     # ● 刷新画面 (状态窗口被激活的情况下)
  184.     #--------------------------------------------------------------------------
  185.     def update_status
  186.        # 按下 B 键的情况下
  187.        if Input.trigger?(Input::B)
  188.          # 演奏取消 SE
  189.          $game_system.se_play($data_system.cancel_se)
  190.          # 激活命令窗口
  191.          @command_window.active = true
  192.          @status_window.active = false
  193.          @status_window.index = -1
  194.          return
  195.        end
  196.        # 按下 C 键的情况下
  197.        if Input.trigger?(Input::C)
  198.          # 命令窗口的光标位置分支
  199.          case @command_window.index
  200.          when 1  # 特技
  201.            # 本角色的行动限制在 2 以上的情况下
  202.            if $game_party.actors[@status_window.index].restriction >= 2
  203.              # 演奏冻结 SE
  204.              $game_system.se_play($data_system.buzzer_se)
  205.              return
  206.            end
  207.            # 演奏确定 SE
  208.            $game_system.se_play($data_system.decision_se)
  209.            # 切换到特技画面
  210.            $scene = Scene_Skill.new(@status_window.index)
  211.          when 2  # 装备
  212.            # 演奏确定 SE
  213.            $game_system.se_play($data_system.decision_se)
  214.            # 切换的装备画面
  215.            $scene = Scene_Equip.new(@status_window.index)
  216.          when 3  # 状态
  217.            # 演奏确定 SE
  218.            $game_system.se_play($data_system.decision_se)
  219.            # 切换到状态画面
  220.            $scene = Scene_Status.new(@status_window.index)
  221.          when 4
  222.           if @status_window.index == 0
  223.            $game_system.se_play($data_system.buzzer_se)
  224.          else
  225.            @actor = $game_party.actors[@status_window.index]
  226.            $game_system.se_play($data_system.decision_se)
  227.            $game_party.actors.delete(@actor)
  228.            $game_player.refresh
  229.            $scene = Scene_Menu.new(6)
  230.            end
  231.          end
  232.          return
  233.        end
  234.     end
  235.     end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
51
在线时间
1306 小时
注册时间
2009-12-13
帖子
1109
822
发表于 2011-12-8 10:39:07 | 只看该作者
小白玩家 发表于 2011-12-8 09:49
回答819楼的问题
不知道你有没看过这个地址http://rpg.blue/thread-215634-1-1.html
...

这个血条完全是用脚本做的吧,
没有事件做的血条或者MP和SP吗。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
51
在线时间
1306 小时
注册时间
2009-12-13
帖子
1109
823
发表于 2011-12-8 10:40:39 | 只看该作者
小白玩家 发表于 2011-12-8 09:49
回答819楼的问题
不知道你有没看过这个地址http://rpg.blue/thread-215634-1-1.html
...

这个血条完全是用脚本做的吧,
没有事件做的血条或者MP和SP吗。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
448
在线时间
628 小时
注册时间
2011-9-27
帖子
3996
824
发表于 2011-12-8 10:48:01 | 只看该作者
本帖最后由 小白玩家 于 2011-12-8 11:51 编辑
sai90306 发表于 2011-12-8 10:17
謝謝大大提醒 我以為新手不能發附件...所以用外連了@@


回答821楼的问题
已经帮你做了范例,只做了怕吉尔离开出现,可以和他对话从新加入

Project1.rar

186.82 KB, 下载次数: 26

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
冰舞蝶恋 + 200 + 2 TvT此楼XP触一枚入……

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
461 小时
注册时间
2008-11-19
帖子
607
825
发表于 2011-12-8 14:07:35 | 只看该作者
小白玩家 发表于 2011-12-8 10:48
回答821楼的问题
已经帮你做了范例,只做了怕吉尔离开出现,可以和他对话从新加入 ...

太感謝了!可以完美運行! 而且寫法好精練@@

但是要換地圖的時候好像也必須把事件一併複製過去才會有效

這樣就要在每一張地圖上都放上這個事件...才能實現隨時把角色留在某個地圖上?

不知道能不能用腳本的方式讓 能夠入隊的腳色都能夠實現離隊時留在原地?

因為希望設計自由度比較高的遊戲 所以要求很彆扭><

希望可以再請大大們指教!


譬如從(好像是)八方形走+角色跟隨腳本裡面(如下),
調用離隊(前)時角色的位置(譬如a,b) 然後判斷角色不在隊伍時將角色移動到a,b上...
要怎麼改寫呢? 可以在八方形走+角色跟隨腳本的最後加上類似....(下面懵懵懂懂寫的小小白代碼...)來實現嗎?

    def leave_local(leave_x,leave_y)
      super
      leave_x=x
      leave_y=y
    end
    if $game_party.include?(@character_name)
    else
      x= leave_x
      y= leave_y
      character.update
    end


原八方形走+角色跟隨腳本:
  1.     # ▼▲▼ XRXS13. Train_Actor ▼▲▼
  2.     # by fukuyama
  3.     #
  4.     # [email protected]
  5.     # http://www4.big.or.jp/~fukuyama/
  6.     #

  7.     # ●透明状態用スイッチ設定
  8.     # true だとスイッチ制御を行う
  9.     # TRAIN_ACTOR_TRANSPARENT_SWITCH = true
  10.     TRAIN_ACTOR_TRANSPARENT_SWITCH = true

  11.     # ●透明状態用スイッチ番号
  12.     # この番号のスイッチがONだと透明になる
  13.     #設定跟隨系統的開關
  14.     TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX = 1

  15.     # ●アクターの最大数
  16.     # 将来的に多人数パーティが出来るようになったら…
  17.     TRAIN_ACTOR_SIZE_MAX = 4

  18.     # 定数
  19.     #Input::DOWN = 2 # この辺はちゃんと定数あった…
  20.     #Input::LEFT = 4
  21.     #Input::RIGHT = 6
  22.     #Input::UP = 8
  23.     DOWN_LEFT = 1
  24.     DOWN_RIGHT = 3
  25.     UP_LEFT = 7
  26.     UP_RIGHT = 9
  27.     JUMP = 5

  28.     class Game_Party_Actor < Game_Character
  29.     def initialize
  30.     super()
  31.     @through = true
  32.     end
  33.     def setup(actor)
  34.     # キャラクターのファイル名と色相を設定
  35.     if actor != nil
  36.     @character_name = actor.character_name
  37.     @character_hue = actor.character_hue
  38.     else
  39.     @character_name = ""
  40.     @character_hue = 0
  41.     end
  42.     # 不透明度と合成方法を初期化
  43.     @opacity = 255
  44.     @blend_type = 0
  45.     end
  46.     def screen_z(height = 0)
  47.     if $game_player.x == @x and $game_player.y == @y
  48.     return $game_player.screen_z(height) - 1
  49.     end
  50.     super(height)
  51.     end
  52.     #--------------------------------------------------------------------------
  53.     # ● 下に移動
  54.     # turn_enabled : その場での向き変更を許可するフラグ
  55.     #--------------------------------------------------------------------------
  56.     def move_down(turn_enabled = true)
  57.     # 下を向く
  58.     if turn_enabled
  59.     turn_down
  60.     end
  61.     # 通行可能な場合
  62.     if passable?(@x, @y, Input::DOWN)
  63.     # 下を向く
  64.     turn_down
  65.     # 座標を更新
  66.     @y += 1
  67.     end
  68.     end
  69.     #--------------------------------------------------------------------------
  70.     # ● 左に移動
  71.     # turn_enabled : その場での向き変更を許可するフラグ
  72.     #--------------------------------------------------------------------------
  73.     def move_left(turn_enabled = true)
  74.     # 左を向く
  75.     if turn_enabled
  76.     turn_left
  77.     end
  78.     # 通行可能な場合
  79.     if passable?(@x, @y, Input::LEFT)
  80.     # 左を向く
  81.     turn_left
  82.     # 座標を更新
  83.     @x -= 1
  84.     end
  85.     end
  86.     #--------------------------------------------------------------------------
  87.     # ● 右に移動
  88.     # turn_enabled : その場での向き変更を許可するフラグ
  89.     #--------------------------------------------------------------------------
  90.     def move_right(turn_enabled = true)
  91.     # 右を向く
  92.     if turn_enabled
  93.     turn_right
  94.     end
  95.     # 通行可能な場合
  96.     if passable?(@x, @y, Input::RIGHT)
  97.     # 右を向く
  98.     turn_right
  99.     # 座標を更新
  100.     @x += 1
  101.     end
  102.     end
  103.     #--------------------------------------------------------------------------
  104.     # ● 上に移動
  105.     # turn_enabled : その場での向き変更を許可するフラグ
  106.     #--------------------------------------------------------------------------
  107.     def move_up(turn_enabled = true)
  108.     # 上を向く
  109.     if turn_enabled
  110.     turn_up
  111.     end
  112.     # 通行可能な場合
  113.     if passable?(@x, @y, Input::UP)
  114.     # 上を向く
  115.     turn_up
  116.     # 座標を更新
  117.     @y -= 1
  118.     end
  119.     end
  120.     #--------------------------------------------------------------------------
  121.     # ● 左下に移動
  122.     #--------------------------------------------------------------------------
  123.     def move_lower_left
  124.     # 向き固定でない場合
  125.     unless @direction_fix
  126.     # 右向きだった場合は左を、上向きだった場合は下を向く
  127.     @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
  128.     end
  129.     # 下→左、左→下 のどちらかのコースが通行可能な場合
  130.     if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  131.     (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  132.     # 座標を更新
  133.     @x -= 1
  134.     @y += 1
  135.     end
  136.     end
  137.     #--------------------------------------------------------------------------
  138.     # ● 右下に移動
  139.     #--------------------------------------------------------------------------
  140.     def move_lower_right
  141.     # 向き固定でない場合
  142.     unless @direction_fix
  143.     # 左向きだった場合は右を、上向きだった場合は下を向く
  144.     @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
  145.     end
  146.     # 下→右、右→下 のどちらかのコースが通行可能な場合
  147.     if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  148.     (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  149.     # 座標を更新
  150.     @x += 1
  151.     @y += 1
  152.     end
  153.     end
  154.     #--------------------------------------------------------------------------
  155.     # ● 左上に移動
  156.     #--------------------------------------------------------------------------
  157.     def move_upper_left
  158.     # 向き固定でない場合
  159.     unless @direction_fix
  160.     # 右向きだった場合は左を、下向きだった場合は上を向く
  161.     @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
  162.     end
  163.     # 上→左、左→上 のどちらかのコースが通行可能な場合
  164.     if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  165.     (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  166.     # 座標を更新
  167.     @x -= 1
  168.     @y -= 1
  169.     end
  170.     end
  171.     #--------------------------------------------------------------------------
  172.     # ● 右上に移動
  173.     #--------------------------------------------------------------------------
  174.     def move_upper_right
  175.     # 向き固定でない場合
  176.     unless @direction_fix
  177.     # 左向きだった場合は右を、下向きだった場合は上を向く
  178.     @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
  179.     end
  180.     # 上→右、右→上 のどちらかのコースが通行可能な場合
  181.     if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  182.     (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  183.     # 座標を更新
  184.     @x += 1
  185.     @y -= 1
  186.     end
  187.     end

  188.     attr_writer :move_speed
  189.     end

  190.     module Train_Actor_Spriteset_Map_Module
  191.     def setup_actor_character_sprites?
  192.     return @setup_actor_character_sprites_flag != nil
  193.     end
  194.     def setup_actor_character_sprites(characters)
  195.     if !setup_actor_character_sprites?
  196.     index_game_player = 0
  197.     @character_sprites.each_index do |i|
  198.     if @character_sprites[i].character.instance_of?(Game_Player)
  199.     index_game_player = i
  200.     break
  201.     end
  202.     end
  203.     for character in characters.reverse
  204.     @character_sprites.unshift(
  205.     Sprite_Character.new(@viewport1, character)
  206.     )
  207.     end
  208.     @setup_actor_character_sprites_flag = true
  209.     end
  210.     end
  211.     end

  212.     module Train_Actor_Scene_Map_Module
  213.     def setup_actor_character_sprites(characters)
  214.     @spriteset.setup_actor_character_sprites(characters)
  215.     end
  216.     end

  217.     module Train_Actor_Game_Party_Module
  218.     def set_transparent_actors(transparent)
  219.     @transparent = transparent
  220.     end
  221.     def setup_actor_character_sprites
  222.     if @characters == nil
  223.     @characters = []
  224.     for i in 1 ... TRAIN_ACTOR_SIZE_MAX
  225.     @characters.push(Game_Party_Actor.new)
  226.     end
  227.     end
  228.     for i in 1 ... TRAIN_ACTOR_SIZE_MAX
  229.     @characters[i - 1].setup(actors[i])
  230.     end
  231.     if $scene.instance_of?(Scene_Map)
  232.     $scene.setup_actor_character_sprites(@characters)
  233.     end
  234.     end
  235.     def update_party_actors
  236.     setup_actor_character_sprites
  237.     transparent = $game_player.transparent
  238.     if transparent == false
  239.     if TRAIN_ACTOR_TRANSPARENT_SWITCH
  240.     transparent = $game_switches[TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX]
  241.     end
  242.     end
  243.     for character in @characters
  244.     character.transparent = transparent
  245.     character.move_speed = $game_player.move_speed
  246.     character.update
  247.     end
  248.     end
  249.     def moveto_party_actors( x, y )
  250.     setup_actor_character_sprites
  251.     for character in @characters
  252.     character.moveto( x, y )
  253.     end
  254.     if @move_list == nil
  255.     @move_list = []
  256.     end
  257.     move_list_setup
  258.     end
  259.     def move_party_actors
  260.     if @move_list == nil
  261.     @move_list = []
  262.     move_list_setup
  263.     end
  264.     @move_list.each_index do |i|
  265.     if @characters[i] != nil
  266.     case @move_list[i].type
  267.     when Input::DOWN
  268.     @characters[i].move_down(@move_list[i].args[0])
  269.     when Input::LEFT
  270.     @characters[i].move_left(@move_list[i].args[0])
  271.     when Input::RIGHT
  272.     @characters[i].move_right(@move_list[i].args[0])
  273.     when Input::UP
  274.     @characters[i].move_up(@move_list[i].args[0])
  275.     when DOWN_LEFT
  276.     @characters[i].move_lower_left
  277.     when DOWN_RIGHT
  278.     @characters[i].move_lower_right
  279.     when UP_LEFT
  280.     @characters[i].move_upper_left
  281.     when UP_RIGHT
  282.     @characters[i].move_upper_right
  283.     when JUMP
  284.     @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1])
  285.     end
  286.     end
  287.     end
  288.     end
  289.     class Train_Actor_Move_List_Element
  290.     def initialize(type,args)
  291.     @type = type
  292.     @args = args
  293.     end
  294.     def type() return @type end
  295.     def args() return @args end
  296.     end
  297.     def move_list_setup
  298.     for i in 0 .. TRAIN_ACTOR_SIZE_MAX
  299.     @move_list[i] = nil
  300.     end
  301.     end
  302.     def add_move_list(type,*args)
  303.     @move_list.unshift(Train_Actor_Move_List_Element.new(type,args)).pop
  304.     end
  305.     def move_down_party_actors(turn_enabled = true)
  306.     move_party_actors
  307.     add_move_list(Input::DOWN,turn_enabled)
  308.     end
  309.     def move_left_party_actors(turn_enabled = true)
  310.     move_party_actors
  311.     add_move_list(Input::LEFT,turn_enabled)
  312.     end
  313.     def move_right_party_actors(turn_enabled = true)
  314.     move_party_actors
  315.     add_move_list(Input::RIGHT,turn_enabled)
  316.     end
  317.     def move_up_party_actors(turn_enabled = true)
  318.     move_party_actors
  319.     add_move_list(Input::UP,turn_enabled)
  320.     end
  321.     def move_lower_left_party_actors
  322.     move_party_actors
  323.     add_move_list(DOWN_LEFT)
  324.     end
  325.     def move_lower_right_party_actors
  326.     move_party_actors
  327.     add_move_list(DOWN_RIGHT)
  328.     end
  329.     def move_upper_left_party_actors
  330.     move_party_actors
  331.     add_move_list(UP_LEFT)
  332.     end
  333.     def move_upper_right_party_actors
  334.     move_party_actors
  335.     add_move_list(UP_RIGHT)
  336.     end
  337.     def jump_party_actors(x_plus, y_plus)
  338.     move_party_actors
  339.     add_move_list(JUMP,x_plus, y_plus)
  340.     end
  341.     end

  342.     module Train_Actor_Game_Player_Module
  343.     def update
  344.     $game_party.update_party_actors
  345.     super
  346.     end
  347.     def moveto( x, y )
  348.     $game_party.moveto_party_actors( x, y )
  349.     super( x, y )
  350.     end
  351.     def move_down(turn_enabled = true)
  352.     if passable?(@x, @y, Input::DOWN)
  353.     $game_party.move_down_party_actors(turn_enabled)
  354.     end
  355.     super(turn_enabled)
  356.     end
  357.     def move_left(turn_enabled = true)
  358.     if passable?(@x, @y, Input::LEFT)
  359.     $game_party.move_left_party_actors(turn_enabled)
  360.     end
  361.     super(turn_enabled)
  362.     end
  363.     def move_right(turn_enabled = true)
  364.     if passable?(@x, @y, Input::RIGHT)
  365.     $game_party.move_right_party_actors(turn_enabled)
  366.     end
  367.     super(turn_enabled)
  368.     end
  369.     def move_up(turn_enabled = true)
  370.     if passable?(@x, @y, Input::UP)
  371.     $game_party.move_up_party_actors(turn_enabled)
  372.     end
  373.     super(turn_enabled)
  374.     end
  375.     def move_lower_left
  376.     # 下→左、左→下 のどちらかのコースが通行可能な場合
  377.     if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  378.     (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  379.     $game_party.move_lower_left_party_actors
  380.     end
  381.     super
  382.     end
  383.     def move_lower_right
  384.     # 下→右、右→下 のどちらかのコースが通行可能な場合
  385.     if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  386.     (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  387.     $game_party.move_lower_right_party_actors
  388.     end
  389.     super
  390.     end
  391.     def move_upper_left
  392.     # 上→左、左→上 のどちらかのコースが通行可能な場合
  393.     if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  394.     (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  395.     $game_party.move_upper_left_party_actors
  396.     end
  397.     super
  398.     end
  399.     def move_upper_right
  400.     # 上→右、右→上 のどちらかのコースが通行可能な場合
  401.     if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  402.     (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  403.     $game_party.move_upper_right_party_actors
  404.     end
  405.     super
  406.     end
  407.     def jump(x_plus, y_plus)
  408.     # 新しい座標を計算
  409.     new_x = @x + x_plus
  410.     new_y = @y + y_plus
  411.     # 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合
  412.     if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
  413.     $game_party.jump_party_actors(x_plus, y_plus)
  414.     end
  415.     super(x_plus, y_plus)
  416.     end

  417.     # -----------------------------------------------
  418.     # move_speed を外から見れるように
  419.     # -----------------------------------------------
  420.     attr_reader :move_speed
  421.     end

  422.     class Game_Party
  423.     include Train_Actor_Game_Party_Module
  424.     end

  425.     class Game_Player
  426.     include Train_Actor_Game_Player_Module
  427.     end

  428.     class Spriteset_Map
  429.     include Train_Actor_Spriteset_Map_Module
  430.     end

  431.     class Scene_Map
  432.     include Train_Actor_Scene_Map_Module
  433.     end

  434.     # Train_Actor

  435.   
  436.    
复制代码
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
82 小时
注册时间
2011-11-26
帖子
16
826
发表于 2011-12-8 20:58:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
330
在线时间
13 小时
注册时间
2011-12-10
帖子
2
827
发表于 2011-12-10 21:28:29 | 只看该作者
本帖最后由 Vexas 于 2011-12-11 11:19 编辑

https://rpg.blue/forum.php?mod=attachment&aid=ODkwNTl8ZTExNWJmOGYyYzMyZjNlOTEyYmU2YzA0ZTY2MmY3ZTR8MTczMTYzMzg2MA%3D%3D&request=yes&_f=.jpg战斗菜单和队伍能改么,改成类似这样……
左边己方右边敌方,左下角战斗菜单,依次下来是名字,攻击,技能,魔法,特殊,团队Combo,极限突破(能否设置成HP低于百分之多少的时候才可以发动?左边的竖条是翻页,下一页是防御,资料,切换战斗队员,物品,逃跑和变身(能在战斗中变身么……?)。右边一格格的是类似于MP的SP槽,用来支付特殊技能的消耗,两条长的是HP和MP,HP上面的框上面的人物图是现在选择的人物,左边的名字是切换到那个人物,可以看那个人物的HP和MP之类的……出招依然按人物的速度。框框右边的两个格子,上面是人物的变身情况,(现在是Super形态),下面的是异常状态。Turn 001就是回合数……右上角是BOSS的HP,左边的两个格子一样。(下面的小格可以不要……是HP的条数,打掉一条暗一格),大框是人物头像……要求是不是很多……有哪些可以更改哪些不能改……?
http://www.7k7k.com/swf/37646.htm
我想做和这个基本相同的战斗模式,比如动态的人物战斗图和不同攻击时的动作什么的……

IMG.jpg (499.72 KB, 下载次数: 16)

IMG.jpg

点评

该图片仅限百度用户交流使用  发表于 2011-12-11 11:14
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
461 小时
注册时间
2008-11-19
帖子
607
828
发表于 2011-12-11 07:02:11 | 只看该作者
问题名称:小白又來了!!
问题状况:請問要如何才能用腳本取得在隊伍中所有角色的ID呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

829
发表于 2011-12-11 10:47:50 | 只看该作者
本帖最后由 feizhaodan 于 2011-12-11 10:48 编辑
sai90306 发表于 2011-12-11 07:02
问题名称:小白又來了!!
问题状况:請問要如何才能用腳本取得在隊伍中所有角色的ID呢? ...
  1. id = []
  2. $game_party.actors.each{|actor|
  3. id.push(actor.id)
  4. }
复制代码
将队伍内的所有角色ID按在队伍内的顺序储存在id这个数组内。

点评

感謝!收下了!  发表于 2011-12-18 08:26
咱连控制台是啥都不知道QAQ  发表于 2011-12-11 12:13
TvT传说还不支持p!?坑爹啊。。吾辈在悲哀到底转不转了……其实VX也挺强大嘞。。  发表于 2011-12-11 11:25
唉还是黑白精辟。。哭。吾辈的脚本怎么就不长进啊啊…………  发表于 2011-12-11 11:11
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
676
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

830
 楼主| 发表于 2011-12-11 11:10:55 | 只看该作者
本帖最后由 冰舞蝶恋 于 2011-12-11 11:12 编辑
sai90306 发表于 2011-12-11 07:02
问题名称:小白又來了!!
问题状况:請問要如何才能用腳本取得在隊伍中所有角色的ID呢? ...
  1. team_actors_id = []
  2. for i in 0..$game_party.members.size - 1
  3.   team_actors_id[i] = $game_party.members[i].id
  4. end

  5. p team_actors_id[0]  # =>显示队伍第一个角色的数据库id
  6. p team_actors_id[1]  # =>显示队伍第二个角色的数据库id
  7. p "以此类推!需要调用时将前方的字母p去掉即可。"
复制代码
这个数组什么不解释了……游戏中用事件脚本或脚本库调用。但必须加载进入后才可,若在标题界面等处会出错(因为无角色)。

点评

感謝!收下了!  发表于 2011-12-18 08:26
菜单栏[游戏]里头有个显示控制台,勾选了之后测试游戏就出来了  发表于 2011-12-11 12:14
不是不支持p,是把p和print改成显示在控制台内,而原本的p和print的功能分别改成了msgbox和msgbox_p  发表于 2011-12-11 11:32
据说VA用的Ruby1.9不推荐使用for in文,所以最近一直在用each  发表于 2011-12-11 11:15
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 09:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表