Project1

标题: 属性扣了不及时刷新 [打印本页]

作者: daixiongwei    时间: 2008-1-13 06:54
标题: 属性扣了不及时刷新
在战斗中我自己做了一个体力条,不管什么技能(耗血的耗蓝的)都需要体力,耗血的技能我是用公共事件来扣HP的,那个正常。
但是附加上公共事件扣体力的时候却不能及时刷新,如果没有挨打的话(我设置是挨一下+2点体力)体力是不会动的,也就是说某技能需要5点体力放,5点体力达到了,可以放了,放过之后体还是5 orz 除非挨一下打,体力才变回2(原来有5,放技能-5,挨一下+2),不然就一直是5,技能就可以一直放,请教一下怎么刷新这个体力?让技能放出后及时的扣掉体力。
谢谢! [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: daixiongwei    时间: 2008-1-13 06:54
标题: 属性扣了不及时刷新
在战斗中我自己做了一个体力条,不管什么技能(耗血的耗蓝的)都需要体力,耗血的技能我是用公共事件来扣HP的,那个正常。
但是附加上公共事件扣体力的时候却不能及时刷新,如果没有挨打的话(我设置是挨一下+2点体力)体力是不会动的,也就是说某技能需要5点体力放,5点体力达到了,可以放了,放过之后体还是5 orz 除非挨一下打,体力才变回2(原来有5,放技能-5,挨一下+2),不然就一直是5,技能就可以一直放,请教一下怎么刷新这个体力?让技能放出后及时的扣掉体力。
谢谢! [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 水迭澜    时间: 2008-1-13 07:02
调用update就行。不过你是写在什么地方的?也可以自己定义一个刷新血条的方法。
比如说定义def hp_update之类……

作者: daixiongwei    时间: 2008-1-13 07:08
水姐姐,是每个写过的地方都要udate一下吗?
作者: daixiongwei    时间: 2008-1-14 01:56
谁来帮帮我啊?从昨天到今天弄了两天了都没办法解决{/ll}
作者: 做游戏的新手    时间: 2008-1-14 01:59
不明白{/jy}{/jy}{/jy}{/jy}
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 0飘絮0    时间: 2008-1-14 02:30
已经结帖了?
唠叨句吧,你怎么不在脚本里扣除魔法SP时扣除体力呢?
在Scene_Battle 4里
如:# 消耗 SP
    @active_battler.sp -= @skill.sp_cost
的句子,自己看着办吧
作者: daixiongwei    时间: 2008-1-14 02:48
没有结贴啊{/gg}关键是我不知道@skill.fennu_cost在哪里写{/gg}我写的是fennu(愤怒)。
消耗的愤怒值应该怎么表达呢?有N个技能消耗不同值的愤怒的
作者: 精灵使者    时间: 2008-1-14 03:27
新的问题请开新的贴子提问……
作者: 0飘絮0    时间: 2008-1-14 04:22
以下引用daixiongwei于2008-1-13 18:48:30的发言:
没有结贴啊关键是我不知道@skill.fennu_cost在哪里写我写的是fennu(愤怒)。
消耗的愤怒值应该怎么表达呢?有N个技能消耗不同值的愤怒的

fennu_cost ? 你自己定义了没?没的话无法使用.
要是你不能理解下面我写的,你就忽视我的回答吧(因为下面写的只是扣除愤怒,其他的比如判断能否使用之类的,我都没写在下面.要是理解了,就试着自己想怎么改吧)
定义一个常数组THE_FENNU_USE = [10,11,12,13,14,15]    #需要愤怒的技能ID都要写在这里
在Scene_Battle 4里找def make_skill_action_result里的消耗SP的句子改(如下):
if THE_FENNU_USE.include?(@skill.id)  #如果使用的技能ID包含在THE_FENNU_USE 里
           @active_battler.hp_store -= @skill.sp_cost # (hp_store 是我的愤怒有如sp的功能) 攻击者的愤怒值 扣除 技能(里设计)消耗(SP)的量
         elsif @skill.id == 94 #如果技能ID是94号
           ssqy = @active_battler.maxhp * 7 / 10   #攻击者70%的HP
           @active_battler.hp -=  ssqy           #攻击者扣除 70%的HP
        else   # 消耗 SP                        #如果上面条件都不符合,则
           @active_battler.sp -= @skill.sp_cost   #正常的扣除 SP
        end  
####看不懂就忽视吧,看得懂就自己动手修改出全面的吧
作者: 精灵使者    时间: 2008-1-14 04:23
以下引用daixiongwei于2008-1-12 22:54:32的发言:


本贴悬赏额度如下:VIP:0   积分:100   好人卡:0
在战斗中我自己做了一个体力条,不管什么技能(耗血的耗蓝的)都需要体力,耗血的技能我是用公共事件来扣HP的,那个正常。
但是附加上公共事件扣体力的时候却不能及时刷新,如果没有挨打的话(我设置是挨一下+2点体力)体力是不会动的,也就是说某技能需要5点体力放,5点体力达到了,可以放了,放过之后体还是5 orz 除非挨一下打,体力才变回2(原来有5,放技能-5,挨一下+2),不然就一直是5,技能就可以一直放,请教一下怎么刷新这个体力?让技能放出后及时的扣掉体力。
谢谢!

那个问题已经帮他解决了,现在就称这个问题了。刷新hp和sp条的地方在哪里呢?在那里添上一句就可以了。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: daixiongwei    时间: 2008-1-14 06:39
是啊,消耗体力一开始我是用公共事件做的就能扣,精灵告诉我了脚本的方法,方便一些了。但是现在唯一的问题就是:扣了之后不刷新,数字显示还是那么多,但是实际上已经扣掉了(因为技能不能用了),要再挨打,体力才显示正常。
作者: 精灵使者    时间: 2008-1-14 07:00
你的那个cp条脚本不完善引起的。刷新算法中没有考虑到愤怒条不一样的情况。
帮你修改完毕。




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