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

Project1

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

[已经过期] 特殊释放时机的技能

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1110
在线时间
10 小时
注册时间
2014-7-20
帖子
3
跳转到指定楼层
1
发表于 2014-7-20 23:46:16 手机端发表。 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 cnocg 于 2014-7-21 14:25 编辑

问题详述:1 传统回合制RPG战斗 2每个队员都有一个特殊技能 3 这个技能的触发时机是 当技能持有者排在队伍第五位 并且 回合结束时(即,在每回合回合结束时,施放队列中第五位成员(不在战场上出现)的特殊技能)
1 不知是怎么实现(脚本or事件)?(^O^;) \n  
2 如果可以的话(弱弱伸手),可以写或叙述一个demo的代码或是事件参考一下吗 (′▽`〃) \n
新手初来乍到请多包涵

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
2
发表于 2014-7-21 07:36:12 | 只看该作者
这个技能的触发时机是 当技能持有者排在队伍第五位 并且 回合结束时
不太明白

估计纯事件就可以,找到队伍哪里
条件改成某一回合 后边加 nx 会“跳着”触发

如果角色存活就强制行动
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1110
在线时间
10 小时
注册时间
2014-7-20
帖子
3
3
 楼主| 发表于 2014-7-21 08:11:45 手机端发表。 | 只看该作者
恐惧剑刃 发表于 2014-7-21 07:36
这个技能的触发时机是 当技能持有者排在队伍第五位 并且 回合结束时
不太明白


抱歉,开始没说清。其实就是回合结束时发动第五位成员的特殊技能(^O^;)

点评

可不可以描述清楚一些?  发表于 2014-7-21 09:02
那么第五位成员的普通技能是否也可发动呢?默认战斗系统是4人的,这里用了5人战斗脚本?  发表于 2014-7-21 08:35
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33433
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2014-7-21 09:42:55 | 只看该作者
本帖最后由 芯☆淡茹水 于 2014-7-21 09:44 编辑

下面这个,因为没弄 5 人队伍,所以未测试。有问题 @
  1. #==============================================================================
  2. class Scene_Battle
  3. #----------------------------------------------------------------------------
  4. # 在最后释放的特殊技能 ID。
  5. SPECIAL_SKILLS = [15, 24]
  6.   #--------------------------------------------------------------------------
  7.   alias add_main_xdrs main
  8.   def main
  9.     @fifth_fight = nil
  10.     add_main_xdrs
  11.   end
  12.   #--------------------------------------------------------------------------
  13.   def make_action_orders
  14.     # 初始化序列 @action_battlers
  15.     @action_battlers = []
  16.     # 添加敌人到 @action_battlers 序列
  17.     for enemy in $game_troop.enemies
  18.       @action_battlers.push(enemy)
  19.     end
  20.     # 添加角色到 @action_battlers 序列
  21.     for actor in $game_party.actors
  22.       @action_battlers.push(actor)
  23.     end
  24.     # 确定全体的行动速度
  25.     for battler in @action_battlers
  26.       battler.make_action_speed
  27.     end
  28.     # 按照行动速度从大到小排列
  29.     @action_battlers.sort! {|a,b|
  30.       b.current_action.speed - a.current_action.speed }
  31.       
  32.     @fifth_fight = $game_party.actors[4] if $game_party.actors.size == 5
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   def update_phase4_step1
  36.     # 隐藏帮助窗口            
  37.     @help_window.visible = false
  38.     # 判定胜败
  39.     if judge
  40.       # 胜利或者失败的情况下 : 过程结束
  41.       return
  42.     end
  43.     # 强制行动的战斗者不存在的情况下
  44.     if $game_temp.forcing_battler == nil
  45.       # 设置战斗事件
  46.       setup_battle_event
  47.       # 执行战斗事件中的情况下
  48.       if $game_system.battle_interpreter.running?
  49.         return
  50.       end
  51.     end
  52.     # 强制行动的战斗者存在的情况下
  53.     if $game_temp.forcing_battler != nil
  54.       # 在头部添加后移动
  55.       @action_battlers.delete($game_temp.forcing_battler)
  56.       @action_battlers.unshift($game_temp.forcing_battler)
  57.     end
  58.     # 未行动的战斗者不存在的情况下 (全员已经行动)
  59.     if @action_battlers.size == 0
  60.       if @fifth_fight != nil
  61.         discharge_skill
  62.         return
  63.       end
  64.       # 开始同伴命令回合
  65.       start_phase2
  66.       return
  67.     end
  68.     # 初始化动画 ID 和公共事件 ID
  69.     @animation1_id = 0
  70.     @animation2_id = 0
  71.     @common_event_id = 0
  72.     # 未行动的战斗者移动到序列的头部
  73.     @active_battler = @action_battlers.shift
  74.     # 如果已经在战斗之外的情况下
  75.     if @active_battler.index == nil
  76.       return
  77.     end
  78.     # 连续伤害
  79.     if @active_battler.hp > 0 and @active_battler.slip_damage?
  80.       @active_battler.slip_damage_effect
  81.       @active_battler.damage_pop = true
  82.     end
  83.     # 自然解除状态
  84.     @active_battler.remove_states_auto
  85.     # 刷新状态窗口
  86.     @status_window.refresh
  87.     # 移至步骤 2
  88.     @phase4_step = 2
  89.   end
  90.   #---------------------------------------------------------------------------
  91.   def discharge_skill
  92.     skill_id = 0
  93.     for id in SPECIAL_SKILLS
  94.       if @fifth_fight.skill_can_use?(id)
  95.         skill_id = id
  96.         break
  97.       end
  98.     end
  99.     if skill_id > 0
  100.       @active_battler = @fifth_fight
  101.       @fifth_fight = nil
  102.       @active_battler.current_action.kind = 1
  103.       @active_battler.current_action.skill_id = skill_id
  104.       @animation1_id = 0
  105.       @animation2_id = 0
  106.       @common_event_id = 0
  107.       @phase4_step = 2
  108.     else
  109.       @fifth_fight = nil
  110.       start_phase2
  111.     end
  112.   end
  113. end
复制代码

评分

参与人数 1星屑 +66 收起 理由
RyanBern + 66 塞糖

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1110
在线时间
10 小时
注册时间
2014-7-20
帖子
3
5
 楼主| 发表于 2014-7-21 14:30:11 手机端发表。 | 只看该作者
本帖最后由 cnocg 于 2014-7-24 23:29 编辑

其实是战场上有4个人
而队列中的第五人不登场
但是会释放特殊技能
抱歉,脚本(特殊技能那个)还是看的不太懂哦(=^・・^=)
四人战斗 第五人释放技能和这个脚本的实现方式差异很大吗
直接把32行改成>=5不可以吗(^O^;)
@ 芯☆淡茹水 

点评

嘎~!有种撞墙的冲动。  发表于 2014-7-21 14:38
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 17:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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