搜索
查看: 421|回复: 0

QF触发段@KillPlay.@HeroKillPlay.@PlayDie的BUG

[复制链接]
发表于 2021-7-23 01:27:37 | 显示全部楼层 |阅读模式
BUG反馈
引擎版本号: 0718
登陆器版本号: 0713
BUG描述: 麻烦管理自己用下面脚本测试
BUG出现的情况我也说明了
BUG重现方式: 麻烦管理自己用下面脚本测试
BUG出现的情况我也说明了
修复后应达到的效果: 恢复原样
主体杀人,触发QF脚本段@KillPlay
英雄杀人,触发QF脚本段@HeroKillPlay
[!]扩展:主体杀英雄时,触发QF脚本段@KillPlayHero
    英雄杀英雄时,触发QF脚本段@HeroKillPlayHero
联系QQ: 隐藏内容
脚本示例1及存在的问题:
;--------------------------------------------------杀人触发段
[@KillPlay]
#If
CHECKGAMEGOLD > 9999
<$STR(S0)>.CHECKGAMEGOLD > 9999
M.CheckActorRace = 0
#ACT
GAMEGOLD + 10000
<$STR(S0)>.GAMEGOLD - 10000
SENDMSG 0 恭喜:<$USERNAME>在<$MAPNAME>将<$STR(S0)>击杀了,获得10000元宝奖励!

;--------------------------------------------------死亡触发---复活
[@PlayDie]
#If
KillByHum
#Act
SendMsg 0 提示:‘%S’在‘%m’被‘<$KILLER>’奸杀了!
SENDTIMEMSG %s复活倒计时 3 250 @人物复活 0 2
SendCenterMsg 58 251 提示:3秒后您将复活! 0 3 1
Close
BREAK

#If
NOT Equal <$MONKILLER> 未知
#Act
SendMsg 0 提示:‘%S’在‘%m’被强悍的怪物‘<$MONKILLER>’分尸了!
SENDTIMEMSG %s复活倒计时 3 250 @人物复活 0 2
SendCenterMsg 58 251 提示:3秒后您将复活! 0 3 1
Close
BREAK

[@人物复活]
#ACT
HumanHP = 100
GmExeCute 复活 Self
mapmove 3 330 330 3
break

;----------------------------------------------英雄杀人触发段
[@HeroKillPlay]
#If
CHECKGAMEGOLD > 9999
<$STR(S0)>.CHECKGAMEGOLD > 9999
M.CheckActorRace = 0
#ACT
GAMEGOLD + 10000
<$STR(S0)>.GAMEGOLD - 10000
SENDMSG 0 恭喜:<$USERNAME>在<$MAPNAME>将<$STR(S0)>击杀了,获得10000元宝奖励!

;----------------------------------------------
@KillPlay  @HeroKillPlay  触发段存在问题:
单独杀死英雄不触发人物加元宝与目标减元宝,如果是一个合击直接干死人物与英雄会执行两次触发人物加元宝与目标减元宝。
0219不存在此问题

;----------------------------------------------

@PlayDie  触发段存在问题:

1:人物或英雄杀死人物触发执行‘@人物复活’是有效的,但是我明明设置的加100HP,实际复活了并不是加100而是直接满血了,小概率躺尸回城,并且不执行‘GmExeCute 复活 Self’这段命令。

2:怪物杀死人物触发执行 ‘@人物复活’执行了‘mapmove 3 330 330 3’这段命令,但是是直接躺尸回城的,并没有执行‘GmExeCute 复活 Self’这段命令
0219不存在以上问题

脚本示例2及存在的问题:
;--------------------------------------------------死亡触发---复活
[@PlayDie]
#If
CHECKFENGHAO 65 1
<$STR(S0)>.CHECKFENGHAO 65 1
#ACT
<$STR(S0)>.GAMEPOINT + 10
RECYCFENGHAO <$USERNAME> 65 1
SENDMSG 0 恭喜:<$STR(S0)>在<$MAPNAME>将<$USERNAME>击杀了,获得10大米奖励!

#If
KillByHum
#Act
SendMsg 0 提示:‘%S’在‘%m’被‘<$KILLER>’奸杀了!
SENDTIMEMSG %s复活倒计时 3 250 @人物复活 0 2
SendCenterMsg 58 251 提示:3秒后您将复活! 0 3 1
Close
BREAK

#If
NOT KillByHum
#Act
SendMsg 0 提示:‘%S’在‘%m’被强悍的怪物‘<$MONKILLER>’分尸了!
SENDTIMEMSG %s复活倒计时 3 250 @人物复活 0 2
SendCenterMsg 58 251 提示:3秒后您将复活! 0 3 1
Close
BREAK

[@人物复活]
#ACT
HumanHP = 100
GmExeCute 复活 Self
mapmove 3 330 330 3
break


;----------------------------------------------
@PlayDie  触发段存在问题:
#If
CHECKFENGHAO 65 1
<$STR(S0)>.CHECKFENGHAO 65 1
#ACT
<$STR(S0)>.GAMEPOINT + 10
RECYCFENGHAO <$USERNAME> 65 1
SENDMSG 0 恭喜:<$STR(S0)>在<$MAPNAME>将<$USERNAME>击杀了,获得10大米奖励!

1:如果检测符合以上条件,执行通过奖励10大米了
下面检测符合条件也不执行了,很诡异

2:怪物杀死人物触发执行 ‘@人物复活’执行了‘mapmove 3 330 330 3’这段命令,依旧是直接躺尸回城的,并没有执行‘GmExeCute 复活 Self’这段命令
0219不存在以上问题


变量BUG:
<$KILLER>杀人者变量
<$MONKILLER>怪物杀人变量
经测试 当人物是被怪物杀死时,‘<$KILLER>’与‘<$MONKILLER>’同时显示相同的怪物名字,应该是人物被怪物杀死‘<$MONKILLER>’显示未知才对



这样搞的狂暴脚本根本写不出了,建议还原老模式。
[!]老模式:主体杀人,触发QF脚本段@KillPlay
                英雄杀人,触发QF脚本段@HeroKillPlay
[!]   扩展:主体杀英雄时,触发QF脚本段@KillPlayHero
        英雄杀英雄时,触发QF脚本段@HeroKillPlayHero





补充内容 (2021-7-23 01:31):
当人物是被怪物杀死时,‘<$KILLER>’与‘<$MONKILLER>’同时显示相同的怪物名字,应该是人物被怪物杀死‘<$KILLER>’显示未知才对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2024-11-25 04:07 , Processed in 0.559715 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表