OK論壇

 找回密碼
 註冊
查看: 1453|回復: 8

這腳本如何把不用等待12小時去掉

 關閉 [複製鏈接]

該用戶從未簽到

發表於 2009-1-27 01:01:25 | 顯示全部樓層 |閱讀模式
EA
私服版號: 12466
問題內容: 腳本問題
第一次進入無限之塔後,再出來,然後第2次要登記它會說等待12小時,要如何弄掉不用等待12小時呢?
 
 
進入無限之塔



第2次登記



腳本


[ 本帖最後由 永恆Eternity 於 2009-1-27 03:27 PM 編輯 ]

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
回復

使用道具 舉報

  • TA的每日心情
    開心
    2021-12-17 05:30 AM
  • 簽到天數: 237 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2009-1-27 01:19:36 | 顯示全部樓層
    去 除 時 間 性 變 數
    。。。。。。。
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

     樓主| 發表於 2009-1-27 02:00:01 | 顯示全部樓層

    回覆 2樓的 pan00017 的帖子

    e_tower,71,117,5        script        無限之塔看守人        421,{
            if( !getcharid(1) )
            {
                    mes "[無限之塔看守人]";
                    mes "對不起,您沒有隊伍。";
                    close;
            }
            if( getgmlevel()>90 )
            {
                    mes "[無限之塔看守人]";
                    mes "尊貴的來賓";
                    mes "你想做什麼?";
                    next;
                    switch( select( "重新開始","挑戰","我還沒準備好" ) )
                    {
                            case 1:
                                    mes "[無限之塔看守人]";
                                    mes "好的,沒問題.";
                                    close2;
                                    goto OnTimer14410000;

                            case 2:
                                    mes "[無限之塔看守人]";
                                    mes "了不起,讓我們開始吧!";
                                    close2;
                                    for( set .@i,1; .@i<7; set .@i,.@i+1)
                                            killmonsterall .@i+"@tower";
                                    set .team,getcharid(1);
                                    set .intest,1;
                                    donpcevent "naght::OnRoom1";
                                    warpparty "1@tower",50,355,.team;
                                    initnpctimer;
                                    announce "GM正在測試無限之塔.",bc_all;
                                    close;
                            
                            case 3:
                                    close;
                    }
            }
            if(.intest)
            {
                    mes "[無限之塔看守人]";
                    mes "GM現在正在測試無限之塔.";
                    close;
            }
            if(!.team)
            {
                    if( getcharid(0) != getpartyleader(getcharid(1),2) )
                    {
                            mes "[無限之塔看守人]";
                            mes "對不起,只有隊長才可以登記。";
                            close;
                    }
                    else if( gettimetick(2) - ET_Tower > 43200 )
                    {
                            mes "[無限之塔看守人]";
                            mes "歡迎 "+strcharinfo(0)+".";
                            mes "你想登記進入無限之塔嗎?";
                            mes "挑戰需要支付200W";
                            next;
                            switch( select( "是的","不要" ) )
                            {
                                    case 1:
                                            getpartymember(getcharid(1));
                                            if( $@partymembercount < 2 || zeny < 2000000 )
                                            {
                                                    mes "[無限之塔看守人]";
                                                    mes "對不起,你的隊伍成員必須在二人以上或者金錢不夠.";
                                                    close;
                                            }
                                            mes "[無限之塔看守人]";
                                            mes "你只有4個小時的時間.";
                                            mes "4小時後,你和你的全體隊員只有等待12小時後才能重新登記進入無限之塔。";
                                            next;
                                            mes "[無限之塔看守人]";
                                            mes "你確定要登記嗎?";
                                            next;
                                            switch( select( "是的","不要" ) )
                                            {
                                                    case 1:
                                                            mes "[無限之塔看守人]";
                                                            mes "你的隊伍已經成功登記了.";
                                                            set zeny,zeny-2000000;
                                                            close2;
                                                            set .ET_Slot,0;
                                                            set .ET_Players$[.ET_Slot],strcharinfo(0);
                                                            set .ET_Slot,.ET_Slot+1;
                                                            set .team, getcharid(1);
                                                            set ET_Tower, gettimetick(2);
                                                            set .ET_Tower,1;
                                                            getpartymember(getcharid(1));
                                                            set .partymembers,$@partymembercount;
                                                            announce "無限之塔已經被打開.",bc_all;
                                                            mapannounce "e_tower","請"+getpartyname(.team)+"的隊伍成員(不包括隊長),確認登記.",bc_map;
                                                            end;

                                                    case 2:
                                                            close;
                                            }
                                    case 2:
                                            close;
                            }
                    }
                    else
                    {
                            mes "[無限之塔看守人]";
                            mes "對不起,12小時內不能重複挑戰.";
                            close;
                    }
            }
            else
            {
                    for(set .@i,0; .@i<getarraysize(.ET_Players$); set .@i,.@i+1)
                    {//in case he signed up
                            if( .ET_Players$[.@i] == strcharinfo(0) )
                            {
                                    mes "[無限之塔看守人]";
                                    mes "對不起, 你已經登記過了.";
                                    close;
                            }
                    }
                    if(getcharid(1)!=.team)
                    {
                            mes "[無限之塔看守人]";
                            mes "對不起, 隊員 "+getpartyname(.team)+" 已經登記過了.";
                            mes "請稍後再來.";
                            close;
                    }
                    else if( .ET_Tower < .partymembers)
                    {
                            if(gettimetick(2)-ET_Tower>43200)
                            {
                                    mes "[無限之塔看守人]";
                                    mes "確認你的登記.";
                                    next;
                                    switch( select( "是","否" ) )
                                    {
                                            case 1:
                                                    mes "[無限之塔看守人]";
                                                    mes "已經登記成功.";
                                                    close2;
                                                    set .ET_Players$[.ET_Slot],strcharinfo(0);
                                                    set .ET_Slot,.ET_Slot+1;
                                                    set ET_Tower,gettimetick(2);
                                                    set .ET_Tower, .ET_Tower+1;
                                                    mapannounce "e_tower","須登記人數:"+.partymembers+" 已登記人數:"+.ET_Tower,bc_map;
                                                    if(.ET_Tower==.partymembers)
                                                    {
                                                            mapannounce "e_tower","所有隊員都登記成功,冒險即將開始.",bc_map;
                                                            donpcevent "naght::OnRoom1";
                                                            warpparty "1@tower",50,355,.team;
                                                            initnpctimer;
                                                            end;
                                                    }
                                                    end;

                                            case 2:
                                                    close;
                                    }
                            }
                            else
                            {
                                    mes "[無限之塔看守人]";
                                    mes "對不起,你已經登記過了或者上次參加的時間離現在不到12小時.";
                                    close;
                            }
                    }

    請問要改什麼東西??
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2021-12-17 05:30 AM
  • 簽到天數: 237 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2009-1-27 02:11:25 | 顯示全部樓層
    #3
    2樓說很清楚了

    如果你腳本超過5行看不懂就別用了((題外話
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

    發表於 2009-1-27 10:14:49 | 顯示全部樓層
    time,這是很基本的東西
    題外話:圖上有斗大的2007也…現在都2009了…
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2011-12-3 09:49 PM
  • 簽到天數: 4 天

    連續簽到: 0 天

    [LV.2]偶爾看看I

    發表於 2009-1-27 10:45:30 | 顯示全部樓層
    你把無限之塔守門人 的所有變數及對話都貼上來

    因為你沒貼到重點的地方


    我之前也有這種狀況   改一下就好了(!)

    [ 本帖最後由 魂哥 於 2009-1-27 10:48 AM 編輯 ]
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

     樓主| 發表於 2009-1-27 13:00:56 | 顯示全部樓層

    回覆 6樓的 魂哥 的帖子

    e_tower,71,117,5        script        無限之塔看守人        421,{
            if( !getcharid(1) )
            {
                    mes "[無限之塔看守人]";
                    mes "對不起,您沒有隊伍。";
                    close;
            }
            if( getgmlevel()>90 )
            {
                    mes "[無限之塔看守人]";
                    mes "尊貴的來賓";
                    mes "你想做什麼?";
                    next;
                    switch( select( "重新開始","挑戰","我還沒準備好" ) )
                    {
                            case 1:
                                    mes "[無限之塔看守人]";
                                    mes "好的,沒問題.";
                                    close2;
                                    goto OnTimer14410000;

                            case 2:
                                    mes "[無限之塔看守人]";
                                    mes "了不起,讓我們開始吧!";
                                    close2;
                                    for( set .@i,1; .@i<7; set .@i,.@i+1)
                                            killmonsterall .@i+"@tower";
                                    set .team,getcharid(1);
                                    set .intest,1;
                                    donpcevent "naght::OnRoom1";
                                    warpparty "1@tower",50,355,.team;
                                    initnpctimer;
                                    announce "GM正在測試無限之塔.",bc_all;
                                    close;
                           
                            case 3:
                                    close;
                    }
            }
            if(.intest)
            {
                    mes "[無限之塔看守人]";
                    mes "GM現在正在測試無限之塔.";
                    close;
            }
            if(!.team)
            {
                    if( getcharid(0) != getpartyleader(getcharid(1),2) )
                    {
                            mes "[無限之塔看守人]";
                            mes "對不起,只有隊長才可以登記。";
                            close;
                    }
                    else if( gettimetick(2) - ET_Tower > 43200 )
                    {
                            mes "[無限之塔看守人]";
                            mes "歡迎 "+strcharinfo(0)+".";
                            mes "你想登記進入無限之塔嗎?";
                            mes "挑戰需要支付200W";
                            next;
                            switch( select( "是的","不要" ) )
                            {
                                    case 1:
                                            getpartymember(getcharid(1));
                                            if( $@partymembercount < 2 || zeny < 2000000 )
                                            {
                                                    mes "[無限之塔看守人]";
                                                    mes "對不起,你的隊伍成員必須在二人以上或者金錢不夠.";
                                                    close;
                                            }
                                            mes "[無限之塔看守人]";
                                            mes "你只有4個小時的時間.";
                                            mes "4小時後,你和你的全體隊員只有等待12小時後才能重新登記進入無限之塔。";
                                            next;
                                            mes "[無限之塔看守人]";
                                            mes "你確定要登記嗎?";
                                            next;
                                            switch( select( "是的","不要" ) )
                                            {
                                                    case 1:
                                                            mes "[無限之塔看守人]";
                                                            mes "你的隊伍已經成功登記了.";
                                                            set zeny,zeny-2000000;
                                                            close2;
                                                            set .ET_Slot,0;
                                                            set .ET_Players$[.ET_Slot],strcharinfo(0);
                                                            set .ET_Slot,.ET_Slot+1;
                                                            set .team, getcharid(1);
                                                            set ET_Tower, gettimetick(2);
                                                            set .ET_Tower,1;
                                                            getpartymember(getcharid(1));
                                                            set .partymembers,$@partymembercount;
                                                            announce "無限之塔已經被打開.",bc_all;
                                                            mapannounce "e_tower","請"+getpartyname(.team)+"的隊伍成員(不包括隊長),確認登記.",bc_map;
                                                            end;

                                                    case 2:
                                                            close;
                                            }
                                    case 2:
                                            close;
                            }
                    }
                    else
                    {
                            mes "[無限之塔看守人]";
                            mes "對不起,12小時內不能重複挑戰.";
                            close;
                    }
            }
            else
            {
                    for(set .@i,0; .@i<getarraysize(.ET_Players$); set .@i,.@i+1)
                    {//in case he signed up
                            if( .ET_Players$[.@i] == strcharinfo(0) )
                            {
                                    mes "[無限之塔看守人]";
                                    mes "對不起, 你已經登記過了.";
                                    close;
                            }
                    }
                    if(getcharid(1)!=.team)
                    {
                            mes "[無限之塔看守人]";
                            mes "對不起, 隊員 "+getpartyname(.team)+" 已經登記過了.";
                            mes "請稍後再來.";
                            close;
                    }
                    else if( .ET_Tower < .partymembers)
                    {
                            if(gettimetick(2)-ET_Tower>43200)
                            {
                                    mes "[無限之塔看守人]";
                                    mes "確認你的登記.";
                                    next;
                                    switch( select( "是","否" ) )
                                    {
                                            case 1:
                                                    mes "[無限之塔看守人]";
                                                    mes "已經登記成功.";
                                                    close2;
                                                    set .ET_Players$[.ET_Slot],strcharinfo(0);
                                                    set .ET_Slot,.ET_Slot+1;
                                                    set ET_Tower,gettimetick(2);
                                                    set .ET_Tower, .ET_Tower+1;
                                                    mapannounce "e_tower","須登記人數:"+.partymembers+" 已登記人數:"+.ET_Tower,bc_map;
                                                    if(.ET_Tower==.partymembers)
                                                    {
                                                            mapannounce "e_tower","所有隊員都登記成功,冒險即將開始.",bc_map;
                                                            donpcevent "naght::OnRoom1";
                                                            warpparty "1@tower",50,355,.team;
                                                            initnpctimer;
                                                            end;
                                                    }
                                                    end;

                                            case 2:
                                                    close;
                                    }
                            }
                            else
                            {
                                    mes "[無限之塔看守人]";
                                    mes "對不起,你已經登記過了或者上次參加的時間離現在不到12小時.";
                                    close;
                            }
                    }
                    else if( getcharid(0) != getpartyleader(getcharid(1),2) )
                    {
                            for(set .@i,0; .@i <= 12; set .@i,.@i + 1 )
                            {
                                    if(.ET_Players$[.@i] == strcharinfo(0))
                                    {
                                            mes "[無限之塔看守人]";
                                            mes "我將打開一個入口,它會把你傳送到第一層.";
                                            close2;
                                            warp "1@tower",50,355;
                                            end;
                                    }
                            }
                            mes "[無限之塔看守人]";
                            mes "在登記正在處理的過程中,你不能進行登記,所以我不能允許你進入無限之塔。";
                            close;
                    }
                    else
                    {
                            mes "[無限之塔看守人]";
                            mes "你想離開還是回到你的隊友身邊?";
                            next;
                            switch( select( "離開.","返回." ) )
                            {
                                    case 1:
                                            mes "[無限之塔看守人]";
                                            mes "那就這樣吧.";
                                            close2;
                                            set .team,0;
                                            set .ET_Tower,0;
                                            setnpctimer 14404500;
                                            startnpctimer;
                                            end;

                                    case 2:
                                            for(set .@i,0; .@i <= 12; set .@i,.@i + 1 )
                                            {
                                                    if(.ET_Players$[.@i] == strcharinfo(0))
                                                    {
                                                            mes "[無限之塔看守人]";
                                                            mes "我將打開一個入口,它會把你傳送到第一層.";
                                                            close2;
                                                            warp "1@tower",50,355;
                                                            end;
                                                    }
                                            }
                                            mes "[無限之塔看守人]";
                                            mes "在登記正在處理的過程中,你不能進行登記,所以我不能允許你進入無限之塔。";
                                            close;
                            }
                    }                       
            }

    OnTimer3600000:
            for( set .@i,1; .@i<7; set .@i,.@i+1)
                    mapannounce .@i+"@tower","還剩3個小時.",bc_map;
            end;

    OnTimer7200000:
            for( set .@i,1; .@i<7; set .@i,.@i+1)
                    mapannounce .@i+"@tower","還剩2個小時.",bc_map;
            end;

    OnTimer10800000:
            for( set .@i,1; .@i<7; set .@i,.@i+1)
                    mapannounce .@i+"@tower","還剩1個小時.",bc_map;
            end;

    OnTimer14400000:
            for( set .@i,1; .@i<7; set .@i,.@i+1)
                    mapannounce .@i+"@tower","時間到,你們將被傳送到普隆德拉首都.",bc_map;
            end;
           
    OnTimer14405000:
            warpparty "hugel",102,162,getvariableofnpc(.team,"無限之塔看守人");
            end;

    OnTimer14410000:
            announce "無限之塔重新開放了",bc_all;
            set .team,0;
            set .ET_Tower,0;
            set .intest,0;
            set $@et_award,0;
            for( set .@i,1; .@i<7; set .@i,.@i+1)
                    killmonsterall .@i+"@tower";
            for(set .@i,2; .@i<102; set .@i,.@i+1)
                    disablenpc "ET_Warp_"+.@i;
            disablenpc "納戶特基格";
            disablenpc "warptonaght1";
            disablenpc "warptonaght2";
            disablenpc "ET_Exit";
            end;

    OnInit:
            disablenpc "納戶特基格";
            disablenpc "warptonaght1";
            disablenpc "warptonaght2";
            disablenpc "ET_Exit";
            for(set .@i,2; .@i<102; set .@i,.@i+1)
                    disablenpc "ET_Warp_"+.@i;
            end;

    OnPCLoadMapEvent:
            getmapxy(.@m$,.@x,.@y,0);
            if( (.@m$ == "1@tower" || .@m$ == "2@tower" || .@m$ == "3@tower" || .@m$ == "4@tower" || .@m$ == "5@tower") )
            {
                    if(!getvariableofnpc(.team,"無限之塔看守人"))
                            warp "SavePoint",0,0;
                    if(!@eting)
                            set @eting,1;
                    if( getcharid(0)==getpartyleader(getvariableofnpc(.team,"無限之塔看守人"),2) )
                    {
                            if( .@m$ == "2@tower" && !($@et_award&1) )
                            {                       
                                    getitem 7726,1;
                                    set $@et_award,$@et_award|1;
                            }
                            else if( .@m$ == "3@tower" && !($@et_award&2) )
                            {                       
                                    getitem 7726,1;
                                    set $@et_award,$@et_award|2;
                            }
                            else if( .@m$ == "4@tower" && !($@et_award&4) )
                            {                       
                                    getitem 7726,1;
                                    set $@et_award,$@et_award|4;
                            }
                    }
            }
            end;

    OnPCLogoutEvent:
            if(@eting)
                    if((getmapusers("1@tower")+getmapusers("2@tower")+getmapusers("3@tower")+getmapusers("4@tower")+getmapusers("5@tower")+getmapusers("6@tower"))==1)
                            donpcevent "無限之塔看守人::OnTimer14410000";
            end;
    }
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2011-12-3 09:49 PM
  • 簽到天數: 4 天

    連續簽到: 0 天

    [LV.2]偶爾看看I

    發表於 2009-1-27 13:07:32 | 顯示全部樓層
    for(set [email=.@i,0].@i,0[/email]; [email=.@i].@i[/email] <= 12; set [email=.@i,.@i].@i,.@i[/email] + 1 )
                            {
                                    if(.ET_Players$[.@i] == strcharinfo(0))
                                    {
                                            mes "[無限之塔看守人]";
                                            mes "我將打開一個入口,它會把你傳送到第一層.";
                                            close2;
                                            warp "[email=1@tower]1@tower",50,355[/email];
                                            end;
                                    }
                            }
                            mes "[無限之塔看守人]";
                            mes "在登記正在處理的過程中,你不能進行登記,所以我不能允許你進入無限之塔。";
                            close;
                    }
                    else
                    {
                            mes "[無限之塔看守人]";
                            mes "你想離開還是回到你的隊友身邊?";
                            next;
                            switch( select( "離開.","返回." ) )
                            {
                                    case 1:
                                            mes "[無限之塔看守人]";
                                            mes "那就這樣吧.";
                                            close2;
                                            set .team,0;
                                            set .ET_Tower,0;
                                            setnpctimer 14404500;
                                            startnpctimer;
                                            end;
                                    case 2:
                                            for(set [email=.@i,0].@i,0[/email]; [email=.@i].@i[/email] <= 12; set [email=.@i,.@i].@i,.@i[/email] + 1 )
                                            {
                                                    if(.ET_Players$[.@i] == strcharinfo(0))
                                                    {
                                                            mes "[無限之塔看守人]";
                                                            mes "我將打開一個入口,它會把你傳送到第一層.";
                                                            close2;
                                                            warp "[email=1@tower]1@tower",50,355[/email];
                                                            end;
                                                    }
                                            }
                                            mes "[無限之塔看守人]";
                                            mes "在登記正在處理的過程中,你不能進行登記,所以我不能允許你進入無限之塔。";
                                            close;


    紅字的地方改成你要等待的小時

    如果不想要等待時間 就打0

    評分

    參與人數 1積分 +10 現金 +10 積極性 +10 收起 理由
    bn5656 + 10 + 10 + 10 新年快樂

    查看全部評分

    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

     樓主| 發表於 2009-1-27 15:22:14 | 顯示全部樓層

    回覆 8樓的 魂哥 的帖子

    感謝你的分享!!
    3Q^^~
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-5-6 01:17 AM , Processed in 0.058893 second(s), 23 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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