GM1991 发表于 2013-1-3 13:40:23

挑战脚本待续

挑战时候必须行会盟主才能发起对其他盟会的挑战。需要输入要挑战的(行会名称)必须填对~第二是输入该(行会盟主名字)必须填对
问题出现在这里了。行会名称我可以随便乱打即使这个服没有这个行会也可以打上。第二个输入行会盟主名字,当我随便输入一个名字 只要这个玩家有行会 在线的话 都可以接受挑战 本来是只有盟主才能接受挑战的,弄的所有成员都有这个权利接受挑战。



那你就一步一步的检测 检测行会名称 跟那个人是否是行会掌门

CHECKOFGUILD 行会名称
;检测行会名字的

ISGUILDMASTER
;检测是否是掌门

我按你说的加这些命令 可还是不行啊。
帮忙看看到底哪里错了啊!!

(@@InPutString @@InPutInteger )
[@main]
#SAY
<★┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉★/SCOLOR=69>\
<┋/SCOLOR=69>强大的行会是玛法大陆力量的支撑,在面对强悍的来犯之敌时<┋/SCOLOR=69>\
<┋/SCOLOR=69>只有组织严明的行会才能取得胜利,你可以在我这里向其他行<┋/SCOLOR=69>\
<┋/SCOLOR=69>会 <发起挑战/SCOLOR=250> 每次挑战其他行会的,<押金不得少于2000个元宝/SCOLOR=250><┋/SCOLOR=69>\
<┋/SCOLOR=69>如果你们的行会在战斗中获胜,将会赢得对方行会的元宝押金<┋/SCOLOR=69>\
<┋/SCOLOR=69>当然我会收取<10%的手续费/SCOLOR=250>来作为场地费用。        <┋/SCOLOR=69>\
<╠┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╣/SCOLOR=69>\
<┋/SCOLOR=69> <申请行会挑战/@KillOpen_1>    <进入比赛场地/@gopk_1>    <领取奖励/@lingQU_1>  <┋/SCOLOR=69>\
<╚┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╝/SCOLOR=69>\


[@lingQU_1]
#IF
ISGUILDMASTER
#ACT
MOV S0 <$GUILDNAME>
goto @lingQU_2
#ELSESAY
你不是行会老大,不能领取奖励。\ \
<关闭对话/@exit>

[@lingQU_2]
#IF
ISGUILDMASTER
CheckTextList .\QuestDiary\重要数据\行会名单.txt <$STR(S0)>
#ACT
MOV p1 <$GUILDBUILDPOINT>
MOV p2 <$GUILDBUILDPOINT>
DIV p1 <$STR(p2)> 10
MUL p2 <$STR(p2)> 2
MUL p1 <$STR(p1)> 2
MOV p3 <$STR(p2)>
DEC p3 <$STR(p1)>
MOV N1 <$str(P3)>
#SAY
总奖金<$STR(p2)>个元宝\
扣除10%手续费。\
应得奖金<$STR(N1)>个元宝\
<领取奖金/@gogolingqu>
#ELSESAY
你已经领取过奖励了吧.\ \
<关闭对话/@exit>

[@gogolingqu]
#say
元宝增加<$STR(N1)>个。\ \
<关闭对话/@exit>
#ACT
GAMEGOLD + <$STR(N1)>
DelTextList .\QuestDiary\重要数据\行会名单.txt <$STR(S0)>
GUILDBUILDPOINT - <$GUILDBUILDPOINT>
GuildNoticeMsg 255 253 <$GUILDNAME>行会在行会集结号比武中获得了<$STR(N1)>个元宝的奖励.

[@gopk_1]
#ACT
GOTO @GOhhpk_1

[@GOhhpk_1]
#IF
CheckGuildMember <$STR(A30)>
EQUAL G34 0
#ACT
MAPMOVE HangHuiPk
Break
#IF
CheckGuildMember <$STR(A31)>
EQUAL G34 0
#ACT
MAPMOVE HangHuiPk
Break
#ELSESAY
20分钟进入赛场的时间已经过了,不能进入了\
或者你不是比赛行会的成员。\ \
<关闭对话/@exit>

[@KillOpen_1]
#IF
EQUAL G30 0
#ACT
goto @jshsj_1
#ELSESAY
已经有行会申请行会挑战赛了。\ \
<关闭对话/@exit>

[@jshsj_1]
#IF
ISGUILDMASTER
#SAY
{<$GUILDNAME>/SCOLOR=250}的掌门人你好!\
行会集结号的比武规则你都清楚了吧,这可是一次表现你\
行会实力的绝好机会哦。\ \
<输入挑战行会/@@InPutString4> 的名称\
<注意:挑战行会名称必须正确,否则将无法开启。/SCOLOR=249>\
#elsesay
你不是行会的掌门人,没有资格申请行会\
挑战赛。\ \
<关闭对话/@exit>

[@CallInPutString4]
#ACT
MOV A30 <$STR(S4)>
MOV A31 <$GUILDNAME>
goto @WhoName_2


[@WhoName_2]
\ \ \ \
<输入挑战行会/@@InPutString5> 的掌门人姓名\
<注意:此人必须是你要挑战行会的掌门人。/SCOLOR=249>\


[@CallInPutString5]
#IF
ISGUILDMASTER
#SAY
\ \
<请输入/@@InPutInteger151> 元宝数量\
#ACT
MOV N1 2000
#ELSESAY
你是行会掌门人吗?少来捣蛋。\ \
<关闭对话/@exit>

[@CallInPutInteger151]
#IF
LARGE N0 <$STR(N1)>
#ACT
GOTO @GoldOk
BREAK
#IF
EQUAL N0 <$STR(N1)>
#ACT
GOTO @GoldOk
BREAK
#ELSESAY
你输入的元宝数量低于2000个,不能申请行会集结号。\ \
<重新输入/@KillOpen_1>

[@GoldOk]
#IF
CHECKGAMEGOLD > <$STR(N0)>
#ACT
GAMEGOLD - <$STR(N0)>
MOV G30 <$STR(N0)>
MOV S0 <
INC S0 <$STR(N0)>
INC S0 /SCOLOR=249
INC S0 >
goto @WhoName_1
CLEARDELAYGOTO
Break
#IF
CHECKGAMEGOLD = <$STR(N0)>
#ACT
GAMEGOLD - <$STR(N0)>
MOV G30 <$STR(N0)>
MOV S0 <
INC S0 <$STR(N0)>
INC S0 /SCOLOR=249
INC S0 >
goto @WhoName_1
CLEARDELAYGOTO
Break
#ELSESAY
你身上携带的元宝数量不足,请充值后再来\ \
<关闭对话/@exit>

[@WhoName_1]
#IF
CheckOnline <$STR(S5)>
#ACT
MOV A32 <$STR(S5)>
MOV A33 <$USERNAME>
HCall <$STR(S5)> @GUILDNAMEs_1
goto @DengDai
GuildNoticeMsg 255 253 『<$STR(A31)>』行会的掌门人【<$STR(A33)>】向『<$STR(A30)>』行会的掌门人【<$STR(A32)>】发起了行会挑战!
GuildNoticeMsg 255 253 本次挑战的挑战金为<$STR(G30)>个元宝,『<$STR(A30)>』行会的掌门人【<$STR(A32)>】是否敢应战?1分钟内就见分晓!
#ELSEACT
GAMEGOLD + <$STR(G30)>
MOV G30 0
MOV G31 0
MOV N5 0
goto @NameNo

[@NameNo]
你要邀请的行会掌门人<$STR(A32)>不在线。\ \
<关闭对话/@exit>

[@IsInFilterList]
#ACT
MESSAGEBOX 输入数据中包含了非法字符,请重新编辑!

[@DengDai]
#ACT
MOV S0 <
INC S0 <$STR(S5)>
INC S0 /SCOLOR=250
INC S0 >
MOV G12 60
SetOnTimer 6 1
#SAY
等待玩家<$STR(S0)>回应中,请稍后……

芝麻论坛 发表于 2013-1-3 14:56:43

你发给别人 别人触发不是在QM里触发的吗 我说的检测 你要在QM里检测 接收的那个人是不是掌门之类的
页: [1]
查看完整版本: 挑战脚本待续