/* ======================================================== - 腳本名稱: 20關副本道館 - 腳本作者: Nick - 使用說明: db/instance_db.txt 自定編號,初階道館,3600,1@guild,50,50,1@guild - 映射地圖部分: 要有自行新增地圖的能力 data/resnametable.txt 1@guild.gat#guild_vs1.gat# 1@guild.gnd#guild_vs1.gnd# 1@guild.rsw#guild_vs1.rsw# data/texture 嶸盪檣攪檜蝶\map\1@guild.bmp#嶸盪檣攪檜蝶\map\guild_vs1.bmp# db/map_index.txt 1@guild Conf/maps_athena.conf mep: 1@guild >>>>>>>>>>>>如有轉載請保留以上,非常感激<<<<<<<<<<<<<< =============================================================*/ amatsu,128,154,4 script 20關道場管理員 734,{ if ( !getcharid(1) ) { mes .@npc_name$; mes "請先組隊再來報名"; close; } if ( getcharid(0) != getpartyleader(getcharid(1),2) ) { mes .@npc_name$; mes "對不起,你不是隊長。"; close; } set .Zeny,10; //入場費用(萬元單位) set .@map_name$,"初階道館"; set .@npc_name$,"[20關道場管理員]"; mes .@npc_name$; mes "您是隊伍 " + getpartyname(getcharid(1)) + " 的隊長吧?"; mes "道場需交 "+.Zeny+" 萬入場費用,你要參與嗎?"; next; switch(select("我想報名 "+.@map_name$,"離開","銷毀副本")) { case 1: if ( instance_create(.@map_name$) < 0 ) { mes .@npc_name$; mes "隊伍名稱: "+getpartyname(getcharid(1)); mes "隊伍隊長: "+strcharinfo(0); mes "^0000ff"+.@map_name$+" ^000000- 創建失敗!"; close; } if ( Zeny < .Zeny*10000) { mes .@npc_name$; mes "很抱歉,您的金錢不足!"; close; } set Zeny,Zeny- .Zeny*10000; instance_enter(.@map_name$); warpparty instance_mapname("1@guild", instance_id()),50,50,getcharid(1); announce "隊伍 "+getpartyname(getcharid(1))+" 進入了20關道場 "+.@map_name$+".",0; //----腳本設置 //----怪物編號設置 setarray 'monsterid[1],1001,1002,1007,1008,1009,1010,1011; //---怪物數量(設定幾隻就是關卡) setarray 'monsternum[1],1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20; //---休息場數 setarray 'enterromob[1],5,9; //---獎品設置 setarray 'enterItem[1],501,502,503,504,505; //---獎品數量 setarray 'enterCou[1],1,2,3,4,5; //---獎金設置 setarray 'enterZeny[1],100,300; close; case 2: mes .@npc_name$; mes "若想挑戰道館,請記得來報名!"; close; case 3: instance_destroy; close; } OnInit: waitingroom "20關道館挑戰",0; end; } 1@cd_dao,50,49,4 script 道館裁判 758,{ if ( getcharid(0) != getpartyleader(getcharid(1),2) ) { mes "[道館裁判]"; mes "只有隊長有權力開起挑戰"; close; } mes "[道館裁判]"; mes "請問藥開始挑戰了嗎?"; next; switch(select("開始挑戰!","不小心點到!")){ case 1: disablenpc instance_npcname("道館裁判", instance_id()); doevent instance_npcname("道館出怪",instance_id())+"::OnMobstar"; close; case 2: mes "[道館裁判]"; mes "那您以後別在那麼不小心哩!"; close; } } 1@guild,0,0,0 script 道館出怪 -1,{ OnMobstar: set 'Checkpoint,'Checkpoint+1; for (set .@n,0; .@n < 'monsternum['Checkpoint]; set .@n,.@n+1) { monster instance_mapname("1@guild", instance_id()),rand(45,55),rand(45,55),"--ja--",'monsterid[rand(1,getarraysize('monsterid)-1)],1,instance_npcname("道館出怪")+"::OnKill_Mob"; } set 'mobs,'mobs+.@n; end; OnKill_Mob: set 'mobs,'mobs-1; if( 'mobs > 0 ) { end; } if ( 'Checkpoint == getarraysize('monsternum)-1 ) { announce "隊伍 "+getpartyname(getcharid(1))+" 挑戰成功.",0; sleep2 2000; enablenpc instance_npcname("獎金發放員", instance_id()); enablenpc instance_npcname("獎品發放員", instance_id()); end; } if ( 'Checkpoint == getarraysize('monsternum)-2 ) { instance_announce instance_id(),"道館裁判 : 恭喜第 ["+'Checkpoint+"] 關挑戰成功,最後一關挑戰將開始,請繼續努力!",0; } else { instance_announce instance_id(),"道館裁判 : 恭喜第 ["+'Checkpoint+"] 關挑戰成功!",0; } for (set .@n,1; .@n<getarraysize('enterromob); set .@n,.@n+1) if ('Checkpoint == 'enterromob[.@n]){ enablenpc instance_npcname("道館裁判", instance_id()); end; } addtimer 5000,instance_npcname("道館出怪")+"::OnMobstar"; end; } 1@guild,46,53,4 script 獎金發放員 736,{ mes "[獎金發放員]"; mes "你很厲害!能打到這裡,讓我給你一些獎勵吧!"; percentheal 100,100; next; mes "[獎金發放員]"; mes "我是負責發放獎金的"; mes "你可以獲得金錢 "+'enterZeny[1]+" 到 "+'enterZeny[2]+" 萬"; mes "你確定你要選擇獎金嗎?"; next; if(select("對,我要領獎金!","不了,讓我在考慮一下!") == 2 ) { close; } set zeny,zeny+rand('enterZeny[1],'enterZeny[2])*10000; warp "amatsu",156,108; //回城設置 close; OnInstanceInit: disablenpc instance_npcname("獎金發放員", instance_id()); end; } 1@guild,53,53,4 script 獎品發放員 736,{ mes "[獎品發放員]"; mes "你很厲害!能打到這裡,讓我給你一些獎勵吧!"; percentheal 100,100; next; mes "[獎品發放員]"; mes "你可以獲得獎品"; for(set .@n,1; .@n< getarraysize('enterItem); set .@n,.@n+1) { mes ""+getitemname('enterItem[.@n])+" x "+'enterCou[.@n]+" 個"; } mes "你確定你要選擇獎品嗎?"; next; if(select("對,我要領獎品!","不了,讓我在考慮一下!") == 2 ) { close; } set .@n,rand(1,getarraysize('ChestItem)-1); getitem 'enterItem[.@n],'enterCou[.@n]; warp "amatsu",156,108; //回城設置 close; OnInstanceInit: disablenpc instance_npcname("獎品發放員", instance_id()); end; }