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

Project1

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

[已经过期] 请问如何制作一个某个角色阵亡后复活其他阵亡队友的脚本

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1017
在线时间
43 小时
注册时间
2020-10-28
帖子
25
跳转到指定楼层
1
发表于 2022-10-12 17:43:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我目前的想法是在Game_Battler 3里面操作
不过各种失败
这个属性是379
原来想的是:
if self.element_rate(379) < 100 and self.damage >= self.hp
     if self.dead?and  $game_party.actors.add_state(1)
      
  $game_party.actors.remove_state(1)
     end
    end
state(1)就是阵亡,但是无法实现,虽然不报错 但是没卵用

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
发表于 2022-10-12 22:44:51 | 只看该作者
  1. $game_party.actors.add_state(1)
复制代码
这脚本居然不报错?那大概是因为这个if self.dead?从来没有通过,每次判断到这里,相应角色都是活着的,所以后面所有的内容都没有执行。
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1017
在线时间
43 小时
注册时间
2020-10-28
帖子
25
3
 楼主| 发表于 2022-10-13 21:02:29 | 只看该作者
guoxiaomi 发表于 2022-10-12 22:44
这脚本居然不报错?那大概是因为这个if self.dead?从来没有通过,每次判断到这里,相应角色都是活着的,所 ...

不报错,但是没卵用 其实去掉 if self.dead?
直接用if $game_party.actors.add_state(1)理论上也一样吧,但是没卵用

点评

首先确认这段脚本是否执行了。  发表于 2022-10-13 22:37
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1017
在线时间
43 小时
注册时间
2020-10-28
帖子
25
4
 楼主| 发表于 2022-10-14 16:03:21 | 只看该作者
guoxiaomi 发表于 2022-10-12 22:44
这脚本居然不报错?那大概是因为这个if self.dead?从来没有通过,每次判断到这里,相应角色都是活着的,所 ...

我放弃了,效果改成阵亡时敌方全体损失50%生命值了

点评

是啊,这相当于给数组加状态了,加状态的方法要有对象,他这个数组不是对象,必须具体到对象上,比如$game_party.actors[1]这样  发表于 2022-10-14 18:47
$game_party.actors.add_state(1) 我记得没有这种写法..  发表于 2022-10-14 18:44
$game_party.actors.add_state(1)这个,add_state是给角色附加指定状态,而且$game_party.actors是个数组,不是单独的指定的人物  发表于 2022-10-14 18:26
用法上..  发表于 2022-10-14 17:28
你大概还不知道自己写的脚本是无中生有的  发表于 2022-10-14 16:48
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3181
在线时间
180 小时
注册时间
2020-8-9
帖子
119
5
发表于 2022-10-14 18:18:19 | 只看该作者
如果你没啥改动的话,那么到Game_Battler里查找 def hp  ,这个方法在战斗中每次造成技能伤害都会调用的,你在这个方法里加判断就行了,比如:
  1. def hp=(hp)
  2.     @hp = [[hp, maxhp].min, 0].max
  3.     if self.hp<=0 and self.id == #指定角色
  4.       #这里就随便写了,你遍历一下队伍改一下血量就好了
  5.   end
  6. end
复制代码

点评

你可能没理解这段是怎么回事,在战斗中所有的血量变化都是通过这个方法,我是在血量变更后做的判断,不会影响已经改变的血量,如果后继不做其他操作,死者不受影响   发表于 2022-10-15 12:45
可以不复活自己啊,有什么冲突吗?  发表于 2022-10-15 12:40
楼主是不是要自己死后复活队友除外自己?  发表于 2022-10-14 18:59
血量归零就死亡了啊,还少跑一次判断  发表于 2022-10-14 18:48
所以为什么不写在死亡后..  发表于 2022-10-14 18:45
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7767
在线时间
1337 小时
注册时间
2015-8-15
帖子
752
6
发表于 2022-10-17 14:08:17 | 只看该作者
本帖最后由 金芒芒 于 2022-10-17 19:26 编辑

角色=1 那么商=1
角色=0 那么商=0
商和任何数字关系多是*/不会是+-
0*100%魔力或武力*100%的概率或命中率,结果≠1*100%魔力或武力*100%的概率或命中率
角色死亡系统就不判断了,因为所有伤害和增益公式里多含+-*/,角色死亡就等于0。。只能角色死亡执行公共事件执行(+入角色=1,商就=1)该角色不在同伴中使用了复活技能(角色-1=0,角色退出),本人不懂脚本你自己写。还要定义同伴死亡后消退的时间,不然系统也测不到,最好把消退时间拉长系统没有记忆功能。

回光返照2.jpg (89.85 KB, 下载次数: 13)

回光返照2.jpg

回光返照3.jpg (65.7 KB, 下载次数: 11)

回光返照3.jpg
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7767
在线时间
1337 小时
注册时间
2015-8-15
帖子
752
7
发表于 2022-10-17 14:55:48 | 只看该作者
939034448 发表于 2022-10-14 18:18
如果你没啥改动的话,那么到Game_Battler里查找 def hp  ,这个方法在战斗中每次造成技能伤害都会调用的,你 ...

角色死亡系统就不判断了,因为所有伤害和增益公式里多含+-*/,角色死亡就等于0。。只能角色死亡执行公共事件执行该角色不在同伴中使用了复活技能,本人不懂脚本你自己写

点评

你可以理解为我更改了系统机制,让系统在指定人物死亡时立即作出反应,你那个事件的方法和脚本压根不是一个体系  发表于 2022-10-18 17:13
角色死亡并不是将角色直接从游戏或者战斗场景中移除,只是上了一个死亡的状态来区分,它该在哪还是在哪,我就是在它的血量变更后判断是否死亡  发表于 2022-10-18 17:12
才发现你居然是在回复我,你在看我的代码之前,你得先明白战斗系统的基本结构和组成,我看你发的这些东西就知道你压根就不理解战斗系统的运...  发表于 2022-10-18 17:10
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 10:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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