Project1

标题: 【VX】如何设置一键结束战斗 [打印本页]

作者: 絀神入化    时间: 2011-12-10 21:52
标题: 【VX】如何设置一键结束战斗
{:nm_9:} 标题应该说不完的,我继续补充= =
{:nm_9:} 将敌我双方的攻击、防御、敏捷。精神分别加起来然后平均分。根据双方能力值大小判断胜负。只有三个以上属性大于对方才能够获胜,否则认为GAME OVER。
比如:我方四人加起来攻击平均268,对方200,则我方获胜1
防御平均247,对方200,还是我方胜1
敏捷平均198,对方200,对方胜1
精神平均254,对方200,我方胜1
我方胜利3>1的时候才认为胜利

{:nm_9:} 好吧就这样dsu_plus_rewardpost_czw
作者: feizhaodan    时间: 2011-12-10 22:41
  1. #==============================================================================
  2. # ■ Scene_Battle
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle < Scene_Base
  7.   alias one_botton_update_party_command_selection update_party_command_selection
  8.   #--------------------------------------------------------------------------
  9.   # ● 更新队伍命令选择
  10.   #--------------------------------------------------------------------------
  11.   def update_party_command_selection
  12.     if Input.trigger?(Input::A)
  13.       do_one_botton_result
  14.     else
  15.       one_botton_update_party_command_selection
  16.     end
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 执行一键判定
  20.   #--------------------------------------------------------------------------
  21.   def do_one_botton_result
  22.     esta = [0,0,0,0]
  23.     asta = [0,0,0,0]
  24.     $game_troop.members.each{|enemy|
  25.       esta[0] += enemy.atk
  26.       esta[1] += enemy.def
  27.       esta[2] += enemy.agi
  28.       esta[3] += enemy.spi
  29.     }
  30.     $game_party.members.each{|actor|
  31.       asta[0] += actor.atk
  32.       asta[1] += actor.def
  33.       asta[2] += actor.agi
  34.       asta[3] += actor.spi
  35.     }
  36.     t = 0
  37.     [0,1,2,3].each{|i|
  38.     if asta[i] > esta[i]
  39.       t += 1
  40.     end
  41.     }
  42.     if t < 3
  43.       process_defeat
  44.     else
  45.       process_one_botton_victory
  46.     end
  47.   end
  48.   #--------------------------------------------------------------------------
  49.   # ● 处理一键胜利
  50.   #--------------------------------------------------------------------------
  51.   def process_one_botton_victory
  52.     $game_troop.members.each{|enemy|
  53.     enemy.add_state(1)
  54.     }
  55.     process_victory
  56.   end
  57. end
复制代码
直接插入到Main上头。在战斗中选择队伍指令时按Shift即可。按得键可以在13行改
作者: 絀神入化    时间: 2011-12-11 08:49
feizhaodan 发表于 2011-12-10 22:41
直接插入到Main上头。在战斗中选择队伍指令时按Shift即可。按得键可以在13行改 ...

无效……= ={:nm_9:}插入后战斗测试按了Shift好几下都没用……
作者: feizhaodan    时间: 2011-12-11 10:04
我这里没问题。你是不是放了其他的战斗脚本?
作者: 越前リョーマ    时间: 2011-12-11 13:19
在队伍事件里设置【暂时】,条件分歧按键,然后那堆胜利条件自己判断,最后一个战斗中断。
作者: 絀神入化    时间: 2011-12-11 14:00
feizhaodan 发表于 2011-12-11 10:04
我这里没问题。你是不是放了其他的战斗脚本?

SBS3.4E什么的……仲秋启明三合一。
没了= =,用不了




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