/* ======================================================== - 腳本名稱: 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