UID113755
帖子
精華
主題
積分2141
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限10
註冊時間2008-11-5
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 開心 2013-3-5 08:43 AM |
---|
簽到天數: 460 天 連續簽到: 4 天 [LV.9]以壇為家II
|

樓主 |
發表於 2010-5-19 20:17:33
|
顯示全部樓層
- 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 "挑戰需要支付100W";
- next;
- switch( select( "是的","不要" ) )
- {
- case 1:
- getpartymember(getcharid(1));
- if( $@partymembercount < 2 || zeny < 1000000 )
- {
- mes "[無限之塔看守人]";
- mes "對不起,你的隊伍成員必須在二人以上或者金錢不夠.";
- close;
- }
- mes "[無限之塔看守人]";
- mes "你只有4個小時的時間.";
- mes "4小時後,你和你的全體隊員只有等待12小時後才能重新登記進入無限之塔。";
- next;
- mes "[無限之塔看守人]";
- mes "你確定要登記嗎?";
- next;
- switch( select( "是的","不要" ) )
- {
- case 1:
- mes "[無限之塔看守人]";
- mes "你的隊伍已經成功登記了.";
- set zeny,zeny-1000000;
- 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 "prontera",156,181,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;
- }
複製代碼
在此提供給您看了 |
|