Project1
标题:
有没有脚本或事件可以让人攻击后解除某个状态?
[打印本页]
作者:
烤猫
时间:
2011-1-15 16:24
标题:
有没有脚本或事件可以让人攻击后解除某个状态?
本帖最后由 烤猫 于 2011-1-16 16:17 编辑
比如有一个技能是让自己隐身,攻击就会消失,不攻击就3回合后消失。这个攻击一次就消失该怎么做?要是公共事件的话,有多个角色都会这技能,都使用分歧容易把其他人的状态下了,而且普通攻击没法调用。
不要无视我啊
作者:
烁灵
时间:
2011-1-15 18:46
本帖最后由 烁灵 于 2011-1-15 19:57 编辑
在数据库→状态 里设置解除条件 受到伤害后解除 3回合后100%解除就行了
##############################################
随便在哪写
$ss = [2,4]#2,4什么的是状态编号,逗号分开
复制代码
,然后把scene_battle
#--------------------------------------------------------------------------
# ● 执行战斗行动
#--------------------------------------------------------------------------
def execute_action
case @active_battler.action.kind
when 0 # 基本
case @active_battler.action.basic
when 0 # 攻击
execute_action_attack
when 1 # 防御
execute_action_guard
when 2 # 逃跑
execute_action_escape
when 3 # 等待
execute_action_wait
end
when 1 # 使用技能
execute_action_skill
when 2 # 使用物品
execute_action_item
end
end
复制代码
改成
#--------------------------------------------------------------------------
# ● 执行战斗行动
#--------------------------------------------------------------------------
def execute_action
case @active_battler.action.kind
when 0 # 基本
case @active_battler.action.basic
when 0 # 攻击
execute_action_attack
####################################
for st in @active_battler.states
if $ss.include?(st.id)
@active_battler.remove_state(st.id)
end
end
####################################
when 1 # 防御
execute_action_guard
when 2 # 逃跑
execute_action_escape
when 3 # 等待
execute_action_wait
end
when 1 # 使用技能
execute_action_skill
####################################
for st in @active_battler.states
if $ss.include?(st.id)
@active_battler.remove_state(st.id)
end
####################################
end
when 2 # 使用物品
execute_action_item
end
end
复制代码
这样吧
作者:
烤猫
时间:
2011-1-16 10:58
本帖最后由 烤猫 于 2011-1-16 16:17 编辑
弄好了,检测状态和执行战斗位置替换一下。
#--------------------------------------------------------------------------
# ● 执行战斗行动
#--------------------------------------------------------------------------
def execute_action
case @active_battler.action.kind
when 0 # 基本
case @active_battler.action.basic
when 0 # 攻击
####################################
for st in @active_battler.states
if $ss.include?(st.id)
@active_battler.remove_state(st.id)
end
end
####################################
execute_action_attack
when 1 # 防御
execute_action_guard
when 2 # 逃跑
execute_action_escape
when 3 # 等待
execute_action_wait
end
when 1 # 使用技能
####################################
for st in @active_battler.states
if $ss.include?(st.id)
@active_battler.remove_state(st.id)
end
####################################
end
execute_action_skill
when 2 # 使用物品
execute_action_item
end
end
复制代码
继续问:在哪认可啊。。。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1