Project1
标题:
晕~~...聚气第四问了...
[打印本页]
作者:
木许许
时间:
2008-7-21 19:12
标题:
晕~~...聚气第四问了...
以下脚本是战斗特殊效果中描写角色每回合使用“聚气”的特技之后威力有所上升,我想修改为:当聚气的角色中途被打死,那么之前的所有聚气都无效,复活之后还是从头开始。
之前在Sprite_Battler 的 update 中添加 @battler.powerstock = 0,似乎可以了,但是我只希望聚气的角色中途被打死后之前的所有聚气都无效,如果别的角色先被打死了,聚气角色之前的聚气次数也变得无效了,如何让聚气角色不受其他角色死亡的影响?
#--------------------------------------------------------------------------
# ● 初期化
#--------------------------------------------------------------------------
alias before_powerstock_original_initialize initialize
def initialize
before_powerstock_original_initialize
@powerstock = 0
@powerstock_skill_id = $data_system.elements.index(POWERSTOCK_SKILL_ELEMENT_NAME)
@powerstock_skill_id = 0 if @powerstock_skill_id == nil
@effect_message = nil
end
#--------------------------------------------------------------------------
# ● 通常攻撃の効果適用
# attacker : 攻撃者 (バトラー)
#--------------------------------------------------------------------------
alias before_powerstock_original_attack_effect attack_effect
def attack_effect(attacker)
# 攻撃者が「ちからため」しているか?
if attacker.powerstock > 0
bool_powerstock = true
# 攻撃者の力を一時的に上昇させる
stock_attacker_str = attacker.str
attacker.str += ( stock_attacker_str * POWERSTOCK_BASE_RATE * attacker.powerstock ).to_i
# ヘルプメッセージに「ちからためx?」を出す
@action_message = POWERSTOCK_SKILL_ELEMENT_NAME
@action_message += " x"
@action_message += attacker.powerstock.to_s
# ストックを消す
attacker.powerstock = 0
else
bool_powerstock = false
end
# fukuyamaさん↓のミス発見ありがとうございました
result = before_powerstock_original_attack_effect(attacker)
# 力を上昇させていた場合、元に戻す
if bool_powerstock
attacker.str = stock_attacker_str
end
return result
end
#--------------------------------------------------------------------------
# ● スキルの効果適用
# user : 使用者 (バトラー)
# skill: スキル
#--------------------------------------------------------------------------
alias before_powerstock_original_skill_effect skill_effect
def skill_effect(user, skill)
#「ちからため」スキルかどうかの判定。
if skill.element_set.include?(@powerstock_skill_id)
# 命中率を適用する場合は下のif文のコメントを外してください
#if rand(100) < skill.hit
@powerstock += 1 # 「ちからため」回数を1増やす
# ダメージに"Charge"をセットする
self.damage = "Charge"
# 命中率を適用する場合は下のelse~endのコメントを外してください
#else
# self.damage = "Miss"
#end
# 普通のスキル判定は行わない。
return true
else
return before_powerstock_original_skill_effect(user, skill)
end
end
end
复制代码
战斗特殊效果
http://rpg.blue/web/htm/news184.htm [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
[LINE]1,#dddddd[/LINE]
此贴于 2008-7-23 23:52:46 被版主darkten提醒,请楼主看到后对本贴做出回应。
作者:
havealook
时间:
2008-7-21 19:16
版务信息:本贴由楼主自主结贴~
?????????没人回答啊
作者:
木许许
时间:
2008-7-21 19:19
什么意思??{/fd} [LINE]1,#dddddd[/LINE]
版主对此帖的评论:『就是你没认可答案,为什么你顶楼的帖子会显示"版务信息:本贴由楼主自主结贴~ "?我只是感到有点奇怪』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者:
灯笼菜刀王
时间:
2008-7-21 19:20
话说楼主的问题还没解呢- -~~
是不是竹子们在实验直接进行积分处理~~~~
回楼主:
在Sprite_Battler 中是怎么设置的,也帖出来看看。
作者:
木许许
时间:
2008-7-21 19:22
写成下面这样,无论队伍中死了谁,聚气都归0了,但我只希望聚气角色死了后次数归0:
if @battler.damage == nil and @battler.dead?
if @battler.is_a?(Game_Enemy)
$game_system.se_play($data_system.enemy_collapse_se)
else
@battler.powerstock = 0
$game_system.se_play($data_system.actor_collapse_se)
end
collapse
@battler_visible = false
end
作者:
、「尕訞孑」
时间:
2008-7-21 19:26
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1