Project1

标题: 怎么设置一个每走一步掉血的状态 [打印本页]

作者: k1402674826    时间: 2014-8-20 03:06
标题: 怎么设置一个每走一步掉血的状态
       本人是RM新手,然后在学了半个月左右,准备自己做一个试手作,然后需要让主角在地图上行走时每走一步都会掉血,最开始是准备把图块设置为有害地形,可是VA的有害地形会有一个闪烁画面的特效,咱又不知道怎么取消,然后就有一位前辈提到,用DEBUFF的方式,所以咱就把默认的剧毒状态修改了下,结果发现,剧毒的状态,只有在战斗的时候会掉血,在地图行走时是不会掉的,所以就只有来论坛上问问,到底怎么设置一个在地图行走时会掉血的状态。
作者: 三途亚梦    时间: 2014-8-20 09:14
本帖最后由 三途亚梦 于 2014-8-20 09:22 编辑

在地图上并不是不会掉血,而是每走一定的步数才会掉血。
RM在地图上有个判断是每走多少步等于战斗内一回合,而且损伤HP的话也会有红光闪烁。

你可以通过修改这个步数来达到想要的效果。

使用事件做也是可以的,
事件设置成玩家接触,然后在玩家下方,脚本输入以下内容
RUBY 代码复制
  1. $game_party.members[0].hp -= 1


这句的意思是玩家领队的hp减少1点。

作者: 余烬之中    时间: 2014-8-20 09:20
我是笨蛋
方法和楼上的是一样的 要注意的是 如果一个状态“三回合后自动解除” 那么地图上走三步就完事了
RUBY 代码复制
  1. class Game_Actor
  2.   def steps_for_turn
  3.     return 1
  4.   end
  5. end

作者: 蓝儿    时间: 2014-8-20 10:11
地上放一个事件玩家接触时掉1hp然后停止事件处理
作者: k1402674826    时间: 2014-8-20 10:19
三途亚梦 发表于 2014-8-20 09:14
在地图上并不是不会掉血,而是每走一定的步数才会掉血。
RM在地图上有个判断是每走多少步等于战斗内一回合 ...

多谢了 还好咱看过一点点脚本教程 大致知道这句的意思 以后可以做参考
作者: k1402674826    时间: 2014-8-20 10:21
三途亚梦 发表于 2014-8-20 09:14
在地图上并不是不会掉血,而是每走一定的步数才会掉血。
RM在地图上有个判断是每走多少步等于战斗内一回合 ...

对了 怎么把这个1改成自己设置的变量
作者: k1402674826    时间: 2014-8-20 10:27
三途亚梦 发表于 2014-8-20 09:14
在地图上并不是不会掉血,而是每走一定的步数才会掉血。
RM在地图上有个判断是每走多少步等于战斗内一回合 ...

顺带再问一个问题 怎么让某个事件 玩家每走一步触发一次  不然每格都设置好麻烦
作者: k1402674826    时间: 2014-8-20 10:33
不用高级模式根本不出现验证码 不是咱的错啊
作者: k1402674826    时间: 2014-8-20 12:39
k1402674826 发表于 2014-8-20 10:27
顺带再问一个问题 怎么让某个事件 玩家每走一步触发一次  不然每格都设置好麻烦 ...

主要是我设置的事件很多  每个事件结尾都加个减血很麻烦 就算用公共事件还是很麻烦  有没有让有害地形不闪烁的方法
作者: VIPArcher    时间: 2014-8-20 12:49
本帖最后由 VIPArcher 于 2014-8-30 01:20 编辑
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 地形伤害的处理
  4.   #--------------------------------------------------------------------------
  5.   def execute_floor_damage
  6.     damage = (basic_floor_damage * fdr).to_i #如果要伤害值为定值直接修改他
  7.     self.hp -= [damage, max_floor_damage].min  
  8.   end
  9. end
复制代码
未测试
直接改

获取伤害地形伤害
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取地形伤害的基础值
  4.   #--------------------------------------------------------------------------
  5.   def basic_floor_damage
  6.     return 10   #修改这里该伤害基础值
  7.   end
  8.   #--------------------------------------------------------------------------
  9.   # ● 获取地形伤害的最大值
  10.   #--------------------------------------------------------------------------
  11.   def max_floor_damage
  12.     $data_system.opt_floor_death ? hp : [hp - 1, 0].max   
  13.   end
  14. end


作者: k1402674826    时间: 2014-8-20 12:56
VIPArcher 发表于 2014-8-20 12:49
未测试

确实不会闪了  请问怎么调整这个数值   
ps:还是不出验证码 所以只有用高级模式




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