Project1

标题: 再咨询一个生化危机脚本的事情 [打印本页]

作者: 步兵中尉    时间: 2020-3-10 22:36
标题: 再咨询一个生化危机脚本的事情
想给丧尸和怪物设置属性,可能吗?
此外,如何附加中毒状态?找了一圈没看到哪里设置啊?

计划是给丧尸添加一个属性,然后让不同武器打在它们身上有不同的效果;比如大黑星,穿透力强,虽然威力很大,可打丧尸身上却杀伤力不大,而打皮糙肉厚的BOSS却相当带劲。

望诸位大侠不吝赐教。

链接: https://pan.baidu.com/s/1VntmnST0by9aDjfZO1zTHg
提取码: gmwc


作者: 步兵中尉    时间: 2020-3-11 09:41
@enghao_lim

能再帮我看看吗
作者: enghao_lim    时间: 2020-3-12 00:12
本帖最后由 enghao_lim 于 2020-3-12 00:18 编辑
步兵中尉 发表于 2020-3-11 09:41
@enghao_lim

能再帮我看看吗


大概看了一下,总结了比较简单的处理方法,就是重定义伤害,在你Interpreter 2里头的def attack_enemy对换成如下, 然后在事件里设置脚本@element,第一行一定要初始化@element = {},参考图显示一号属性伤害会 * 0.5倍,如果要强化效果,数目大过1就行,最后记得在武器里勾上该属性。
  1.   def attack_enemy
  2.     defend = @def_min+rand(@def_max-@def_min+1)
  3.     damage = $game_map.events[@event_id].att
  4.     # 获取角色武器
  5.     actor = $game_party.actors[0]
  6.     weapon_id = (actor.weapon_id != 0) ? actor.weapon_id : actor.sp_wea_id
  7.     # 有武器切敌人拥有属性设置
  8.     if (weapon_id > 0 and @element != nil and @element.size > 0)
  9.       weapon = $data_weapons[weapon_id]
  10.       weapon_ele = weapon.element_set
  11.       for i in 0...weapon_ele.size
  12.         if (@element[weapon_ele[i]] != nil)
  13.           damage *= @element[weapon_ele[i]]
  14.         end
  15.       end
  16.     end
  17.     # 默认减去防御
  18.     damage -= defend
  19.     $game_map.events[@event_id].damage(damage)
  20.     return
  21.   end
复制代码

顺带一提,从脚本看没找到敌人能够拥有状态,也就是说……无法中毒
作者: 步兵中尉    时间: 2020-3-12 09:10
enghao_lim 发表于 2020-3-12 00:12
大概看了一下,总结了比较简单的处理方法,就是重定义伤害,在你Interpreter 2里头的def attack_enemy对 ...

好吧,怪我没说清楚。
说中毒是指 敌人攻击之后主角之后主角中毒,因为道具里面有解毒的草药

作者: enghao_lim    时间: 2020-3-12 11:03
步兵中尉 发表于 2020-3-12 09:10
好吧,怪我没说清楚。
说中毒是指 敌人攻击之后主角之后主角中毒,因为道具里面有解毒的草药
...


角色的话还好办。因为这个所有的攻击判定之类的都在事件里头执行,所以在丧尸攻击角色时添加一个条件分歧就行了,判断是否中毒,没有的话就增加状态中毒。
作者: 步兵中尉    时间: 2020-3-13 09:25
本帖最后由 步兵中尉 于 2020-3-13 09:28 编辑
enghao_lim 发表于 2020-3-12 11:03
角色的话还好办。因为这个所有的攻击判定之类的都在事件里头执行,所以在丧尸攻击角色时添加一个条件分 ...


第二个问题已经解决

现在是第一个问题,按着你说的做了,可子弹一打中敌人就出问题。





作者: enghao_lim    时间: 2020-3-13 22:47
步兵中尉 发表于 2020-3-13 09:25
第二个问题已经解决

现在是第一个问题,按着你说的做了,可子弹一打中敌人就出问题。


  1. element[6] = 0.5
复制代码
不是
  1. elementp[6] = 0.5
复制代码
,你多打了一个p……
作者: 步兵中尉    时间: 2020-3-14 00:07
enghao_lim 发表于 2020-3-13 22:47
是不是,你多打了一个p……


我去,不小心多打了一个字母都没发现

非常感谢,这些可以快乐地制作了。

有兴趣帮我测试下试做的没有,就是用来测试各种情况的试做版本。
作者: 步兵中尉    时间: 2020-3-14 00:08
@RyanBern
认可3楼答案
作者: PLeaseS    时间: 2020-3-14 08:19
里昂怎么变成李昂
反正音译都差不多= =

作者: 步兵中尉    时间: 2020-3-14 09:05
PLeaseS 发表于 2020-3-14 08:19
里昂怎么变成李昂
反正音译都差不多= =


呃……

这本来就只是个测试程序,而且名字是随便打的。

正式的测试版是下面那个样子


作者: PLeaseS    时间: 2020-3-14 13:14
步兵中尉 发表于 2020-3-14 09:05
呃……

这本来就只是个测试程序,而且名字是随便打的。

那个生命值的效果是怎么搞的啊
直接在菜单里弄序列帧吗
大佬教一下???

作者: 步兵中尉    时间: 2020-3-14 14:20
PLeaseS 发表于 2020-3-14 13:14
那个生命值的效果是怎么搞的啊
直接在菜单里弄序列帧吗
大佬教一下???

不是有工程范例吗?
那个是生命数值固定,然后用一张图反复移动来实现的;当生命低于一定数值时,就通过变色来表示

比如轻伤就是黄色,重伤红色,中毒紫色
作者: PLeaseS    时间: 2020-3-14 17:15
???表示不知道有这种东西,链接来个康康啊
研究研究

作者: 步兵中尉    时间: 2020-3-14 20:34
PLeaseS 发表于 2020-3-14 17:15
???表示不知道有这种东西,链接来个康康啊
研究研究


一楼就是工程啊,没看




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