無憂傳奇服務端
還有就是剛看了妳發的這個腳本,是無憂網絡的對吧,不知道是誰做的,思路不錯,但錯誤和累贅的地方還真多。。。。。
比如:
[@買下]
#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 提示:抱歉,您不是該地圖的主人!