Project1

标题: 如何做出类似网络游戏点修炼的效果呢? [打印本页]

作者: 邱小谦    时间: 2018-2-6 10:10
标题: 如何做出类似网络游戏点修炼的效果呢?
萌新想做出一个类似于现在2d回合制游戏的那种点修炼的效果。之前的实现思路是直接在事件增加人物的属性(力量、法术、防御)等来达到修炼的作用。但是bug也非常明显,只要玩家洗点或者重置属性点后,所增加的属性也会被一起洗掉,造成属性溢出。后来在脚本里面找到了人物增加攻击力而不是力量值的脚本,但是在事件方调用失败。有没有什么思路可以实现在不增加人物力量的情况下,提升人物修炼的效果呢?
作者: soulsaga    时间: 2018-2-6 13:03
用被动技能?
作者: Tian_Ya    时间: 2018-2-6 14:04
重新写一个不会造成属性溢出的洗点,让修炼所增加的属性清空,不过洗完点要重新点修就是了
作者: 邱小谦    时间: 2018-2-6 14:39
Tian_Ya 发表于 2018-2-6 14:04
重新写一个不会造成属性溢出的洗点,让修炼所增加的属性清空,不过洗完点要重新点修就是了 ...

这样的话,就算是游戏逻辑上的漏洞了。我比较强迫症,应该有更好的解决思路吧。。。。
作者: soulsaga    时间: 2018-2-6 15:09
学习被动技能增加力量值..你就算怎么花式洗点都不会影响到..
作者: 邱小谦    时间: 2018-2-6 15:46
soulsaga 发表于 2018-2-6 15:09
学习被动技能增加力量值..你就算怎么花式洗点都不会影响到..


但是我想实现的是修炼的效果,如果是靠学习技能而实现增加力量的话。只能学一次吧。我要上限100次。点一次消耗多少金钱和经验这样。也算是学习技能的一种吧。
作者: Tian_Ya    时间: 2018-2-6 16:04
邱小谦 发表于 2018-2-6 14:39
这样的话,就算是游戏逻辑上的漏洞了。我比较强迫症,应该有更好的解决思路吧。。。。 ...

那就保留之前的修炼模式,在洗点的时候加入检测,检测玩家修了多少点,洗完点还给玩家相应的属性,另外修炼可以改成属性加成的模式之类的,用变量做检测就行了
作者: soulsaga    时间: 2018-2-6 16:12
本帖最后由 soulsaga 于 2018-2-6 16:16 编辑
邱小谦 发表于 2018-2-6 15:46
但是我想实现的是修炼的效果,如果是靠学习技能而实现增加力量的话。只能学一次吧。我要上限100次。点一 ...


技能可能不太好吧..
作者: guoxiaomi    时间: 2018-2-27 20:07
本帖最后由 guoxiaomi 于 2018-2-27 20:08 编辑

修改 Game_Battler / Game_Actor 里面的几个属性相关的方法:
比如:
  1. def str
  2.   str = base_str + @str + 你要的别的变量
  3. end
复制代码

不过是萌新的话……看看能不能找人帮你整理一下这些脚本之间的冲突吧?
作者: chd114    时间: 2018-2-27 23:39
就用楼上的方法,你说得溢出指的是什么···加maxhp和maxsp的属性洗掉以后当前hp和sp超过上限的问题吗?如果是这个问题,洗完点以后用$game_actors[1].hp=$game_actors[1].maxhp调整一下就可以了
或者在洗点之前先记录下当前生命百分比,然后在洗点结束后做调整
r=1.0
r*=$game_actors[1].hp/$game_actors[1].maxhp
正常的洗点流程
$game_actors[1].hp=($game_actors[1].maxhp*r).to_i




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