GOTOLABEL 组队触发检测成员物品并TAKE问题
1.请问下大神们,下面脚本 错在哪里,麻烦指证一下,谢谢了
2.我需要实现的功能是 队长点击NPC 并触发检测队员背包某件物品与金币,检测成功TAKE掉装备与金币,不成功则不执行任务.
3.但是现在的问题是当成员背包中没有金币和装备,当队长通过检测则也会因为 GROUPMAPMOVE 命令传送至地图.有没有什么办法,只要任一队员没有通过检测则不执行 @金币装备检测触发 这里面的命令
[@MAIN]
#IF
CHECKGROUPMEMBERCOUNT > 1
CHECKGROUPMEMBERCOUNT < 6
ISGROUPMASTER
#ACT
MOV M4 1
GOTO @检查金币装备数量
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你开启了组队模式,组队人数不能超过5人!!!\\\\2.你不是队长,请不要点击,小心送你去小黑屋!!!
BREAK
[@检查金币装备数量]
#if
CheckItem 井中月 1
checkgold 20000
EQUAL M4 1
#ACT
GOTOLABEL 0 @金币装备检测触发 10
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你没有井中月!!!\\\\2.你金币不够!!!
BREAK
[@金币装备检测触发]
#IF
CheckItem 井中月 1
checkgold 20000
#ACT
take 井中月 1
take 金币 20000
GROUPMAPMOVE M001 20 94 @ 10
SENDMSG 0 玩家【%s】带队进入【未知暗殿】期待这个队伍满载而归
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你身上或者你的队员是否有井中月\\\\2.你身上或者队员身上是否有足够的金币!!
BREAK
复制代码
[@MAIN]
#IF
CHECKGROUPMEMBERCOUNT > 1
CHECKGROUPMEMBERCOUNT < 6
ISGROUPMASTER
#ACT
MOV M4 1
GOTO @检查金币装备数量
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你开启了组队模式,组队人数不能超过5人!!!\\\\2.你不是队长,请不要点击,小心送你去小黑屋!!!
BREAK
[@检查金币装备数量]
#if
CheckItem 井中月 1
checkgold 20000
EQUAL M4 1
#ACT
GOTOLABEL 0 @金币装备检测触发 10
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你没有井中月!!!\\\\2.你金币不够!!!
BREAK
[@金币装备检测触发]
#IF
CheckItem 井中月 1
checkgold 20000
#ACT
take 井中月 1
take 金币 20000
GROUPMAPMOVE M001 20 94 @ 10
SENDMSG 0 玩家【%s】带队进入【未知暗殿】期待这个队伍满载而归
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你身上或者你的队员是否有井中月\\\\2.你身上或者队员身上是否有足够的金币!!
BREAK
大婶们看着难受我帮你美化下吧。。勾起大神们思考的欲望 51614445 发表于 2020-10-20 21:42 [@MAIN]
#IF
CHECKGROUPMEMBERCOUNT > 1
非常感谢 有人能帮忙回答一下吗 [@金币装备检测触发]
#IF
CheckItem 井中月 1
checkgold 20000
#ACT
take 井中月 1
take 金币 20000
GROUPMAPMOVE M001 20 94 @ 10
SENDMSG 0 玩家【%s】带队进入【未知暗殿】期待这个队伍满载而归
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你身上或者你的队员是否有井中月\\\\2.你身上或者队员身上是否有足够的金币!!
BREAK
——这个地方直接用GROUPMAPMOVE M001 20 94 @ 10 不对,
你这个[@金币装备检测触发]是每一个队员都要执行一次,假如有队伍有3人,要执行三次,队长在前面[@检查金币装备数量]里面已经满足了,就肯定会执行GROUPMAPMOVE M001 20 94的,既然执行了,队友1和2不管有没有满足条件,都会被传过去。所以你的脚本逻辑就是错的。 你要做全部队员都检查通过才能传送,就需要先做全部队员的检查,然后再用【一次GROUPMAPMOVE】。至于如何检查每一个队员的条件,检查结果用变量或者标志标识,就看你设计了。我的参考意见是需要用循环、<$TEAM0>.CheckItem 井中月 1 等等来实现。具体的你自行设计吧。我没试验过。 [@检查金币装备数量]
#if
CheckItem 井中月 1
checkgold 20000
EQUAL M4 1
#ACT
;GOTOLABEL 0 @金币装备检测触发 10
mov N1 0
mov N2 0
Loopgoto @队员检查 <$GROUPMEMBERCOUNT>
DELAYGOTO 200 @队伍传送
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你没有井中月!!!\\\\2.你金币不够!!!
BREAK
[@队员检查]
#IF
<$TEAM<$STR(N1)>>.CheckItem 井中月 1
<$TEAM<$STR(N1)>>.checkgold 20000
#ACT
Inc N1 1
Inc N2 1
#ELSEACT
endloop
[@队伍传送]
#IF
EQUAL <$STR(N2)> <$GROUPMEMBERCOUNT>
#ACT
GROUPMAPMOVE M001 20 94 @ 10
GOTOLABEL 0 @拿走门票 10
SENDMSG 0 玩家【%s】带队进入【未知暗殿】期待这个队伍满载而归
#ELSEACT
MESSAGEBOX 温馨提示:进入失败\\\\1.你身上或者你的队员是否有井中月\\\\2.你身上或者队员身上是否有足够的金币!!
BREAK
[@拿走门票
#ACT
CheckItem 井中月 1
checkgold 20000
以上仅做参考,我没实际运行过。可以参考思路 拿走门票那有明显的错误,如果前面你试过能行得通,在好好设计一下你这个队伍的触发行为。我看有队伍范围的,比如有队员在10范围外,是不触发的话,我这种方式还有缺陷的。自行斟酌吧。 汤团先生 发表于 2020-10-21 11:49 拿走门票那有明显的错误,如果前面你试过能行得通,在好好设计一下你这个队伍的触发行为。我看有队伍范围的 ...
非常感谢 zhangfeng 发表于 2020-10-21 14:40 非常感谢
谢谢你的思路,终于写完了
页:
[1]
2