Project1

标题: CP制战斗 改进版(显示全局CP)的问题 [打印本页]

作者: dbshy    时间: 2008-2-17 05:03
标题: CP制战斗 改进版(显示全局CP)的问题
cp的脚本我已经看晕了.......
哪位高手讲一下,显示全局CP的思路

怎样实现cp制战斗

怎样实现cp条上图象的移动

讲大概思路就行

http://rpg.blue/web/htm/news474.htm





[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 水迭澜    时间: 2008-2-17 05:28
CP制战斗就是给Game_Battler增加CP属性,然后在战斗画面里调用而已……
修改默认的战斗步骤即可
至于显示的思路也很简单……就是弄几张图片显示然后判断其X坐标囧TZ
你可以先弄清楚默认Scene_Battle的结构,这样改起来比较有思路~
作者: dbshy    时间: 2008-2-17 05:44
以下引用水迭澜于2008-2-16 21:28:19的发言:

CP制战斗就是给Game_Battler增加CP属性,然后在战斗画面里调用而已……
修改默认的战斗步骤即可
至于显示的思路也很简单……就是弄几张图片显示然后判断其X坐标囧TZ
你可以先弄清楚默认Scene_Battle的结构,这样改起来比较有思路~


[本贴由作者于 2008-2-16 21:28:41 最后编辑]


Scene_Battle的结构我大概搞清楚了,可以讲一下cp是修改哪些默认的战斗步骤
,或者讲一下修改的思路



就是弄几张图片显示然后判断其X坐标????????
没看懂

作者: 沉影不器    时间: 2008-2-17 05:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-2-17 05:55
以下引用沉影不器于2008-2-16 21:45:11的发言:

本来的Scene_Battle里在战斗开始时就建立一个行动队列,角色和敌人就依队列行动,但是CP强制清空队列,只有当前角色(或敌人)的CP值满,才加入队列并行动


可以讲一下cp是修改哪些默认的战斗步骤
,或者讲一下修改的思路


作者: dbshy    时间: 2008-2-17 23:30
以下引用沉影不器于2008-2-16 21:45:11的发言:


至于显示cp条,总之所有图片的改变都是update....cp中把全部battler的速度求和,做分母,得到每次update时各个battler的cp增加量,再根据cp值的改变而改变图标的x坐标.



图片的改变都是update???????

在什么时候updata
作者: 沉影不器    时间: 2008-2-18 00:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-2-18 04:57
cp制战斗大概看懂了,不过下面这段脚本看不懂
  def cp_turn_count
    $game_temp.battle_turn += 1
    # バトルイベントの全ページを検索
    for index in 0...$data_troops[@troop_id].pages.size
      # このページのスパンが [ターン] の場合
      if $data_troops[@troop_id].pages[index].span == 1
        # 実行済みフラグをクリア
        $game_temp.battle_event_flags[index] = false
      end
    end
  end


还有图片移动还是不知道什么时候updata

作者: 沉影不器    时间: 2008-2-18 05:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-2-18 05:20
以下引用沉影不器于2008-2-17 21:09:03的发言:


图片移动方面:
如果特指CP图标的移动,请看CP脚本这段:
def cp_update
应该有两个嘎嘎
再留意一下什么地方调用到了cp_update,因为cp_update有两个,得分清调用的是哪一个.



那个...根本没有cp_updata这个函数

我的脚本是CP制战斗 改进版(显示全局CP)

http://rpg.blue/web/htm/news474.htm

作者: dbshy    时间: 2008-2-18 23:22
cp制战斗大概看懂了,不过下面这段脚本看不懂
def cp_turn_count
   $game_temp.battle_turn += 1
   # バトルイベントの全ページを検索
   for index in 0...$data_troops[@troop_id].pages.size
     # このページのスパンが [ターン] の場合
     if $data_troops[@troop_id].pages[index].span == 1
       # 実行済みフラグをクリア
       $game_temp.battle_event_flags[index] = false
     end
   end
end


还有图片移动还是不知道什么时候updata
作者: 沉影不器    时间: 2008-2-19 00:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-2-19 00:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-2-19 04:49
class Game_Battler
  #--------------------------------------------------------------------------
  # ○ ガードフラグ
  #--------------------------------------------------------------------------
  def guarding=(n)
    @guarding = n
  end
  #--------------------------------------------------------------------------
  # ● 防御中判定 [再定義]
  #--------------------------------------------------------------------------
  def guarding?
    return @guarding
  end
end
#==============================================================================
# --- アクター「コマンド入力可能判定」:CPがないとコマンドしない ---
#==============================================================================
module XRXS_CP_INPUTABLE
  def inputable?
    return (self.cp_full? and super)
  end
end
class Game_Actor < Game_Battler
  include XRXS_CP_INPUTABLE
end
#==============================================================================
# --- エネミー「行動可能判定」:CPがないとコマンドしない ---
#==============================================================================
module XRXS_CP_MOVABLE
  def movable?
    return (self.cp_full? and super)
  end
end
class Game_Enemy < Game_Battler
  include XRXS_CP_MOVABLE
end


guarding=(n)

guarding?这两个方法有什么用

self.cp_full? and super
super 指什么



作者: 水迭澜    时间: 2008-2-19 04:52
guarding?是判断是否防御
super调用父类的同名方法,在这里就是调用Game_Battler里的movable?函数,判断角色是否可以移动

作者: dbshy    时间: 2008-2-19 05:03
guarding=(n)这个方法有什么用

  #--------------------------------------------------------------------------
  # ● 获取限制
  #--------------------------------------------------------------------------
  def restriction
    restriction_max = 0
    # 从当前附加的状态中获取最大的 restriction
    for i in @states
      if $data_states.restriction >= restriction_max
        restriction_max = $data_states.restriction
      end
    end
    return restriction_max
  end


获取限制的限制是什么意思

作者: 沉影不器    时间: 2008-2-19 05:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-2-19 05:16
guarding=(n)这个方法有什么用
作者: 沉影不器    时间: 2008-2-19 05:53
提示: 作者被禁止或删除 内容自动屏蔽




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