|
这脚本的要求是这样的,先是组一队人进去。例如是3个人进去,那么将会是3万经验,如果中途有一个人离开那么经验就会变成2万。如果中途来了一个人,那么经验将会提高1万。如果有人中途没元宝。那么将会被返回土城同时
在闭关修炼的玩家经验将会降低1万经验,可能您会认为这个脚本很简单,但是请问3K怎么样判断同地图的队员人数?退组和进组又是怎么判断?我用自己的思路做到了完美无暇。保证无漏洞。是几个人在闭关修炼。就是多少经验。站在土城的队员不会算进去
总之这个脚本可以让你学到很多东西。
---------------NPC--------------
[@main]
风声的第3个原创脚本\
[<立即进入>]/@fs进入组队练级地图]
[@fs进入组队练级地图]
#if
ISGROUPMASTER
#act
#ELSEACT
goto @main
MESSAGEBOX 提示:您不是队长。无权操作。
break
#IF
CHECKGAMEGOLD > 1999
#ACT
GETGROUPCOUNT P1
mov m1 <$STR(p1)>
mov a780 <$USERNAME>
mov g780 <$STR(p1)>
GROUPMAPMOVE ZDPDDT 14 13 1 @风声组队泡经验
break
#ELSEACT
goto @main
MESSAGEBOX 提示:您的元宝不是很多。不能进入
break
QFunction-0.txt================
[@风声组队泡经验]
;======检测是否离线=======
#if
ISOFFLINEMODE
#ACT
mov s78 <$STR(a780)>
mapmove 3 330 330
HCall <$STR(s78)> @离线组队不能进
Break
;======检测是否元宝充足==默认是7780元宝=====
#IF
CHECKGAMEGOLD < 7788
#ACT
mov s78 <$STR(a780)>
mov a782 <$USERNAME>
mapmove 3 330 330
HCall <$STR(s78)> @组队闭关元宝不足
SENDMSG 7 提示:您的元宝不足。无法随队伍进入组队闭关地图。
Break
;======检测是否等级满足==默认是70级=====
;======#IF
;======CHECKLEVELEX < 70
;======#ACT
;======mov s78 <$STR(a780)>
;======mov a782 <$USERNAME>
;======HCall <$STR(s78)> @组队闭关等级不足
;======mapmove 3 330 330
;======SENDMSG 7 提示:您的等级不足。无法随队伍进入组队闭关地图。
;======Break
;======检测完毕后开始把组队标记存进私有变量=======
#IF
#ACT
mov s77 有元宝
mov s78 <$STR(a780)>
mov m78 <$STR(g780)>
SETOFFTIMER 10
SETONTIMER 10 1
SETOFFTIMER 9
SETONTIMER 9 1
SENDMSG 7 提示:当前在本地图闭关的队员总人数为"<$STR(m78)>"人,队长是"<$STR(s78)>".
Break
[@fszdrszjgx]
;======检测是否元宝充足==默认是7780元宝=====
#IF
CHECKGAMEGOLD < 7788
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
SETONTIMER 9 1
SETONTIMER 10 1
mov s78 <$STR(a780)>
mov a782 <$USERNAME>
SENDMSG 7 提示:您的元宝不足。
Break
;======检测是否等级满足==默认是70级=====
;======#IF
;======CHECKLEVELEX < 70
;======#ACT
;======mov s78 <$STR(a780)>
;======mov a782 <$USERNAME>
;======HCall <$STR(s78)> @组队闭关等级不足1
;======mapmove 3 330 330
;======Messagebox 您的元宝不足。无法随队伍进入组队闭关地图。
;======Break
#IF
#ACT
mov s77 有元宝
mov s78 <$STR(a780)>
mov m78 <$STR(g780)>
SETOFFTIMER 10
SETONTIMER 10 1
SETOFFTIMER 9
SETONTIMER 9 1
SENDMSG 7 提示:当前在本地图闭关的队员总人数为<$STR(m78)>人,队长是<$STR(s78)>.
Break
[@fszdrsjsgx]
;======检测是否元宝充足==默认是7780元宝=====
#IF
CHECKGAMEGOLD < 7788
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
SETONTIMER 9 1
SETONTIMER 10 1
mov s78 <$STR(a780)>
mov a782 <$USERNAME>
SENDMSG 7 提示:您的元宝不足。
Break
;======检测是否等级满足==默认是70级=====
;======#IF
;======CHECKLEVELEX < 70
;======#ACT
;======mov s78 <$STR(a780)>
;======mov a782 <$USERNAME>
;======HCall <$STR(s78)> @组队闭关等级不足1
;======mapmove 3 330 330
;======Messagebox 您的元宝不足。无法随队伍进入组队闭关地图。
;======Break
#IF
#ACT
mov s77 有元宝
mov s78 <$STR(a780)>
mov m78 <$STR(g780)>
SETOFFTIMER 10
SETONTIMER 10 1
SETOFFTIMER 9
SETONTIMER 9 1
SENDMSG 7 提示:当前在本地图闭关的队员总人数为<$STR(m78)>人,队长是<$STR(s78)>.
Break
[@队长换新队长了]
;======检测是否等级满足==默认是70级=====
;==#IF
;==CHECKLEVELEX < 70
;==#ACT
;==mov s78 <$STR(a780)>
;==mov a782 <$USERNAME>
;==mov s79 等级不足
;==SETOFFTIMER 10
;==SETOFFTIMER 9
;==mapmove 3 330 330
;==HCall <$STR(s78)> @组队闭关等级不足1
;==Messagebox 您的元宝不足。无法随队伍进入组队闭关地图。
;==Break
#IF
#ACT
mov s77 有元宝
mov s78 <$STR(a780)>
mov m78 <$STR(g780)>
SETOFFTIMER 10
SETOFFTIMER 9
SETONTIMER 9 1
SETONTIMER 10 1
SENDMSG 7 提示:当前在本地图闭关的队员总人数为<$STR(m78)>人,队长是<$STR(s78)>.
Break
[@风声组队离线组队不能进]
#IF
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
SENDMSG 7 提示:队员“<$STR(a782)>”是离线挂机玩家,导致大伙都进不去。
Break
[@风声组队队员元宝不足]
#IF
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
SENDMSG 7 提示:队员“<$STR(a782)>”的元宝不足,导致大伙都进不去。
Break
[@风声组队队员等级不足]
#IF
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
SENDMSG 7 提示:队员“<$STR(a782)>”的等级不足,导致大伙都进不去。
Break
[@半途进组队员元宝不足因此减人数]
#IF
EQUAL s77 元宝不足
#ACT
Break
#IF
#ACT
mov s77 有元宝
mov s78 <$STR(a780)>
mov m78 <$STR(g780)>
SETOFFTIMER 10
SETOFFTIMER 9
SETONTIMER 9 1
SETONTIMER 10 1
SENDMSG 7 提示:当前在本地图闭关的队员总人数为<$STR(m78)>人,队长是<$STR(s78)>.
Break
[@半途进组队员等级不足因此减人数]
#IF
#ACT
mov s77 有元宝
mov s78 <$STR(a780)>
mov m78 <$STR(g780)>
SETOFFTIMER 10
SETOFFTIMER 9
SETONTIMER 9 1
SETONTIMER 10 1
SENDMSG 7 提示:当前在本地图闭关的队员总人数为<$STR(m78)>人,队长是<$STR(s78)>.
Break
-===========QManage.txt===========
[@离线组队不能进]
#IF
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
GROUPMAPMOVE 3 330 330 1 @风声组队离线组队不能进
SENDMSG 7 提示:队员“<$STR(a782)>”是离线挂机用户。不能带他进去。
break
[@组队闭关元宝不足]
#IF
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
GROUPMAPMOVE 3 330 330 1 @风声组队队员元宝不足
SENDMSG 7 提示:队员“<$STR(a782)>”的元宝不足。不能带他进去。
break
[@组队闭关等级不足]
#IF
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
GROUPMAPMOVE 3 330 330 1 @风声组队队员等级不足
SENDMSG 7 提示:队员“<$STR(a782)>”的等级不足70级。不能带他进去。
break
[@组队闭关元宝不足1]
#IF
#ACT
dec m78 1
mov a780 <$USERNAME>
mov g780 <$STR(m78)>
GROUPMAPMOVE ZDPDDT 14 13 1 @半途进组队员元宝不足因此减人数
MESSAGEBOX 队员“<$STR(a782)>”的元宝不足,影响了队伍升级经验。
break
[@组队闭关等级不足1]
#IF
#ACT
dec m78 1
mov a780 <$USERNAME>
mov g780 <$STR(m78)>
GROUPMAPMOVE ZDPDDT 14 13 1 @半途进组队员等级不足因此减人数
MESSAGEBOX 对不起,队员“<$STR(a782)>”的等级不足,影响了队伍升级经验,请踢了他。
break[@OnTimer9]
;=====开始检测人数变化,如有人进组或者退组将会全体触发1次。
#IF
ISGROUPMASTER
EQUAL s78 <$USERNAME>
#ACT
GETGROUPCOUNT P1
mov m0 <$STR(p1)>
goto @检测本次和上次人数是否变化
break
#IF
ISGROUPMASTER
#ACT
;=====既然队长名字已经变了,那说明队长退组了。所以通知全体换队长
dec m78 1
mov a780 <$USERNAME>
mov g780 <$STR(m78)>
GROUPMAPMOVE ZDPDDT 14 13 1 @队长换新队长了
break
#IF
CheckGroupCount > 1
#ACT
break#IF
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
Messagebox 提示:您的队伍已经解散或者少于2人。
Break
[@检测本次和上次人数是否变化]
;=====通过本系统可以实现进组后自动传进地图。
#IF
;=====如果人数没变化
EQUAL m0 <$STR(m1)>
#ACT
;=====那么更新一下最新人数
mov m1 <$STR(m0)>
break
#IF
;=====如果有人进组
LARGE m0 <$STR(m1)>
#ACT
;=====那么增加1个有效名额,并开始全体更新
mov m1 <$STR(m0)>
inc m78 1
mov a780 <$USERNAME>
mov g780 <$STR(m78)>
GROUPMAPMOVE ZDPDDT 14 13 1 @fszdrszjgx
break#IF
;=====如果有人退组
SMALL m0 <$STR(m1)>
#ACT
;=====那么减少1个有效名额,并开始全体更新
mov m1 <$STR(m0)>
dec m78 1
mov a780 <$USERNAME>
mov g780 <$STR(m78)>
GROUPMAPMOVE ZDPDDT 14 13 1 @fszdrsjsgx
break
#IF
#ACT
break
[@OnTimer10]
;===检测当前闭关地图人数
#IF
;===10个人以上
LARGE m78 10
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 110000
Break#IF
EQUAL m78 10
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 100000
Break
#IF
EQUAL m78 9
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 90000
Break#IF
EQUAL m78 8
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 80000
Break
#IF
EQUAL m78 7
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 70000
Break#IF
EQUAL m78 6
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 60000
Break
#IF
EQUAL m78 5
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 50000
Break#IF
EQUAL m78 4
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 40000
Break
#IF
EQUAL m78 3
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 30000
Break#IF
EQUAL m78 2
ISONMAP ZDPDDT
CHECKGAMEGOLD > 999
#ACT
GAMEGOLD - 1000
CHANLeg引擎XP + 20000
Break
#IF
CheckGroupCount < 2
EQUAL s77 元宝不足
ISONMAP ZDPDDT
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
Messagebox 您脱离了队伍。。。
Break#IF
ISGROUPMASTER
CheckGroupCount < 2
EQUAL s77 元宝不足
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
Messagebox 您脱离了队伍。。。
Break
#IF
ISGROUPMASTER
EQUAL s77 元宝不足
LARGE m4 0
#ACT
dec m4 1
SENDMSG 7 提示:元宝不足,请您<$STR(m4)>秒内退组,否则会被小退。
break#IF
ISGROUPMASTER
EQUAL s77 元宝不足
EQUAL m4 0
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
kick
SENDMSG 5 提示:元宝不足,请您小退再上。
break
#IF
ISGROUPMASTER
CHECKGAMEGOLD < 1000
#ACT
mov s77 元宝不足
mov m4 10
SENDMSG 7 提示:您的元宝不足。充值元宝后再进组。
Break
#IF
EQUAL s77 元宝不足
LARGE m0 0
#ACT
dec m0 1
SENDMSG 7 提示:元宝不足,请您<$STR(m0)>秒内退组,否则会被小退。
break
#IF
EQUAL s77 元宝不足
EQUAL m0 0
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
kick
SENDMSG 5 提示:元宝不足,请您小退再上。
break
#IF
CHECKGAMEGOLD < 1000
#ACT
mov s77 元宝不足
mov m0 10
SENDMSG 7 提示:您的元宝不足。充值元宝后再进组。
Break#IF
ISONMAP ZDPDDT
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
Messagebox 对不起,您的队伍人数太少。自动返回土城
Break
#IF
CheckGroupCount < 2
#ACT
SETOFFTIMER 10
SETOFFTIMER 9
mapmove 3 330 330
Messagebox 对不起,您的队伍人数太少。自动返回土城
Break
#IF
ISGROUPMASTER
ISONMAP ZDPDDT
#ACT
break
#IF
#ACT
mapmove ZDPDDT
Messagebox 对不起,组队修炼过程中,不得擅自离开闭关地图\如果想离开,请您先退组。
Break
|
上一篇:传奇装备发光脚本下一篇:传奇高手寂寞任务脚本
|