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

Project1

 找回密码
 注册会员
搜索
查看: 2097|回复: 4
打印 上一主题 下一主题

[已经过期] 生成战斗行动的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
116 小时
注册时间
2009-7-17
帖子
139
跳转到指定楼层
1
发表于 2014-12-4 14:21:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
由于我这边全部是自动战斗,所以每回合的评价值在战斗行动前是已经计算好的,所以出现了这样一个问题,当1号角色发动技能后使得2号角色的MP值满,可以直接释放技能2而不是技能1时,轮到2号角色行动时仍旧释放技能1,原因是在生成战斗行动时,2好角色的MP值不足以释放技能2,因此在实际战斗过程中,2号角色的行动仍旧按照回合开始前的设定行动进行,请教能不能每个角色行动完后都重新生成一次自动战斗指令?
PS:ATB制战斗系统到时满足了这个要求,但是每个人员的行动的先后次序又会打乱,如果大大们能够指点下这个ATB脚本,使得敌我双方行动次序固定的化,也能解决此问题
脚本如下
RUBY 代码复制
  1. begin
  2. YanFly Compatible Customisable ATB/Stamina Based Battle System Script
  3. by Fomar0153
  4. Version 1.2
  5. ----------------------
  6. Notes
  7. ----------------------
  8. Requires Yanfly Engine Ace - Ace Battle Engine
  9. Customises the battle system to be similar to
  10. ATB or Stamina based battle systems.
  11. ----------------------
  12. Instructions
  13. ----------------------
  14. Edit variables in CBS to suit your needs.
  15. The guard status should be set to 2~2 turns.
  16. ----------------------
  17. Change Log
  18. ----------------------
  19. 1.0 -> 1.1 Added CTB related options
  20.            Added the ability to pass a turn
  21.            Added options for turn functionality to be based on time
  22.            or number of actions
  23.            Added the ability to change the bar colours based on states
  24. 1.1 -> 1.2 Fixed a bug when escaping using CTB mode
  25. ----------------------
  26. Known bugs
  27. ----------------------
  28. None
  29. =end
  30.  
  31. $imported = {} if $imported.nil?
  32. $imported["Fomar0153-CBS"] = true
  33.  
  34. module CBS
  35.  
  36.   MAX_STAMINA = 400 #行動值的分母
  37.   RESET_STAMINA = true
  38.  
  39.   # If ATB is set to false then the bars won't appear and
  40.   # the pauses where the bars would be filling up are removed
  41.   # effectively turning this into a CTB system
  42.   ATB = true
  43.   SAMINA_GAUGE_NAME = "ATB"
  44.   ENABLE_PASSING = true
  45.   PASSING_COST = 200
  46.  
  47.   #回合長度
  48.   # If TURN_LENGTH is set to 0 then a turn length will be
  49.   # decided on number of actions
  50.   # TURN_LENGTH is number of seconds per turn
  51.   TURN_LENGTH = 1
  52.  
  53.   ESCAPE_COST = 500
  54.   # If reset stamina is set to true then all characters
  55.   # will start with a random amount of stamina capped at
  56.   # the percentage you set.
  57.   # If reset stamina is set to false then this just
  58.   # affects enemies.
  59.   STAMINA_START_PERCENT = 20
  60.  
  61.   # Default skill cost
  62.   # If you want to customise skill costs do it like this
  63.   # SKILL_COST[skill_id] = cost
  64.   SKILL_COST = []
  65.   SKILL_COST[0] = 1000
  66.   # Attack
  67.   SKILL_COST[1] = 1000
  68.   # Guard
  69.   SKILL_COST[2] = 500
  70.   ITEM_COST = 1000
  71.  
  72.   # 增益設定 設為 true 則公式只看agi決定 參考stamina_mult方法
  73.   STATES_HANDLE_AGI = false
  74.   # In the following section mult means the amount you multiply stamina gains by
  75.   # if STATES_HANDLE_AGI is set to true then it is only used to determine bar color
  76.   # with debuffs taking precedence over buffs
  77.   STAMINA_STATES = []
  78.   # Default colour
  79.   STAMINA_STATES[0] = [1,31,32]
  80.   # in the form
  81.   # STAMINA_STATES[STATE_ID] = [MULT,FILL_COLOUR,EMPTY_COLOR]
  82.   # e.g. 快速  #狀態78 則二倍快 ,進度為第4色, 空的為32色
  83.   STAMINA_STATES[78] = [2,4,32]
  84.   # e.g. 停止  
  85.   STAMINA_STATES[79] = [0,8,32]
  86.   # e.g. 慢速    #狀態80 慢一半 ,進度為第8色, 空的為32色
  87.   STAMINA_STATES[80] = [0.5,8,32]
  88.  
  89.   #--------------------------------------------------------------------------
  90.   # ●新方法: 行動力增加公式  
  91.   #--------------------------------------------------------------------------
  92.   def self.stamina_gain(battler)
  93.     return ((2 + [0, battler.agi / 10].max) * self.stamina_mult(battler)).to_i
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   #●新方法: 行動力增加倍率公式
  97.   #--------------------------------------------------------------------------
  98.   def self.stamina_mult(battler)
  99.     return 1 if STATES_HANDLE_AGI
  100.     mult = STAMINA_STATES[0][0]
  101.     for state in battler.states
  102.       unless STAMINA_STATES[state.id].nil?
  103.         mult *= STAMINA_STATES[state.id][0]
  104.       end
  105.     end
  106.     return mult
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   #●新方法:  行動力增加顏色
  110.   #--------------------------------------------------------------------------
  111.   def self.stamina_colors(battler)
  112.     colors = STAMINA_STATES[0]
  113.     for state in battler.states
  114.       unless STAMINA_STATES[state.id].nil?
  115.         if STAMINA_STATES[state.id][0] < colors[0] or colors[0] == 1
  116.           colors = STAMINA_STATES[state.id]
  117.         end
  118.       end
  119.     end
  120.     return colors
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   #●新方法: 行動力初始值
  124.   #--------------------------------------------------------------------------
  125.   def self.stamina_start(battler)
  126.     battler.stamina = rand(MAX_STAMINA * STAMINA_START_PERCENT / 100)
  127.   end
  128. end
  129.  
  130. class Game_BattlerBase
  131.   #--------------------------------------------------------------------------
  132.   # ● New attr_accessor
  133.   #--------------------------------------------------------------------------
  134.   attr_accessor :stamina
  135.   #--------------------------------------------------------------------------
  136.   # ● Aliases initialize
  137.   #--------------------------------------------------------------------------
  138.   alias yf_fomar_cbs_initialize initialize
  139.   def initialize
  140.     yf_fomar_cbs_initialize
  141.     @stamina = 0
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● 新方法 獲得行動值比例
  145.   #--------------------------------------------------------------------------
  146.   def stamina_rate
  147.     @stamina.to_f / CBS::MAX_STAMINA
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   #●新方法: stamina_rate
  151.   #--------------------------------------------------------------------------
  152.   def stamina_gain
  153.     return if not movable?
  154.     @stamina = [CBS::MAX_STAMINA, @stamina + CBS.stamina_gain(self)].min
  155.   end
  156.   #--------------------------------------------------------------------------
  157.   #●新方法: stamina_color
  158.   #--------------------------------------------------------------------------
  159.   def stamina_color
  160.     for state in @states
  161.       unless CBS::STAMINA_STATES[state].nil?
  162.         return STAMINA_STATES[state]
  163.       end
  164.     end
  165.     return STAMINA_STATES[0]
  166.   end
  167. end
  168.  
  169. class Scene_Battle < Scene_Base
  170.   #--------------------------------------------------------------------------
  171.   # ● Rewrote update
  172.   #--------------------------------------------------------------------------
  173.   def update
  174.     super
  175.     if (CBS::ENABLE_PASSING and @actor_command_window.active) and Input.press?(:A)
  176.       command_pass
  177.     end
  178.     if BattleManager.in_turn? and !inputting?
  179.       while @subject.nil? and !CBS::ATB
  180.         process_stamina
  181.       end
  182.       if CBS::ATB
  183.         process_stamina
  184.       end
  185.       process_event
  186.       process_action
  187.     end
  188.     BattleManager.judge_win_loss
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # ● Rewrote Method update_info_viewport
  192.   #--------------------------------------------------------------------------
  193.   def update_info_viewport
  194.     move_info_viewport(0)   if @party_command_window.active
  195.     move_info_viewport(128) if @actor_command_window.active
  196.     move_info_viewport(64)  if BattleManager.in_turn? and !inputting?
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   #●新方法: inputting?
  200.   #--------------------------------------------------------------------------
  201.   def inputting?
  202.     return @actor_command_window.active || @skill_window.active ||
  203.       @item_window.active || @actor_window.active || @enemy_window.active
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   #●新方法: process_stamina  
  207.   #--------------------------------------------------------------------------
  208.   def process_stamina
  209.     @actor_command_window.close   #命令視窗關閉
  210.     return if @subject
  211.     BattleManager.advance_turn   #回合計算
  212.     all_battle_members.each do |battler|
  213.       battler.stamina_gain         #所有人行動值增加
  214.     end
  215.     @status_window.refresh_stamina  #更行狀態視窗之行動值
  216.     if @status_window.close?
  217.       @status_window.open
  218.      end
  219.     if BattleManager.escaping?
  220.       $game_party.battle_members.each do |battler|
  221.         if battler.stamina < CBS::MAX_STAMINA   #行動力沒滿
  222.           $game_troop.members.each do |enemy|
  223.             if enemy.stamina == CBS::MAX_STAMINA #如果敵人行動力值滿
  224.               enemy.make_actions
  225.               @subject = enemy
  226.             end
  227.           end
  228.           return
  229.         end
  230.       end
  231.       unless BattleManager.process_escape
  232.         $game_party.battle_members.each do |actor|
  233.           actor.stamina -= CBS::ESCAPE_COST
  234.         end
  235.         BattleManager.set_escaping(false) unless CBS::ATB
  236.       end
  237.     end
  238.     all_battle_members.each do |battler|
  239.       if battler.stamina == CBS::MAX_STAMINA  #如果戰鬥者行動力值滿
  240.         battler.make_actions
  241.         @subject = battler
  242.         if @subject.inputable? and battler.is_a?(Game_Actor)
  243.           @actor_command_window.setup(@subject)
  244.           @status_window.index = @subject.index
  245.           BattleManager.set_actor(battler)
  246.         end
  247.         return
  248.       end
  249.     end
  250.   end
  251.   #--------------------------------------------------------------------------
  252.   # ● Rewrote start_party_command_selection Yanfly version
  253.   #--------------------------------------------------------------------------
  254.   def start_party_command_selection
  255.     unless scene_changing?
  256.       refresh_status
  257.       @status_window.unselect
  258.       @status_window.open
  259.       if BattleManager.input_start
  260.         @actor_command_window.close
  261.         @party_command_window.setup
  262.       else
  263.         @party_command_window.deactivate
  264.         turn_start
  265.       end
  266.     end
  267.   end
  268.   #--------------------------------------------------------------------------
  269.   # ● Rewrote start_actor_command_selection
  270.   #--------------------------------------------------------------------------
  271.   def start_actor_command_selection
  272.     @party_command_window.close
  273.     BattleManager.set_escaping(false)
  274.     turn_start
  275.   end
  276.   #--------------------------------------------------------------------------
  277.   # ● Rewrote prior_command Yanfly version
  278.   #--------------------------------------------------------------------------
  279.   def prior_command
  280.     redraw_current_status
  281.     start_party_command_selection
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # ● Rewrote process_action
  285.   #--------------------------------------------------------------------------
  286.   def process_action
  287.     return if scene_changing?
  288.     if !@subject || !@subject.current_action
  289.       @subject = BattleManager.next_subject
  290.     end
  291.     if Input.trigger?(:B) and (@subject == nil)
  292.       start_party_command_selection
  293.     end
  294.     return unless @subject
  295.     if @subject.current_action
  296.       @subject.current_action.prepare
  297.       if @subject.current_action.valid?
  298.         @status_window.open
  299.         execute_action
  300.       end
  301.       @subject.remove_current_action
  302.       refresh_status
  303.       @log_window.display_auto_affected_status(@subject)
  304.       @log_window.wait_and_clear
  305.     end
  306.     process_action_end unless @subject.current_action
  307.   end
  308.   #--------------------------------------------------------------------------
  309.   # ● Aliases 使用道具或技能
  310.   #--------------------------------------------------------------------------
  311.   alias cbs_use_item use_item
  312.   def use_item
  313.     cbs_use_item
  314.     @subject.stamina_loss
  315.   end
  316.   #--------------------------------------------------------------------------
  317.   # ● Rewrote turn_end
  318.   #--------------------------------------------------------------------------
  319.   def turn_end
  320.     p "atb回合結束"
  321.     all_battle_members.each do |battler|
  322.       battler.on_turn_end
  323.       refresh_status
  324.       @log_window.display_auto_affected_status(battler)
  325.       @log_window.wait_and_clear
  326.     end
  327.     #BattleManager.turn_end
  328.     #process_event
  329.     #start_party_command_selection
  330.   end
  331.   #--------------------------------------------------------------------------
  332.   # ● Rewrote command_fight
  333.   #--------------------------------------------------------------------------
  334.   def command_fight
  335.     BattleManager.next_command
  336.     start_actor_command_selection
  337.   end
  338.   #--------------------------------------------------------------------------
  339.   # ● Rewrote command_escape
  340.   #--------------------------------------------------------------------------
  341.   def command_escape
  342.     @party_command_window.close
  343.     BattleManager.set_escaping(true)
  344.     turn_start
  345.   end
  346.   #--------------------------------------------------------------------------
  347.   #●新方法: command_pass
  348.   #--------------------------------------------------------------------------
  349.   def command_pass
  350.     BattleManager.actor.stamina -= CBS::PASSING_COST
  351.     BattleManager.clear_actor
  352.     @subject = nil
  353.     turn_start
  354.     @actor_command_window.active = false
  355.     @actor_command_window.close
  356.   end
  357.   #--------------------------------------------------------------------------
  358.   # ● Destroyed next_command
  359.   #--------------------------------------------------------------------------
  360.   def next_command
  361.     @status_window.show
  362.     @actor_command_window.show
  363.     @status_aid_window.hide
  364.   end
  365. end
  366.  
  367.  
  368.  
  369.  
  370. module BattleManager
  371.   #--------------------------------------------------------------------------
  372.   # ● Rewrote setup
  373.   #--------------------------------------------------------------------------
  374.   def self.setup(troop_id, can_escape = true, can_lose = false)
  375.     init_members
  376.     $game_troop.setup(troop_id)
  377.     @can_escape = can_escape
  378.     @can_lose = can_lose
  379.     make_escape_ratio
  380.     @escaping = false
  381.     @turn_counter = 0
  382.     @actions_per_turn = $game_party.members.size + $game_troop.members.size
  383.     ($game_party.members + $game_troop.members).each do |battler|
  384.       if battler.is_a?(Game_Enemy) or CBS::RESET_STAMINA
  385.         CBS.stamina_start(battler)
  386.       end
  387.     end
  388.   end
  389.   #--------------------------------------------------------------------------
  390.   #●新方法: set_escaping
  391.   #--------------------------------------------------------------------------
  392.   def self.set_escaping(escaping)
  393.     @escaping = escaping
  394.   end
  395.   #--------------------------------------------------------------------------
  396.   #●新方法: escaping?
  397.   #--------------------------------------------------------------------------
  398.   def self.escaping?
  399.     return @escaping
  400.   end
  401.   #--------------------------------------------------------------------------
  402.   # ● Rewrote turn_start Yanfly version
  403.   #--------------------------------------------------------------------------
  404.   def self.turn_start
  405.     @phase = :turn
  406.     clear_actor
  407.     $game_troop.increase_turn if $game_troop.turn_count == 0
  408.     @performed_battlers = []
  409.   end
  410.   #--------------------------------------------------------------------------
  411.   #●新方法: set_actor
  412.   #--------------------------------------------------------------------------
  413.   def self.set_actor(actor)
  414.     @actor_index = actor.index
  415.   end
  416.   #--------------------------------------------------------------------------
  417.   # ● New Increase action counter
  418.   #--------------------------------------------------------------------------
  419.   def self.add_action
  420.     return if @actions_per_turn.nil?
  421.     @turn_counter += 1
  422.     if @turn_counter == @actions_per_turn and CBS::TURN_LENGTH == 0 #@actions_per_turn為戰鬥成員總數
  423.       $game_troop.increase_turn
  424.       SceneManager.scene.turn_end
  425.       @turn_counter = 0
  426.     end
  427.   end
  428.   #--------------------------------------------------------------------------
  429.   #●新方法: advance_turn  回合計算
  430.   #--------------------------------------------------------------------------
  431.   def self.advance_turn
  432.     return if CBS::TURN_LENGTH == 0  
  433.     p "@turn_counter"
  434.     p @turn_counter
  435.     @turn_counter += 1
  436.     if @turn_counter == 60 * CBS::TURN_LENGTH
  437.       $game_troop.increase_turn
  438.       SceneManager.scene.turn_end
  439.       @turn_counter = 0
  440.     end
  441.   end
  442. end
  443.  
  444. class Game_Battler < Game_BattlerBase
  445.   #--------------------------------------------------------------------------
  446.   # ● Rewrote on_turn_end
  447.   #--------------------------------------------------------------------------
  448.   def on_turn_end
  449.     @result.clear
  450.     regenerate_all
  451.     update_state_turns
  452.     update_buff_turns
  453.     remove_states_auto(2)
  454.   end
  455.   #--------------------------------------------------------------------------
  456.   #●新方法: 角色行動結束
  457.   #--------------------------------------------------------------------------
  458.   def stamina_loss
  459.     if self.actor?
  460.       @stamina -= input.stamina_cost
  461.     else
  462.       @stamina -= @actions[0].stamina_cost if @actions[0]  
  463.     end
  464.     BattleManager.add_action
  465.   end
  466. end
  467.  
  468. class Game_Actor < Game_Battler
  469.   #--------------------------------------------------------------------------
  470.   # ● Rewrote input
  471.   #--------------------------------------------------------------------------
  472.   def input
  473.     if @actions[@action_input_index] == nil
  474.       @actions[@action_input_index] = Game_Action.new(self)
  475.     end
  476.     return @actions[@action_input_index]
  477.   end
  478. end
  479.  
  480. class Game_Action
  481.   #--------------------------------------------------------------------------
  482.   #●新方法: stamina_cost
  483.   #--------------------------------------------------------------------------
  484.   def stamina_cost
  485.     if @item.is_skill?
  486.       return CBS::SKILL_COST[item.id] if CBS::SKILL_COST[item.id]
  487.       return CBS::SKILL_COST[0]
  488.     end
  489.     return CBS::ITEM_COST if @item.is_item?
  490.     return CBS::MAX_STAMINA
  491.   end
  492. end
  493.  
  494. class Window_BattleStatus < Window_Selectable
  495.   #--------------------------------------------------------------------------
  496.   # Aliases method: draw_item yanfly version
  497.   #--------------------------------------------------------------------------
  498.   alias prefomar_draw_item draw_item
  499.   def draw_item(index)
  500.     unless CBS::ATB
  501.       prefomar_draw_item(index)
  502.       return
  503.     end
  504.     return if index.nil?
  505.     clear_item(index)
  506.     actor =  $game_party.battle_members[index]#battle_members[index]
  507.     rect = item_rect(index)
  508.     return if actor.nil?
  509.     draw_actor_face(actor, rect.x+2, rect.y+2, actor.alive?)
  510.     draw_actor_name(actor, rect.x, rect.y, rect.width-8)
  511.     draw_actor_action(actor, rect.x, rect.y)
  512.     draw_actor_icons(actor, rect.x, line_height*1, rect.width)
  513.     gx = YEA::BATTLE::BATTLESTATUS_HPGAUGE_Y_PLUS
  514.     contents.font.size = YEA::BATTLE::BATTLESTATUS_TEXT_FONT_SIZE
  515.     draw_actor_hp(actor, rect.x+2, line_height*2, rect.width-4)
  516.     if draw_tp?(actor) && draw_mp?(actor)
  517.       dw = rect.width/2-2
  518.       dw += 1 if $imported["YEA-CoreEngine"] && YEA::CORE::GAUGE_OUTLINE
  519.       draw_actor_tp(actor, rect.x+2, line_height*2+gx, dw)
  520.       dw = rect.width - rect.width/2 - 2
  521.       draw_actor_mp(actor, rect.x+rect.width/2, line_height*2+gx, dw)
  522.     elsif draw_tp?(actor) && !draw_mp?(actor)
  523.       draw_actor_tp(actor, rect.x+2, line_height*2+gx, rect.width-4)
  524.     else
  525.       draw_actor_mp(actor, rect.x+2, line_height*2+gx, rect.width-4)
  526.     end
  527.     draw_actor_stamina(actor, rect.x+2, line_height*3, rect.width-4)
  528.   end
  529.   #--------------------------------------------------------------------------
  530.   # overwrite method: draw_item yanfly version
  531.   #--------------------------------------------------------------------------
  532.   def draw_item_stamina(index)
  533.     return if index.nil?
  534.     actor = $game_party.battle_members[index]#battle_members[index]
  535.     rect = item_rect(index)
  536.     return if actor.nil?
  537.     gx = YEA::BATTLE::BATTLESTATUS_HPGAUGE_Y_PLUS
  538.     contents.font.size = YEA::BATTLE::BATTLESTATUS_TEXT_FONT_SIZE
  539.     draw_actor_stamina(actor, rect.x+2, line_height*3, rect.width-4)
  540.   end
  541.   #--------------------------------------------------------------------------
  542.   #新方法: refresh_stamina
  543.   #--------------------------------------------------------------------------
  544.   def refresh_stamina
  545.     return unless CBS::ATB
  546.     item_max.times {|i| draw_item_stamina(i) }
  547.   end
  548.   #--------------------------------------------------------------------------
  549.   #新方法: 描繪行動值
  550.   #--------------------------------------------------------------------------
  551.   def draw_actor_stamina(actor, dx, dy, width = 124)
  552.    draw_gauge(dx, dy, width, actor.stamina_rate, text_color(CBS.stamina_colors(actor)[2]),text_color(CBS.stamina_colors(actor)[1]))
  553.     change_color(system_color)
  554.     cy = (Font.default_size - contents.font.size) / 2 + 1
  555.     draw_text(dx+2, dy+cy, 30, line_height, CBS::SAMINA_GAUGE_NAME)
  556.   end
  557. end

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2014-12-4 14:34:06 | 只看该作者
重定义回合开始的话,试试CP制战斗如何?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
116 小时
注册时间
2009-7-17
帖子
139
3
 楼主| 发表于 2014-12-4 17:35:32 | 只看该作者
三途亚梦 发表于 2014-12-4 14:34
重定义回合开始的话,试试CP制战斗如何?

CP和这个是一样的,而且论坛的两个CP一个有冲突,一个无效

点评

CP不是要到这个人回合才能决定它怎么行动吗?理论是直接避免你所说的问题的呀。(我没有具体看方法,所以也只是猜测  发表于 2014-12-5 00:28
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22943
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
4
发表于 2014-12-4 17:51:29 | 只看该作者
我喜勧用ATB-α系統

点评

这个和FTB很像,请问大大知道那个ATB怎么能够改成我要的样子吗?  发表于 2014-12-4 20:00
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
116 小时
注册时间
2009-7-17
帖子
139
5
 楼主| 发表于 2014-12-5 11:32:04 | 只看该作者
morningboo 发表于 2014-12-4 17:35
CP和这个是一样的,而且论坛的两个CP一个有冲突,一个无效

是的啊,主要问题是论坛的2个CP一个和sideview冲突,一战斗就卡主,另一个CP直接无效,就这个ATB的还可以,我实际操作中修改了ATB的计算方式,使其按照每个角色的速度执行,但是这样的话除了第一轮是正确顺序,后面的全都乱套了,所以想看看大大们有没有其他的好方法
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 05:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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