OK論壇

 找回密碼
 註冊
查看: 1647|回復: 1

[這主題已經被回收了,購買前請三思] 道館腳本陷入無限迴圈裡

 關閉 [複製鏈接]
  • TA的每日心情
    慵懶
    2019-5-2 09:53 AM
  • 簽到天數: 53 天

    連續簽到: 1 天

    [LV.5]常住居民I

    發表於 2013-2-23 00:55:04 | 顯示全部樓層 |閱讀模式
    本帖最後由 wwee2457 於 2013-2-25 11:32 PM 編輯

    玩家死掉後 重新進入道館上一場留下來的MVP不會消失 這時候在點道館NPC
    就會無限召王出來
    以下是我道館的腳本 請神人幫我看哪邊出錯了
    1. //--- Script 執行時的特殊設定 , 請各伺服器勿亂做更改 ---

    2.         set $@ModB1NameSize,(getarraysize($@ModB1Name)-1);
    3.         set $@ModB1ItemSize,(getarraysize($@Mod1FReItemAID)-1);
    4.         set $@ModB1AllGSSize,(getarraysize($@GuanShuMod2)-1);
    5. }

    6. //====================================================//

    7. //--- 道館販賣物品的相關設定 , 請各伺服器依情況斟酌 ---

    8. -        shop        道館商#0        891,522:8500,12257:13000,683:5000,682:5000,601:60,602:300,610:4000,611:40,1065:100,645:800,656:1500,657:3000,715:600,716:600,717:600,525:1000

    9. //====================================================//

    10. function        script        Mod_F_Script1        {

    11.         mes "[道館傳送員]";
    12.         mes "您好,我是道館傳送員。";
    13.         mes "請問有需要什麼服務嗎?";
    14.         next;
    15.         select("我要參加挑戰!");
    16.         if ( getcharid(1) == 0 ) {
    17.                 mes "[道館傳送員]";
    18.                 mes "對不起,您沒有加入任何隊伍!";
    19.                 mes "無法參加挑戰賽。";
    20.                 close;
    21.         }
    22.         if ( BaseLevel < $@ModJFBaseLv ) {
    23.                 mes "[道館傳送員]";
    24.                 mes "對不起,您的等級不足!";
    25.                 mes "無法參加挑戰賽。";
    26.                 mes "等級限制:^FF0000"+$@ModJFBaseLv+"^000000 等";
    27.                 close;
    28.         }
    29.         for ( set @MnS,1; @MnS <= 5; set @MnS,@MnS+1 ) {
    30.                 if ( getmapusers( @MnS+"@gvs" ) == 0 ) set $@ModBPID[@MnS],0;
    31.         }
    32.         for ( set @MnS,1; @MnS <= 5; set @MnS,@MnS+1 ) {
    33.                 if ( getcharid(1) == $@ModBPID[@MnS] ){
    34.                         mes "[道館傳送員]";
    35.                         mes "您是 [^FF0000"+getpartyname(getcharid(1))+"^000000] 的隊員吧!";
    36.                         mes "參加前須付^FF0000"+$@ModBZenyPS+"^000000的參加費唷!";
    37.                         next;
    38.                         if (select("報名參加挑戰!","不小心點到!")==2) {
    39.                                 mes "[道館傳送員]";
    40.                                 mes "那您以後別在那麼不小心哩!";
    41.                                 close;
    42.                         }
    43.                         if ( $@ModBStart[@MnS] == 1 ) {
    44.                                 mes "[道館傳送員]";
    45.                                 mes "您的隊友已經開始挑戰了,";
    46.                                 mes "請稍後或加入其他隊伍另外報名參加!";
    47.                                 close;
    48.                         }
    49.                         if ( zeny < $@ModBZenyPS ) {
    50.                                 mes "[道館傳送員]";
    51.                                 mes "對不起,您沒有足夠的金錢!";
    52.                                 close;
    53.                         }
    54.                         if ( getmapusers(@MnS+"@gvs") >= $@ModBPlayer ) {
    55.                                 mes "[道館傳送員]";
    56.                                 mes "隊伍 [^FF0000"+getpartyname(getcharid(1))+"^000000] 參加的人數已滿,";
    57.                                 mes "請稍後或加入其他隊伍另外報名參加!";
    58.                                 close;
    59.                         }
    60.                         set zeny,zeny - $@ModBZenyPS;
    61.                         warp @MnS+"@gvs",49,47;
    62.                         end;
    63.                 }
    64.         }

    65. //====================================================//

    66.         mes "[道館傳送員]";
    67.         mes "您和您的隊伍要報名參加挑戰賽嗎?";
    68.         mes "參加前須付^FF0000"+$@ModBZenyHG+"^000000的報名費唷!";
    69.         next;
    70.         if (select("報名參加挑戰!","不小心點到!")==2) {
    71.                 mes "[道館傳送員]";
    72.                 mes "那您以後別在那麼不小心哩!";
    73.                 close;
    74.         }
    75.         if ( Zeny < $@ModBZenyHG ) {
    76.                 mes "[道館傳送員]";
    77.                 mes "對不起,您沒有足夠的金錢!";
    78.                 close;
    79.         }
    80.         for ( set @MnS,1; @MnS <= 5; set @MnS,@MnS+1 ) {
    81.                 if ( getmapusers( @MnS+"@gvs" ) == 0 ) {
    82.                         enablenpc "道館員#"+@MnS;
    83.                         if ( $@ModBPShop == 1 || $@ModBPShop == 2 ) {
    84.                                 enablenpc "道館商#"+@MnS;
    85.                         } else {
    86.                                 disablenpc "道館商#"+@MnS;
    87.                         }
    88.                         killmonsterall @MnS+"@gvs";
    89.                         set Zeny,Zeny - $@ModBZenyHG;
    90.                         set $@ModBStart[@MnS],0;
    91.                         set $@ModBPID[@MnS],getcharid(1);
    92.                         set $@ModBCID[@MnS],getcharid(0);
    93.                         set $@GuanShuA[@MnS],1;
    94.                         announce "請 ["+getpartyname($@ModBPID[@MnS])+"] 隊伍的隊員,找 [道館傳送員] !",15;
    95.                         warp @MnS+"@gvs",49,47;
    96.                         end;
    97.                 }
    98.         }
    99.         mes "[道館傳送員]";
    100.         mes "所有場地都有隊伍在挑戰中,";
    101.         mes "請您稍後再試,謝謝!!";
    102.         close;
    103. }

    104. //====================================================//

    105. 1@gvs,50,50,4        script        道館員#1        758,{ callfunc "ModB_Referee1",1; }
    106. 2@gvs,50,50,4        script        道館員#2        758,{ callfunc "ModB_Referee1",2; }
    107. 3@gvs,50,50,4        script        道館員#3        758,{ callfunc "ModB_Referee1",3; }
    108. 4@gvs,50,50,4        script        道館員#4        758,{ callfunc "ModB_Referee1",4; }
    109. 5@gvs,50,50,4        script        道館員#5        758,{ callfunc "ModB_Referee1",5; }

    110. //====================================================//

    111. function        script        ModB_Referee1        {

    112.         if ( getcharid(0) != $@ModBCID[@MnS] ) {
    113.                 mes "[道館員]";
    114.                 mes "您不是報名參加挑戰賽的人";
    115.                 close;
    116.         }
    117.         mes "[道館員]";
    118.         mes "您好,我是道館員。";
    119.         mes "請問有需要為您服務嗎?";
    120.         next;
    121.         switch(select("開始挑戰!","不小心點到!")) {
    122.         case 1:
    123.                 set $@ModBStart[@MnS],1;
    124.                 set $@ModBQuantity[@MnS],$@GuanShuMod2[$@GuanShuA[@MnS]];
    125.                 set $@ModBCheckMod[@MnS],$@ModBQuantity[@MnS];
    126.                 disablenpc "道館員#"+@MnS;
    127.                 if ( $@ModBPShop == 2 ) {
    128.                                 disablenpc "道館商#"+@MnS;
    129.                 }
    130.                 doevent "ModB_Mod1::OnSummon_ModB";
    131.                 close;
    132.                 end;
    133.         case 2:
    134.                 mes "[道館員]";
    135.                 mes "那您以後別在那麼不小心哩!";
    136.                 close;
    137.         }
    138. }

    139. //====================================================//

    140. -        script        ModB_Mod1        -1,{

    141. OnSummon_ModB:
    142.         set $@ModBMod[@MnS],rand(1,$@ModB1NameSize);
    143.         set $@ModBQuantity[@MnS],$@ModBQuantity[@MnS]-1;
    144.         monster @MnS+"@gvs",50,50,"--ja--",$@ModB1Name[$@ModBMod[@MnS]],1,"ModB_Mod1::OnKill_ModB";
    145.         announce "道館員 : 魔物 ["+getmonsterinfo($@ModB1Name[$@ModBMod[@MnS]],MOB_NAME)+"] 已放出,挑戰開始!",1;
    146.         if ( $@ModBQuantity[@MnS] != 0 ) {
    147.                 goto OnSummon_ModB;
    148.         }
    149.         if ( $@GuanShuA[@MnS] == $@ModB1AllGSSize ) {
    150.                  announce "道館員 : 最後一關挑戰開始,請繼續努力!",1;
    151.         }
    152.         end;

    153. OnKill_ModB:
    154.         set $@ModBCheckMod[@MnS],$@ModBCheckMod[@MnS]-1;
    155.         if ( $@ModBCheckMod[@MnS] != 0 ) {
    156.                 end;
    157.         }
    158.         announce  "道館員 : 恭喜第 ["+$@GuanShuA[@MnS]+"] 關挑戰成功!",17;
    159.         if ( $@GuanShuA[@MnS] == $@ModB1AllGSSize ) {
    160.                 announce "道館員 : 恭喜隊伍 ["+getpartyname($@ModBPID[@MnS])+"] ,挑戰道館成功!!",15;
    161.                 areawarp @MnS+"@gvs",0,0,300,300,"1@rev",34,120;
    162.                 end;
    163.         }
    164.         set @CheckRestsA,1;

    165. CheckRestsA:
    166.         if ( getarraysize($@GuanShuCRests) > @CheckRestsA ){
    167.                 if ( $@GuanShuA[@MnS] == $@GuanShuCRests[@CheckRestsA] ) {
    168.                         set $@GuanShuA[@MnS],$@GuanShuA[@MnS] +1;
    169.                          announce "道館員 : 休息時間,請準備好在開始挑戰!",17;
    170.                         enablenpc "道館員#"+@MnS;
    171.                         if ( $@ModBPShop == 2 ) {
    172.                                 announce "道館員 : 地圖 12 點鐘方向設有 [道具商人] 唷!",17;
    173.                                 enablenpc "道館商#"+@MnS;
    174.                         }
    175.                         end;
    176.                 }
    177.                 set @CheckRestsA,@CheckRestsA+1;
    178.                 goto CheckRestsA;
    179.         }
    180.         set $@GuanShuA[@MnS],$@GuanShuA[@MnS] +1;
    181.         set $@ModBQuantity[@MnS],$@GuanShuMod2[$@GuanShuA[@MnS]];
    182.         set $@ModBCheckMod[@MnS],$@ModBQuantity[@MnS];
    183.         addtimer 5000,"ModB_Mod1::OnSummon_ModB";
    184.         end;
    185. }
    複製代碼

    評分

    參與人數 1積分 -30 現金 -30 積極性 -30 違規 +1 收起 理由
    goddameit -30 -30 -30 + 1 超過三天

    查看全部評分

    回復

    使用道具 舉報

  • TA的每日心情

    2017-1-18 12:17 AM
  • 簽到天數: 512 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2013-2-24 18:53:39 | 顯示全部樓層
    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-4-19 10:30 AM , Processed in 0.055417 second(s), 22 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表