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

Project1

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

[已经解决] 在角色拥有XX状态时可使用特定技能

[复制链接]

Lv2.观梦者

梦石
0
星屑
552
在线时间
68 小时
注册时间
2022-10-15
帖子
10
跳转到指定楼层
1
发表于 2023-1-5 12:26:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 寂静的夜里 于 2023-1-11 22:36 编辑

1.如何实现“在角色XX级时从一回合一动变成一回合X动”
2.如何实现“在角色拥有XX状态时可使用特定技能(技能本身已经学会,但需要拥有XX状态才能发动);在XX状态结束时同时解除角色身上指定的A或B状态"
Flowing through the seas of time~
Memories that were left behind~

Lv2.观梦者

梦石
0
星屑
552
在线时间
68 小时
注册时间
2022-10-15
帖子
10
4
 楼主| 发表于 2023-1-6 08:44:14 | 只看该作者
已解决,感谢
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
552
在线时间
68 小时
注册时间
2022-10-15
帖子
10
3
 楼主| 发表于 2023-1-5 14:09:09 | 只看该作者
alexncf125 发表于 2023-1-5 13:43
1.如何实现“在角色XX级时从一回合一动变成一回合X动”

3.我描述有误,是”在A状态和B状态中只要有一个状态结束时就结束XX状态“

点评

解决了没有?  发表于 2023-1-5 22:08
改了  发表于 2023-1-5 14:17
Flowing through the seas of time~
Memories that were left behind~
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26398
在线时间
5370 小时
注册时间
2016-3-8
帖子
1658
2
发表于 2023-1-5 13:43:59 | 只看该作者
本帖最后由 alexncf125 于 2023-1-5 14:14 编辑

1.如何实现“在角色XX级时从一回合一动变成一回合X动”
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 决定行动回数
  4.   #--------------------------------------------------------------------------
  5.   alias :level_change_make_action_times :make_action_times
  6.   def make_action_times
  7.     t = level_change_make_action_times
  8.     if actor?
  9.       case level
  10.       when 21..50          #在角色21-50级时从一回合一动变成一回合二动
  11.         t += 1
  12.       when 51..99          #在角色51-99级时从一回合一动变成一回合三动
  13.         t += 2
  14.       end
  15.     end
  16.     t
  17.   end
  18. end
复制代码


2.如何实现在角色拥有XX状态时可使用特定技能(技能本身已经学会,但需要拥有XX状态才能发动)
  1. class Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 检查技能的使用条件
  4.   #--------------------------------------------------------------------------
  5.   alias :state_join_skill_conditions_met? :skill_conditions_met?
  6.   def skill_conditions_met?(skill)
  7.     return false if actor? && skill.id == 特定技能的ID && !state?(XX状态的ID)
  8.     state_join_skill_conditions_met?(skill)
  9.   end
  10. end
复制代码


3.在A状态和B状态中只要有一个状态结束时就结束XX状态
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 解除状态
  4.   #--------------------------------------------------------------------------
  5.   alias :remove_extra_state :remove_state
  6.   def remove_state(state_id)
  7.     s = state?(state_id)
  8.     remove_extra_state(state_id)
  9.     remove_state(XX状态的ID) if s && [A状态的ID, B状态的ID].any? {|sid| sid == state_id}
  10.   end
  11. end
复制代码
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-5 10:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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