Project1

标题: 如何结合横板RTAB和特写的实现? [打印本页]

作者: davinci623    时间: 2010-7-5 10:33
标题: 如何结合横板RTAB和特写的实现?
我现在套用横板RTAB版战斗脚本模式做游戏.
想要和特写的实现这个脚本结合;可是设定好以后好像有冲突.
(在使用招式前可以执行公共事件)
原来66RPG发布的脚本是用在RTAB版战斗(RTAB) Ver 1.16,
现在横板RTAB版战斗(RTAB) Ver 1.05就没实现.
有没有大大可以帮我看一下?

特写的实现的脚本-引用66RPG之前的脚本.
#--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 3 : 行動側アニメーション)
  #--------------------------------------------------------------------------
  def update_phase4_step3(battler)
    # ヘルプウィンドウの更新。アクションの種別で分岐
    case battler.current_action.kind
    when 0  # 基本
      if battler.current_action.basic == 1
        @help_window.set_text($data_system.words.guard, 1)
        @help_wait = @help_time
      end
#========RTAB 1.16==================================      
      if battler.current_action.basic == 2
        # 逃げる
        @help_window.set_text("逃げる", 1)
        @help_wait = @help_time
        battler.escape
        battler.phase = 4
        return
      end
#===================================================        
    when 1  # スキル
      skill =  $data_skills[battler.current_action.skill_id]
      @help_window.set_text(skill.name, 1)
      @help_wait = @help_time
      ####################################
      #特写的实现

      #这个方法有助于新人理解case when 的用法,
      
      #还有个好处就是同一招式,不同人可以用不同特写。
      
          case battler.name
         
            when "帕鲁玛"
              
                case skill.id
                  when 90..92
                    battler.animation.push([109, true])#动画版
                    
                end
                  
            when "费特"
                case skill.id
                  when 93#公共事件版
          $game_system.battle_interpreter.setup($data_common_events[1].list, 0)
                  when 94
          $game_system.battle_interpreter.setup($data_common_events[2].list, 0)
            end
        
            when "帕吉尔"  
            #......
            else
            #......  
          end

      ####################################

作者: 村纱水蜜    时间: 2010-7-5 15:13
咱原先的工程也是1.05的横版+特写好像没有出现什么冲突呀,求报错代码~
其实LZ可以把RTAB 1.16改成横版,只需要在game_actor部分修改角色坐标+把开始部分的@drive设成false就好啦~
作者: davinci623    时间: 2010-7-6 13:55
村纱水蜜大大
因为我是脚本白吃,所以RTAB 1.16改成横版好像有难度XDD
1.05的横版+特写 没冲突码可是事件一直没执行后面动画也没出来.
检查好几次设定上没有问题,所以很头痛.
麻烦帮帮忙~~~


作者: 村纱水蜜    时间: 2010-7-6 14:34
私也是脚本小白..如果真是因为两个版本的差异导致事件动画放不出来的话私估摸着反倒是把1.16改成横版比较简单呀~强烈建议LZ把1.16改成横版试试,毕竟是新版本能实现的功能也多一些~
需要改动的只有这么两个地方,都在"RTAB战斗系统 Ver 1.16"里,LZ可以先直接在1.16特写的饭粒里改着试试~:
搜索game_actor部分,把这一部分改成这样:
  1. class Game_Actor < Game_Battler
  2. #--------------------------------------------------------------------------
  3.   # ● 取得战斗画面的 X 坐标
  4.   #--------------------------------------------------------------------------
  5.   def screen_x
  6.     # 返回计算后的队伍 X 坐标的排列顺序
  7.     case self.index
  8.     when 0
  9.       return 420
  10.     when 1
  11.       return 515
  12.     when 2
  13.       return 515
  14.     when 3
  15.       return 600
  16.     else
  17.       return 640
  18.     end
  19.   end  
  20.   #--------------------------------------------------------------------------
  21.   # ● 取得战斗画面的 Y 坐标
  22.   #--------------------------------------------------------------------------
  23.   def screen_y
  24.     case self.index
  25.     when 0
  26.       return 310
  27.     when 1
  28.       return 225
  29.     when 2
  30.       return 325
  31.     when 3
  32.       return 310
  33.     else
  34.       return 1000
  35.     end
  36.   end  
  37.   #--------------------------------------------------------------------------
  38.   # ● 取得战斗画面的 Z 坐标
  39.   #--------------------------------------------------------------------------
  40.   def screen_z
  41.     # 返回计算后的队伍 Z 坐标的排列顺序
  42.    case self.index
  43.     when 0
  44.       return 1
  45.     when 1
  46.       return 0
  47.     when 2
  48.       return 4
  49.     when 3
  50.       return 2
  51.     else
  52.       return 4
  53.     end
  54.   end  
复制代码
然后找到最开始的@drive = true,改成false就好了~
作者: davinci623    时间: 2010-7-6 16:23
他跳了沖突码 -0-....
  1. when 2  # アイテム
  2.       item = $data_items[battler.current_action.item_id]
  3.       @help_window.set_text(item.name, 1)
  4.       @help_wait = @help_time
  5.     end
复制代码

作者: 村纱水蜜    时间: 2010-7-6 23:22
0.0改的都是和这里不相干的地方照理说不会跳冲突码的呀><
LZ还用了什么其他脚本么?
作者: davinci623    时间: 2010-7-7 09:52
★RTAB战斗系统
RTAB特技吟唱 Ver 1.00
RTAB连击+连击数-显示部分
RTAB连击+连击数-计算部分
XRXS.付加属性名称判定
XRXS.装备属性取得机构
XRXS.属性修正计数限制
RTAB战斗特效 Ver 1.00
RTAB伤害美化 Ver 1.02
战斗背景暗化 Ver.1.11
★显示敌人生命百分比
----------------------------
这都是原本就有的1.05即时横板战斗脚本~~從66RPG取的
作者: 村纱水蜜    时间: 2010-7-7 13:18
嗯,如果其他脚本没有修改的话尽量把其他脚本都替换成1.16工程里的脚本试试吧,印象中直接把用1.16的主系统替换进1.05的系统里去的话好像是有些问题呀~
作者: davinci623    时间: 2010-7-8 14:25
我试试看




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1