Jump to content
  • 0
Sign in to follow this  
ZelosAvalon

Event Invasion

Question

I need something like this, is just one example, does not work!

 

where I can choose what I will summon monsters, where i will summon and quantity of monster will sumom!

 

 


jupe_ele,36,53,6 script Event Goblin Invasion 105,{

 
set .gm,50;//GM Level to access the GM Menu. Default: 50
 
// GM menu 
//It allows GMs Level 50 or more to Start and Stop invasions.
if (getgmlevel()>.gm) {
if (.mobs_left) {
mes "[Event Invasion]";
mes "An invasion is in progress..";
mes "Location: " + .Map$;
mes "^FF0000"+.mobs_left+"^000000 "getmonstername(.MonsterID)" left";
mes " ";
mes "Stop invasion?";
if(select("No:Yes")==1) close;
donpcevent "Event Invasion::OnTimer1805000";
mes "Invasion stopped";
announce "The Invasion has been stopped by "+strcharinfo(0),bc_all;
close;
}
mes "[Event Invasion]";
mes "Please customize the Invasion event before starting it.";
Main:
next;
mes "[Event Invasion]";
switch(select("Item [" + getitemname(.ItemID) + "]:Monster [" + getmonstername(.MonsterID) + "]:MVP[" + getmvpname(.MvpID) + "]:Town[" + "town name" + "]Start Event")) {
case 1:
mes "Which item would you like the MVP to drop?";
mes "Please input the item ID:";
input .ItemID;
next
mes "Please input the quantite:";
input .qnt1
goto Main;
 
case 2:
mes "what monster you want to summon?";
mes "Please input the monster ID:";
input .MonsterID;
next
mes "Please input the amount of monster u'll summom:";
input .qnt2
goto Main;
 
case 3:
mes "what MVP you want to summon?";
mes "Please input the MVP ID:";
input .MvpID;
goto Main;
 
case 4:
mes "what town you want to monster invader?";
mes "Select the town:";
 
select menu with:
prontera, payon, geffen, aldebaran, morocc ... ( all towns)
goto Main;
 
case 5:
mes "Starting the event now...";
close2;
goto OnStart;
}
 
// If a player clicks the NPC, it displays:
 
mes "[Event Invasion]";
mes .mobs_left+" have invaded "+.Map$[.rand_map]+"!";
close;
 
/////////////////////////
//The actual NPC Script//
/////////////////////////
OnMinute50: // Change this to your liking
OnStart:
set .mobs_left, 1;
sleep2 1000;
announce "[ Rune-Midgard Guard ]: We have trouble here in the town " + .Map$ + "!", bc_all;
sleep2 5000;
announce "[ Rune-Midgard Guard ]: Everyone, we need your help to get rid of these monsters!", bc_all;
monster .Map$,0,0,"getmonstername(.MonsterID)",.MonsterID,.qtd2,"Event Invasion::OnMyMobDead";
set .mobs_left, .qtd2;
end;
 
 
OnTimer1805000: // 30 minutes later, kills all the mobs.
killmonster .Map$,"Event Invasion::OnMyMobDead";
set .mobs_left, 0;
 
killmonster .Map$,"Event Invasion::OnMyMobDead";
killmonster .Map$,"Event Invasion::OnSpecialMobDead";
announce "It seems that "+strcharinfo(0)+" has ended the Invasion!",bc_all;
end;
 
OnMyMobDead: //When a monster is killed
set .mobs_left, .mobs_left-1;
if (.mobs_left==0) {
announce "[ Rune-Midgard Guard ]: The "getmvpname(.MvpID)" has spawned in " + .Map$ + "!", bc_all;
monster .Map$,0,0,"getmvpname(.MvpID)",.MvpID,1,"Event Invasion::OnSpecialMobDead";
 
} else {
announce "["+.mobs_left+"/.qtd2] "getmonstername(.MonsterID)" left.",bc_map;
}
end;
 
OnSpecialMobDead:
announce strcharinfo(0)+" has fought off the Invasion and has been awarded a worthy prize!", bc_all;
getitem .ItemID,qnt1; //Change the [5] to the amount you wish to hand out.
donpcevent "Event Invasion::OnStop";
}
end;
 
}
 
on player kill monster strcharinfo(0)+ get 1 Event POint for each kill
on player kill MVP strcharinfo(0)+ get + 10 event points
Edited by ZelosAvalon

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.