Project1

标题: 请问数据库中状态的maxhp血量 [打印本页]

作者: mysl    时间: 2010-9-26 22:02
标题: 请问数据库中状态的maxhp血量
假设我替个防具加了maxhp 200%的状态
穿他的角色HP是100/100
穿上后变成 100/200 ,没给补满
要怎样改脚本让他穿上去后变成200/200  ?
回血是在状态上了之前就回,补不上

作者: a360015305    时间: 2010-9-26 22:12
本帖最后由 a360015305 于 2010-9-26 22:25 编辑

事件里加上.穿上装备后增减HP

这个装备事件比较复杂.你可以在购买这个装备后 在那个地图里加上这个事件..

不然要靠装备后自动回血.得改脚本了!


脚本越多越容易出错 不建议使用!

最好纯事件!

QQ截图未命名.png (4.35 KB, 下载次数: 11)

QQ截图未命名.png

作者: mysl    时间: 2010-9-26 22:35
回得真快!
这的确是个方法,不过角色和装备多起来可就手软了
做成特技带状态也不能补成全满
有点还差那么几步:dizzy:

不知和game_actor和game-battler1那的获取maxhp有关否?

作者: 后知后觉    时间: 2010-9-27 18:12
很怪异的效果.
先不说怎么做.
先说说要考虑些什么细节.
首先是hp是增加(MAXHP增加的倍数)
还是hp增加的是(MAXHP增加的具体数值)
比如现在的状况是 98/100.
那现在maxhp是200了.比原来多100.是原来的2倍
那hp应该是 198 还是 196?

然后是做了增加是否还要做减少.
128/200 的状况下.
现在 maxhp变成了50.
那hp是应该32呢还是128-150直接挂掉?.

如果只做增加而不做减少的话.那就更美妙了.免费回血.
比如现在的状况是 51/100.
带上装备是 151/200 或者 102/200.
然后取下来 maxhp又是 100了
这个时候就会因为hp大于maxhp而自动修正为和maxhp一样.成了100.
然后再穿上那装备.哦也 200/200 了...

是不是很好玩呢?.
作者: mysl    时间: 2010-9-27 19:32
本帖最后由 mysl 于 2010-9-27 19:51 编辑

LS说到重点了。
原本game_actor和game_battler里的获取maxhp是这幺写的
###
def maxhp
    n = [[base_maxhp + @maxhp_plus, 1].max, 999999].min
    for i in @states
       n *= $data_states.maxhp_rate / 100
    end
    n = [[Integer(n), 1].max, 999999].min
    return n
  end
###

中间我改成

n += $data_states.maxhp_rate

这样数据库状态的maxhp就能填什幺加多少MAXHP(原来的是乘,太可怕了)

像网游那样增加最大血量状态,自然是不能当补血用的
所以我想,让它只有在角色HP是满的时才有增减实际HP
举个例

血100/100时上个 +100MAXHP 的状态
就变200/200

血99/100时上同样状态
变 99/200

在99/200时状态消失
还是99/100

在99/200时被补满且状态消失
变回100/100 (这儿估计会被系统自动扣回)

感觉这只要加个条件分歧就好,只是不知该加在哪里,又该加些什幺。

作者: mysl    时间: 2010-9-28 21:15
轻顶




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