传奇服务端脚本错误,哪位高手帮我看下。加入新的脚本后变量不对
[2012-1-1223:50:21][脚本错误]脚本命令:MOVNPC名称:竞价地图地图:3(330:321)参数1:A551参数2:法师参数3:参数4:参数5:参数6...
[2012-1-12 23:50:21] [脚本错误] 脚本命令:MOV NPC名称:竞价地图 地图:3(330:321) 参数1:A551 参数2:法师 参数3: 参数4: 参数5: 参数6:
[2012-1-12 23:51:05] [脚本错误] 脚本命令:INC NPC名称:竞价地图 地图:3(330:321) 参数1:G507 参数2:2 参数3: 参数4: 参数5: 参数6:
请问这样的脚本怎么加,加到哪个文件里。最好说详细点,谢谢了
我加入的是这个脚本:无忧网络
http://5uwl.net/Article/msmir100/msmir3/201109/45433.html 展开
[2012-1-12 23:51:05] [脚本错误] 脚本命令:INC NPC名称:竞价地图 地图:3(330:321) 参数1:G507 参数2:2 参数3: 参数4: 参数5: 参数6:
请问这样的脚本怎么加,加到哪个文件里。最好说详细点,谢谢了
我加入的是这个脚本:无忧网络
http://5uwl.net/Article/msmir100/msmir3/201109/45433.html 展开
1个回答
展开全部
我不知道你的端怎么样的,但有一个前提就是有很多端都是变量只到99的,比如A99,G99什么的,所以你的端可能不支持到500以上的变量。。你可以自己声明几个共公变量,很简单,但要注意一定要在MF里设置哦!
还有就是刚看了你发的这个脚本,是无忧网络的对吧,不知道是谁做的,思路不错,但错误和累赘的地方还真多。。。。。
比如:
[@买下]
#IF
CHECKGAMEGOLD > 10
CHECKGAMEGOLD > <$str(g55)>
#ACT
mov g56 2
gamegold - <$str(g55)>
gamegold - 10
上面这个脚本发现没有,完全是个错误的判断,首先他判断了如果元宝大于10并且大于G55(这里还有个小错误:<$STR(g55)>里面的g必须是大写的,要不系统不认识!),那么执行G56等于2,减元宝G55个,再减元宝10个。。。。。看懂没?前面说如果大于10并大于G55,也就是说需要大于10的基础上大于G55就可以执行减元宝G55+10的命令。。那么这里的G55假设一下等于任意一个数,比如50,那也就是说在大于10的基础上再大于50就可以减去60。。。。多操。蛋的算法。。。。
你将它改成这样就OK了:
[@买下]
#act
mov N99 <$STR(G55)>
inc N99 10
goto @判断完毕
[@判断完毕]
#IF
CHECKGAMEGOLD > <$STR(N99)>
#ACT
mov g56 2
gamegold - <$STR(N99)>
还有呵,下面的脚本段里完全没必要用两个脚本段来实现,一个就够了:
[@管理领地]
#IF
#ACT
MOV S97 <$USERNAME>
GOTO @领主检测8
[@领主检测8]
#IF
EQUAL S97 <$str(A451)>
#SAY
你好!在这里你可以自由的管理你的领地\ \
<设置进入元宝数/@设置进入>
#ELSEACT
MESSAGEBOX 【提示】:抱歉,您不是该地图的主人!
看到了吗?它把用户名的值赋给S97然后再判断S97与A451的大小,这真的很蛋儿疼,直接判断用户名和A451的大小不就得了。。。。。如下:
[@管理领地]
#IF
EQUAL A451 <$USERNAME>
#SAY
你好!在这里你可以自由的管理你的领地\ \
<设置进入元宝数/@设置进入>
#ELSEACT
MESSAGEBOX 【提示】:抱歉,您不是该地图的主人!
还有就是刚看了你发的这个脚本,是无忧网络的对吧,不知道是谁做的,思路不错,但错误和累赘的地方还真多。。。。。
比如:
[@买下]
#IF
CHECKGAMEGOLD > 10
CHECKGAMEGOLD > <$str(g55)>
#ACT
mov g56 2
gamegold - <$str(g55)>
gamegold - 10
上面这个脚本发现没有,完全是个错误的判断,首先他判断了如果元宝大于10并且大于G55(这里还有个小错误:<$STR(g55)>里面的g必须是大写的,要不系统不认识!),那么执行G56等于2,减元宝G55个,再减元宝10个。。。。。看懂没?前面说如果大于10并大于G55,也就是说需要大于10的基础上大于G55就可以执行减元宝G55+10的命令。。那么这里的G55假设一下等于任意一个数,比如50,那也就是说在大于10的基础上再大于50就可以减去60。。。。多操。蛋的算法。。。。
你将它改成这样就OK了:
[@买下]
#act
mov N99 <$STR(G55)>
inc N99 10
goto @判断完毕
[@判断完毕]
#IF
CHECKGAMEGOLD > <$STR(N99)>
#ACT
mov g56 2
gamegold - <$STR(N99)>
还有呵,下面的脚本段里完全没必要用两个脚本段来实现,一个就够了:
[@管理领地]
#IF
#ACT
MOV S97 <$USERNAME>
GOTO @领主检测8
[@领主检测8]
#IF
EQUAL S97 <$str(A451)>
#SAY
你好!在这里你可以自由的管理你的领地\ \
<设置进入元宝数/@设置进入>
#ELSEACT
MESSAGEBOX 【提示】:抱歉,您不是该地图的主人!
看到了吗?它把用户名的值赋给S97然后再判断S97与A451的大小,这真的很蛋儿疼,直接判断用户名和A451的大小不就得了。。。。。如下:
[@管理领地]
#IF
EQUAL A451 <$USERNAME>
#SAY
你好!在这里你可以自由的管理你的领地\ \
<设置进入元宝数/@设置进入>
#ELSEACT
MESSAGEBOX 【提示】:抱歉,您不是该地图的主人!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询