查看: 2371|回复: 4

[已经解决] 战斗结束 状态恢复

[复制链接]
梦石
0
星屑
3850
在线时间
1899 小时
注册时间
2010-6-19
回帖
917
发表于 2022-5-9 15:01:02 | 显示全部楼层 |阅读模式

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

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

×
如何让ID大于50的角色,战斗结束气血魔法回复最大值

我这样写没用

if $game_actors.id > 50
  actor.hp = actor.maxhp
  actor.sp = actor.maxsp
end

梦石
0
星屑
1748
在线时间
485 小时
注册时间
2006-1-7
回帖
996
发表于 2022-5-9 17:54:09 | 显示全部楼层
本帖最后由 白鬼 于 2022-5-9 18:00 编辑

试一试
  1. for i in 0...$game_party.actors.size
  2.   if $game_party.actors[i].id > 50
  3.     $game_party.actors[i].hp = $game_party.actors[i].maxhp
  4.     $game_party.actors[i].sp = $game_party.actors[i].maxsp
  5.   end
  6. end
复制代码


如果是默认战斗系统
放在
  # ● 画面更新 (结束战斗回合)
  #--------------------------------------------------------------------------
  def update_phase5
里面

评分

参与人数 1星屑 +50 赞 +1 收起 理由
guoxiaomi + 50 + 1 认可答案

查看全部评分

初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复

使用道具 举报

梦石
0
星屑
3850
在线时间
1899 小时
注册时间
2010-6-19
回帖
917
 楼主| 发表于 2022-5-9 20:52:50 | 显示全部楼层

完美解决!
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2022-5-10 00:19:13 | 显示全部楼层
你这样写当然没用,$game_actors保存的是所有游戏中存在的角色,是对ruby数组的封装,它只有一个方法就是:[]。Game_Actor 的实例才有 id 方法。$game_party.actors是一个数组,保存了队伍里存在的角色
  1. $game_party.actors.each do |actor|
  2.   if actor.id > 50
  3.     actor.hp = actor.maxhp
  4.     actor.sp = actor.maxsp
  5.   end
  6. end
复制代码

点评

说得好,下次我也尝试用each写  发表于 2022-5-10 11:35
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部