// ____________________________//-------------------| BOMB PORING SURVIVAL EVENT |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// ____________________________//-------------- Created By Emistry ,------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //-------------- Thank you to all eAthena Members.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//-------------- Without you all , I won't be able to write a single / simple script.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// ____________________________//---------------------------| V E R S I O N 1 . 2 |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// ____________________________//------------------------------- C H A N G E L O G---------------------------------------------// -> Simplify some script parts. // -> Fixed GM Start Event Message Closing Problem.// -> Fixed Reward NPC Appear After Event Finished.// -> Added New Announcement Messages.// -> Changed Default Bomb Poring Amount. // -> Announce Register NPC Location On Prontera.// -> Bomb Poring no more fixed spawn on a specific spots.// -> Changed some Globe Announce to Map Announce.// -> Changed Time Duration of Event.// -> Added an iforming message after GM has Disable the Event.// -> Changed Rewards based on each Character and not Account based.// -> Change Rewards System to auto RANDOMLY GENERATE Reward amount.// -> Default Reward = Poring Coin [ ItemID : 7539 ] ( Amount 1 to 30 )// _________________________//----------------------| MAP FLAG OF THIS EVENT |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// _________________________quiz_01 mapflag nowarptoquiz_01 mapflag noskillquiz_01 mapflag nowarpquiz_01 mapflag noteleportquiz_01 mapflag nomemoquiz_01 mapflag nosave SavePointquiz_01 mapflag nobranchquiz_01 mapflag noicewallquiz_01 mapflag nopenaltyquiz_01 mapflag nobranchquiz_01 mapflag noexpquiz_01 mapflag noreturnquiz_01 mapflag pvp_nopartyquiz_01 mapflag restricted 1//----------------------Hide NPC On Startup----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- script Bomber#disable -1,{OnInit:disablenpc"Reward NPC";}//----------------------NPC Master Location-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//-------------------To Active / Close Event --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------prontera,155,77,4 script Bomber 1904,{doevent"bombevent::OnStart";}//----------------------WHISPERING SYSTEM----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//------------------ PM [ npc:bombevent ] with any message then menu will come out --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- script bombevent -1,{OnWhisperGlobal:OnStart:if(getgmlevel() >=60)goto LMS_Admin;mes"[Minion]";mes"Hello "+strcharinfo(0)+", I am busy right now.";mes"*sigh*";close;//---------------------------GM MENU----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------LMS_Admin:mes"[Bomber]";mes"Hello "+strcharinfo(0)+", would you like me to start the Bomb Event ?";mes"Choose [ ^336699START EVENT ^000000 ] if you wish to start it !!";menu"START EVENT",M_bomb,"Spectate",M_warp,"End Event",M_EndEvent,"No Thanks",leave; M_bomb:next;mes"[Bomber]";mes"Ok, I'll start it this instant.";next;mes"The Registry NPC will come out more awhile..";mes"He is use for player to register the Game.";mes"He also will warp player who had registered to the event location.";close2;set $@offvar,1;goto StartEvent;end; M_warp:mes"[Bomber]";mes"Very well, I will warp you to the map!";warp"quiz_01",42,369;close; leave:next;mes"[Bomber]";mes"Ok "+strcharinfo(0)+", nice seeing you.";close; M_EndEvent:mes"[Bomber]";mes"Ok master, I will stop the event for you right away!";next;set $@offvar,1;announce"I will be back after 3 Minutes",bc_blue|bc_self;disablenpc"Reward NPC";killmonsterall"quiz_01";areawarp"quiz_01",10,10,450,450,"prontera",155,165;disablenpc"Bomber";warp"prontera",155,160;close2;sleep2180000;enablenpc"Bomber";end;//----------------------START EVENT---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- StartEvent:initnpctimer;announce"Bomb Event Will begin in 3 minutes. Head to Prontera",0;killmonsterall"quiz_01";disablenpc"Reward NPC";sleep230000;announce"Bomb Event Will begin in 2 minutes 30 seconds . Head to Prontera",0;sleep230000;announce"Bomb Event will begin in 2 minutes! Head to Prontera",0;sleep215000;announce"Bomb : I have now appeared in Prontera for registry l! ",0;enablenpc"Registry";sleep23000;announce"Bomb : Location : Prontera [ 156 , 185 ] l! ",0;announce"Bomb : At the Centre of Prontera ",0;sleep222000;announce"Bomb : Location : Prontera [ 156 , 185 ] l! ",0;announce"Bomb : At the Centre of Prontera ",0;sleep220000;announce"Bomb Event will begin in 1 minute!",0;sleep21000;announce"Bomb : Location : Prontera [ 156 , 185 ] l! ",0;announce"Bomb : At the Centre of Prontera ",0;sleep215000;mapannounce"quiz_01","In 30 seconds the Bomb Event will start !!",0;sleep230000;announce"Bomb Event has now begun !! Registry Closed Now ~",0,0x00FF00;disablenpc"Registry";sleep23000;announce"Bomb Event will begin in ~5~",0;sleep21000;announce"Bomb Event will begin in ~4~",0;sleep21000;announce"Bomb Event will begin in ~3~",0;sleep21000;announce"Bomb Event will begin in ~2~",0;sleep21000;announce"Bomb Event will begin in ~1~",0;sleep21000;//----------------------ROUND ONE ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------mapannounce"quiz_01","Round 1 !! The BOMB timing has Started to count down !!",0;sleep22000;mapannounce"quiz_01",getmapusers("quiz_01")+" players has joined the event.",0,0x00FF00;sleep23000;announce"Alright !! Let's BLOW it up !! ",bc_blue|bc_map;sleep23000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,5;areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,5;sleep213000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,5;areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,5;sleep210000;mapannounce"quiz_01","5 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","4 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","3 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","2 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","1 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","Round 1 Finished !! Please wait for next round !! ^^ !!",0;killmonsterall"quiz_01";sleep21000;//----------------------ROUND TWO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------if(getmapusers("quiz_01") < 1)goto L_Lose;mapannounce"quiz_01","Round 2 !! What ?? The BOMB seem to be increased !!",0;sleep22000;mapannounce"quiz_01",getmapusers("quiz_01")+" players has survived to this round.",0,0x00FF00;sleep23000;announce"Good Job !! Gratz to reach this stage !! ",bc_blue|bc_map;sleep23000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,1,"bomblose::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,1,"bomblose1::OnMobDied";areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,5;areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,5;sleep213000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,3;areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,3;sleep210000;mapannounce"quiz_01","5 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","4 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","3 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","2 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","1 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","Round 2 Finished !! Please wait for next round !! ^^ !!",0;killmonsterall"quiz_01";sleep21000;//----------------------ROUND THREE ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------if(getmapusers("quiz_01") < 1)goto L_Lose;mapannounce"quiz_01","Round 3 !! What ?? The BOMB increased again !!",0;sleep22000;mapannounce"quiz_01",getmapusers("quiz_01")+" players has survived to this round.",0,0x00FF00;sleep23000;announce"Keep In On !! 2 More Stage After this Stage !! ~ ",bc_blue|bc_map;sleep23000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,7;areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,7;sleep25000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,5;areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,5;sleep210000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,2,"bomblose::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,2,"bomblose1::OnMobDied";sleep27000;mapannounce"quiz_01","5 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","4 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","3 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","2 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","1 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","Round 3 Finished !! Please wait for next round !! ^^ !!",0;killmonsterall"quiz_01";sleep21000;//----------------------ROUND FOUR ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------if(getmapusers("quiz_01") < 1)goto L_Lose;mapannounce"quiz_01","Round 4 !! OMG ?? The BOMB increasing into a huge number !!",0;sleep22000;mapannounce"quiz_01",getmapusers("quiz_01")+" players has survived to this round.",0,0x00FF00;sleep23000;announce"Incredible !! They Survive till this stage ~ ",bc_blue|bc_map;sleep23000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,1,"bomblose::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,1,"bomblose1::OnMobDied";areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,5;areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,5;sleep215000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,2,"bomblose1::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,2,"bomblose::OnMobDied";sleep210000;mapannounce"quiz_01","5 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","4 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","3 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","2 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","1 Second to go until next Round !! ^^ !!",0;sleep21000;mapannounce"quiz_01","Round 4 Finished !! Please wait for next round !! ^^ !!",0;killmonsterall"quiz_01";sleep21000; //----------------------ROUND FIVE ( FINAL )-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------if(getmapusers("quiz_01") < 1)goto L_Lose;mapannounce"quiz_01","Final Round !! What ?? The BOMB cant be stopped now !! Damn it !!~ ",0;sleep22000;mapannounce"quiz_01",getmapusers("quiz_01")+" players has survived to this round.",0,0x00FF00;sleep23000;announce"OMG !!! They come to the FINAL STAGE !!! Who Will Survive till the END !?? ~ ",bc_blue|bc_all;sleep23000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,1,"bomblose::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,1,"bomblose1::OnMobDied";areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,15;areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,15;sleep218000;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,2,"bomblose1::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,2,"bomblose::OnMobDied";sleep22000;mapannounce"quiz_01","Survive this round to get Reward ^^ !!",0;sleep210000;mapannounce"quiz_01","30 Second to go !! ^^ !!",0;sleep21500;mapannounce"quiz_01","15 Second to go !! ^^ !!",0;sleep25000;mapannounce"quiz_01","10 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","9 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","8 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","7 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","6 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","5 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","4 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","3 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","2 Second to go !! ^^ !!",0;sleep21000;mapannounce"quiz_01","1 Second to go !! ^^ !!",0;sleep21000;if(getmapusers("quiz_01") < 1)goto L_Lose;mapannounce"quiz_01","Congratulation to all SURVIVALS xD !! ^^ !!",0;killmonsterall"quiz_01";goto L_Win;sleep21000;end;//----------------------When All Players LOSE / WIN--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//------------------Will Auto Check Every Round Before Start----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------L_Lose:if(getmapusers("quiz_01")==0){killmonsterall"quiz_01";announce"'Bomb Event has ended. No one survived.",0;stopnpctimer;end;}L_Win:if(getmapusers("quiz_01") > 0){mapannounce"quiz_01",getmapusers("quiz_01")+" players has survived the event.",0,0x00FF00;enablenpc"Reward NPC";sleep23000;mapannounce"quiz_01","You have survive and WIN, approach the Reward NPC please.",0;end;}stopnpctimer; end;OnTimer10000:if(getmapusers("quiz_01")==1){killmonsterall"quiz_01";mapannounce"quiz_01","You have survive and WIN, approach the Reward NPC please.",0;enablenpc"Reward NPC";end;}//-----------When Player Died He Will Be Warp Back -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//-----------But Will Increase Amount Of Bomb Poring At The Same Time--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OnPCDieEvent:getmapxy .@mapnvz$,.@xnvz,.@ynvz,0;if( .@mapnvz$ =="quiz_01"){sleep21;warp"prontera",155,155;mapannounce"quiz_01","What a disaster !! The Bomb will be multiplied when someone had died in the Event !! .",0;areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,1,"bomblose::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,1,"bomblose1::OnMobDied";atcommand"@alive "+strcharinfo(0);dispbottom"What A Bad Luck...Join Us Again Next Time ^^. ";}}//----------------------REWARD NPC---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------quiz_01,42,369,3 script Reward NPC 72,{if(BombRewarded ==1)goto L_End;mes"[Reward NPC]";mes"Please tell me your name.";next;input .@name$;if(.@name$ !=strcharinfo(0)){mes"[Reward NPC]";mes"Are you sure that is your name?";close;}mes"[Reward NPC]";mes"Congrats. You've won.";close2;announce"Bomb Event : We have Survivor !! "+.@name$+" has won the Bomb Event!",0;set $rewarditem, 7539; //Change This item id and amount to what ever you want. Default = Poring Coins [ItemID 7539]set $rand, rand(1,30); // Randomly picks from 1 to 30.getitem $rewarditem,$rand;set BombRewarded,1; //to ensure player cant have chances to spam rewardswarp"prontera",155,155;sleep21500;if(getmapusers("quiz_01") < 1){disablenpc"Reward NPC";}end;L_End:mes"[Reward NPC]";mes"You have obtained the Rewards already ";mes" OR ";mes" You joined this game without Register yourself at Registry NPC.";mes"So, dont blame me for not giving you rewards .";close;}//----------------------REGISTER FOR GAME----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------prontera,156,185,4 script Registry 1904,{if(BaseLevel < 1)goto NO; // Check Base Level Before Registerif(class > 0)goto event; // Check Class Before Register event:mes"[^0000FFRegistry^000000]";mes"You dare to participate in the Bomb Survival Event?";next;switch(select("Bring it on !! ","Sorry, give me some time..")){case1:sc_endSC_ALL; // Remove all their Buffs before they entersc_startSC_DECREASEAGI,1200000,10;percentheal100,100;sc_startSC_STRIPSHIELD,1200000,5; //if they wearing a shield then will get this negative buffssc_startSC_STRIPWEAPON,1200000,5; //if they wearing a shield then will get this negative buffssc_startSC_STRIPARMOR,1200000,5; //if they wearing a shield then will get this negative buffssc_startSC_STRIPHELM,1200000,5; //if they wearing a shield then will get this negative buffs// statusup2 bStr,-999; // you can enable this to set their stat to lower during the event// statusup2 bAgi,-999; // you can enable this to set their stat to lower during the event// statusup2 bVit,-999; // you can enable this to set their stat to lower during the event// statusup2 bInt,-999; // you can enable this to set their stat to lower during the event// statusup2 bDex,-999; // you can enable this to set their stat to lower during the event// statusup2 bLuk,-999; // you can enable this to set their stat to lower during the eventset BombRewarded,0; //reset the rewarded players for last eventswarp"quiz_01",42,369;end;break;case2:mes"[^0000FFRegistry^000000]";mes"Come back when your are ready.";close;break; NO:mes"[^0000FFRegistry^000000]";mes"You must not a Novice , or with base level lower or equal to 1.";close;}OnInit:disablenpc"Registry";disablenpc"Reward NPC";end;}//-------------Bomb Poring Will Keep Spawn After Died-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//-------------When A Bomb Poring with "bomblose/1::OnMobDied" Died.. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//-------------The Event Will Spawn 2 More Bomb Poring. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//-------------The 2 Is "Special" ( Will Spawn 2 More Bomb Porings Back When Died Again ) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//------------"Unlimit Spawn" Might Increase Lag In Your Server If The Number Too High ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- script bomblose -1,{OnMobDied:areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,1,"bomblose::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,1,"bomblose1::OnMobDied";end;}- script bomblose1 -1,{OnMobDied:areamonster"quiz_01", 23, 361, 38, 376, "Timed Bomb",1904,1,"bomblose1::OnMobDied";areamonster"quiz_01", 45, 362, 60, 376, "Timed Bomb",1904,1,"bomblose::OnMobDied";end;}