Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //================================================================================================================================
- //=============== Hercules Script =====\\\\\\\\\\\\\\\==\\\\\\\\\\\==\\\\\\\========\\\\\\\\\\==\\\\\\\\\\\\\\====================
- //= Event Invasion ====================\\ \\===\\ \\==\\ \\========\\ \\==\\ \\====================
- //===== Created BY: ===================\\\\\\ \\=====\\ \\\\\\==\\===\\========\\ \\ \\==\\ \\\\\\\\\====================
- //= Zelos*~ ==============================\\ \\======\\ \\==\\ \\========\\ \\ \\==\\ \\====================
- //===== CURRENT Version: ================\\ \\\\\\\==\\ \\\\\\==\\===\\\\\\\\==\\ \\ \\==\\\\\\\\ \\====================
- //= v1.3 ===============================\\ \\==\\ \\==\\ \\==\\ \\==\\ \\====================
- //=====================================\\\\\\\\\\\\\\\==\\\\\\\\\\\==\\\\\\\\\\\\\==\\\\\\\\\\==\\\\\\\\\\\\\\====================
- //================================================================================================================================
- prontera,148,178,5 script Event Invasion#2 105,{
- SET .GM,4;//GM Level TO access the GM Menu. DEFAULT: 50
- FUNCTION GO {
- warp getarg(0),getarg(1,0),getarg(2,0);
- getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
- END;
- }
- // IF a player clicks the NPC, it displays:
- IF (getgmlevel()<.GM){
- IF (.mobs_left) == 0{
- mes "[Event Invasion]";
- mes "We haven't monster invasion at the moment";
- mes "All the Cities in Rune Midgard are safe!";
- close;
- }
- mes "[Event Invasion]";
- mes "Help us!!! "+.mobs_left+" "+getmonsterinfo(.MobID,0)+" have invaded "+.maps$+"!";
- NEXT;
- mes "You want, I teleport you to "+.maps$+"?";
- switch(SELECT("Yes:No")) {
- CASE 1:
- mes "[Event Invasion]";
- mes "Teleporting ...";
- IF (.maps$) == "prontera" {
- GO("prontera",155,183);
- }
- IF (.maps$) == "alberta" {
- GO("alberta",28,234);
- }
- IF (.maps$) == "aldebaran" {
- GO("aldebaran",140,131);
- }
- IF (.maps$) == "amatsu" {
- GO("amatsu",198,84);
- }
- IF (.maps$) == "ayothaya" {
- GO("ayothaya",208,166);
- }
- IF (.maps$) == "brasilis" {
- GO("brasilis",196,217);
- }
- IF (.maps$) == "comodo" {
- GO("comodo",209,143);
- }
- IF (.maps$) == "dewata" {
- GO("dewata",200,180);
- }
- IF (.maps$) == "ecl_in01" {
- GO("ecl_in01",48,53);
- }
- IF (.maps$) == "einbech" {
- GO("einbech",63,35);
- }
- IF (.maps$) == "einbroch" {
- GO("einbroch",64,200);
- }
- IF (.maps$) == "dicastes01" {
- GO("dicastes01",198,187);
- }
- IF (.maps$) == "geffen" {
- GO("geffen",119,59);
- }
- IF (.maps$) == "gonryun" {
- GO("gonryun",160,120);
- }
- IF (.maps$) == "hugel" {
- GO("hugel",96,145);
- }
- IF (.maps$) == "izlude" {
- GO("izlude",128,114);
- }
- IF (.maps$) == "jawaii" {
- GO("jawaii",251,132);
- }
- IF (.maps$) == "lighthalzen" {
- GO("lighthalzen",158,92);
- }
- IF (.maps$) == "louyang" {
- GO("louyang",217,100);
- }
- IF (.maps$) == "xmas" {
- GO("xmas",147,134);
- }
- IF (.maps$) == "malangdo" {
- GO("malangdo",140,114);
- }
- IF (.maps$) == "malaya" {
- GO("malaya",212,206);
- }
- IF (.maps$) == "manuk" {
- GO("manuk",282,138);
- }
- IF (.maps$) == "mid_camp" {
- GO("mid_camp",210,288);
- }
- IF (.maps$) == "mora" {
- GO("mora",55,146);
- }
- IF (.maps$) == "morocc" {
- GO("morocc",156,93);
- }
- IF (.maps$) == "moscovia" {
- GO("moscovia",223,184);
- }
- IF (.maps$) == "nameless_n" {
- GO("nameless_n",256,215);
- }
- IF (.maps$) == "niflheim" {
- GO("niflheim",202,174);
- }
- IF (.maps$) == "payon" {
- GO("payon",179,100);
- }
- IF (.maps$) == "rachel" {
- GO("rachel",130,110);
- }
- IF (.maps$) == "splendide" {
- GO("splendide",201,147);
- }
- IF (.maps$) == "thor_camp" {
- GO("thor_camp",246,68);
- }
- IF (.maps$) == "umbala" {
- GO("umbala",97,153);
- }
- IF (.maps$) == "veins" {
- GO("veins",216,123);
- }
- IF (.maps$) == "yuno" {
- GO("yuno",157,51);
- }
- CASE 2:
- close;
- }
- }
- // 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: " + .maps$;
- mes "^FF0000" +.mobs_left+ " : ^000000" + getmonsterinfo(.MobID,0) + " left ";
- mes " ";
- mes "^FF0000Stop invasion?^000000";
- IF(SELECT("No:Yes")==1) close;
- donpcevent "Event Invasion#2::OnTimer1805000";
- NEXT;
- mes "[Event Invasion]";
- mes "^FF0000Invasion has been stopped^000000";
- announce "The Invasion has been stopped by "+strcharinfo(0),bc_all;
- close;
- }
- OnStart:
- sleep2 1000;
- SET .mobs_left, .MobX;
- SET $@ran, rand(1,11);
- IF ($@ran == 11){
- SET .MvpID,"2068";
- SET .ItemID,"18659";
- SET .MobID,"2071";
- SET .MobX,"200";
- SET .maps$,"brasilis";
- }
- IF ($@ran == 10){
- SET .MvpID,"2100";
- SET .ItemID,"5518";
- SET .MobID,"1431";
- SET .MobX,"200";
- SET .maps$,"prontera";
- }
- IF ($@ran == 9){
- SET .MvpID,"2100";
- SET .ItemID,"5518";
- SET .MobID,"1431";
- SET .MobX,"200";
- SET .maps$,"prontera";
- }
- IF ($@ran == 8){
- SET .MvpID,"2098";
- SET .ItemID,"5151";
- SET .MobID,"1427";
- SET .MobX,"200";
- SET .maps$,"geffen";
- }
- IF ($@ran == 7){
- SET .MvpID,"2095";
- SET .ItemID,"5497";
- SET .MobID,"1603";
- SET .MobX,"200";
- SET .maps$,"payon";
- }
- IF ($@ran == 6){
- SET .MvpID,"1252";
- SET .ItemID,"5610";
- SET .MobID,"1606";
- SET .MobX,"200";
- SET .maps$,"lutie";
- }
- IF ($@ran == 5){
- SET .MvpID,"2094";
- SET .ItemID,"5375";
- SET .MobID,"1439";
- SET .MobX,"200";
- SET .maps$,"geffen";
- }
- IF ($@ran == 4){
- SET .MvpID,"2096";
- SET .ItemID,"5490";
- SET .MobID,"1393";
- SET .MobX,"200";
- SET .maps$,"morocc";
- }
- IF ($@ran == 3){
- SET .MvpID,"2105";
- SET .ItemID,"5611";
- SET .MobID,"1364";
- SET .MobX,"200";
- SET .maps$,"alberta";
- }
- IF ($@ran == 2){
- SET .MvpID,"1418";
- SET .ItemID,"5655";
- SET .MobID,"1531";
- SET .MobX,"200";
- SET .maps$,"alberta";
- }
- IF ($@ran == 1){
- SET .MvpID,"1418";
- SET .ItemID,"5655";
- SET .MobID,"1531";
- SET .MobX,"200";
- SET .maps$,"gonryun";
- }
- sleep2 1000;
- announce "[ Rune-Midgard Guard ]: We have trouble here in the town " + .maps$ + "!", bc_all;
- sleep2 5000;
- announce "[ Rune-Midgard Guard ]: Everyone, we need your help to get rid of these "+getmonsterinfo(.MobID,0)+"!", bc_all;
- SET .mobs_left, .MobX;
- monster .maps$,0,0,getmonsterinfo(.MobID,0) +" [Event] ",.MobID,.MobX,strnpcinfo(3) + "::OnMyMobDead";
- END;
- OnTimer1805000: // 30 minutes later, kills ALL the mobs.
- killmonster .maps$,"Event Invasion#2::OnMyMobDead";
- SET .mobs_left,0;
- OnStop: // WHEN the event IS stopped BY a GM, OR ALL monsters dead.
- killmonster .maps$,strnpcinfo(3) + "::OnMyMobDead";
- killmonster .maps$,strnpcinfo(3) + "::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 ]: "+getmonsterinfo(.MvpID,0)+" has spawned in " + .maps$ + "!", bc_all;
- monster .maps$,0,0,getmonsterinfo(.MvpID,0),.MvpID,1,"Event Invasion#2::OnSpecialMobDead";
- } ELSE {
- SET #Event_point, #Event_point + 1;
- SET #T_Event_point, #T_Event_point + 1;
- announce "["+.mobs_left+"/"+.MobX+"] Monster left.",bc_map;
- }
- END;
- OnSpecialMobDead:
- SET #Event_point, #Event_point + 10;
- SET #T_Event_point, #T_Event_point + 10;
- announce strcharinfo(0)+" has fought off the "+ getmonsterinfo(.MobID,0) +" Invasion and has been awarded a worthy prize!", bc_all;
- getitem .ItemID,1;
- donpcevent "Event Invasion#2::OnStop";
- SET .maps$,"null";
- SET .MvpID,"-";
- SET .ItemID,"-";
- SET .MobID,"-";
- SET .MobX,"0";
- }
- END;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement