Advertisement
Guest User

Event Invasion

a guest
May 1st, 2015
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 7.99 KB | None | 0 0
  1. //================================================================================================================================
  2. //=============== Hercules Script =====\\\\\\\\\\\\\\\==\\\\\\\\\\\==\\\\\\\========\\\\\\\\\\==\\\\\\\\\\\\\\====================
  3. //= Event Invasion ====================\\          \\===\\       \\==\\   \\========\\      \\==\\          \\====================
  4. //===== Created BY: ===================\\\\\\    \\=====\\   \\\\\\==\\===\\========\\  \\  \\==\\   \\\\\\\\\====================
  5. //= Zelos*~ ==============================\\    \\======\\       \\==\\   \\========\\  \\  \\==\\          \\====================
  6. //===== CURRENT Version: ================\\    \\\\\\\==\\   \\\\\\==\\===\\\\\\\\==\\  \\  \\==\\\\\\\\    \\====================
  7. //= v1.3 ===============================\\          \\==\\       \\==\\         \\==\\      \\==\\          \\====================
  8. //=====================================\\\\\\\\\\\\\\\==\\\\\\\\\\\==\\\\\\\\\\\\\==\\\\\\\\\\==\\\\\\\\\\\\\\====================
  9. //================================================================================================================================
  10.  
  11. prontera,148,178,5  script  Event Invasion#2    105,{
  12.  
  13. SET .GM,4;//GM Level TO access the GM Menu. DEFAULT: 50
  14.  
  15. FUNCTION GO {
  16.     warp getarg(0),getarg(1,0),getarg(2,0);
  17.     getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
  18.     END;
  19. }
  20.  
  21.     // IF a player clicks the NPC, it displays:
  22.     IF (getgmlevel()<.GM){
  23.         IF (.mobs_left) == 0{
  24.         mes "[Event Invasion]";
  25.         mes "We haven't monster invasion at the moment";
  26.         mes "All the Cities in Rune Midgard are safe!";
  27.         close;
  28.         }
  29.     mes "[Event Invasion]";
  30.     mes "Help us!!! "+.mobs_left+" "+getmonsterinfo(.MobID,0)+" have invaded "+.maps$+"!";
  31.     NEXT;
  32.     mes "You want, I teleport you to "+.maps$+"?";
  33.         switch(SELECT("Yes:No")) {
  34.         CASE 1:
  35.             mes "[Event Invasion]";
  36.             mes "Teleporting ...";
  37.             IF (.maps$) == "prontera" {
  38.             GO("prontera",155,183);
  39.             }
  40.             IF (.maps$) == "alberta" {
  41.             GO("alberta",28,234);
  42.             }
  43.             IF (.maps$) == "aldebaran" {
  44.             GO("aldebaran",140,131);
  45.             }
  46.             IF (.maps$) == "amatsu" {
  47.             GO("amatsu",198,84);
  48.             }
  49.             IF (.maps$) == "ayothaya" {
  50.             GO("ayothaya",208,166);
  51.             }
  52.             IF (.maps$) == "brasilis" {
  53.             GO("brasilis",196,217);
  54.             }
  55.             IF (.maps$) == "comodo" {
  56.             GO("comodo",209,143);
  57.             }
  58.             IF (.maps$) == "dewata" {
  59.             GO("dewata",200,180);
  60.             }
  61.             IF (.maps$) == "ecl_in01" {
  62.             GO("ecl_in01",48,53);
  63.             }
  64.             IF (.maps$) == "einbech" {
  65.             GO("einbech",63,35);
  66.             }
  67.             IF (.maps$) == "einbroch" {
  68.             GO("einbroch",64,200);
  69.             }
  70.             IF (.maps$) == "dicastes01" {
  71.             GO("dicastes01",198,187);
  72.             }
  73.             IF (.maps$) == "geffen" {
  74.             GO("geffen",119,59);
  75.             }
  76.             IF (.maps$) == "gonryun" {
  77.             GO("gonryun",160,120);
  78.             }
  79.             IF (.maps$) == "hugel" {
  80.             GO("hugel",96,145);
  81.             }
  82.             IF (.maps$) == "izlude" {
  83.             GO("izlude",128,114);
  84.             }
  85.             IF (.maps$) == "jawaii" {
  86.             GO("jawaii",251,132);
  87.             }
  88.             IF (.maps$) == "lighthalzen" {
  89.             GO("lighthalzen",158,92);
  90.             }
  91.             IF (.maps$) == "louyang" {
  92.             GO("louyang",217,100);
  93.             }
  94.             IF (.maps$) == "xmas" {
  95.             GO("xmas",147,134);
  96.             }
  97.             IF (.maps$) == "malangdo" {
  98.             GO("malangdo",140,114);
  99.             }
  100.             IF (.maps$) == "malaya" {
  101.             GO("malaya",212,206);
  102.             }
  103.             IF (.maps$) == "manuk" {
  104.             GO("manuk",282,138);
  105.             }
  106.             IF (.maps$) == "mid_camp" {
  107.             GO("mid_camp",210,288);
  108.             }
  109.             IF (.maps$) == "mora" {
  110.             GO("mora",55,146);
  111.             }
  112.             IF (.maps$) == "morocc" {
  113.             GO("morocc",156,93);
  114.             }
  115.             IF (.maps$) == "moscovia" {
  116.             GO("moscovia",223,184);
  117.             }
  118.             IF (.maps$) == "nameless_n" {
  119.             GO("nameless_n",256,215);
  120.             }
  121.             IF (.maps$) == "niflheim" {
  122.             GO("niflheim",202,174);
  123.             }
  124.             IF (.maps$) == "payon" {
  125.             GO("payon",179,100);
  126.             }
  127.             IF (.maps$) == "rachel" {
  128.             GO("rachel",130,110);
  129.             }
  130.             IF (.maps$) == "splendide" {
  131.             GO("splendide",201,147);
  132.             }
  133.             IF (.maps$) == "thor_camp" {
  134.             GO("thor_camp",246,68);
  135.             }
  136.             IF (.maps$) == "umbala" {
  137.             GO("umbala",97,153);
  138.             }
  139.             IF (.maps$) == "veins" {
  140.             GO("veins",216,123);
  141.             }
  142.             IF (.maps$) == "yuno" {
  143.             GO("yuno",157,51);
  144.             }
  145.         CASE 2:
  146.             close;
  147.         }
  148.     }
  149.     // GM menu
  150.     //It allows GMs Level 50 OR more TO START AND Stop invasions.
  151.     IF (getgmlevel()>.GM) {
  152.         IF (.mobs_left) {
  153.             mes "[Event Invasion]";
  154.             mes "An invasion is in progress..";
  155.             mes "Location: " + .maps$;
  156.             mes "^FF0000" +.mobs_left+ " : ^000000" + getmonsterinfo(.MobID,0) + " left ";
  157.             mes " ";
  158.             mes "^FF0000Stop invasion?^000000";
  159.             IF(SELECT("No:Yes")==1) close;
  160.             donpcevent "Event Invasion#2::OnTimer1805000";
  161.             NEXT;
  162.             mes "[Event Invasion]";
  163.             mes "^FF0000Invasion has been stopped^000000";
  164.             announce "The Invasion has been stopped by "+strcharinfo(0),bc_all;
  165.             close;
  166.         }
  167. OnStart:
  168. sleep2 1000;
  169. SET .mobs_left, .MobX;
  170.     SET $@ran, rand(1,11);
  171.         IF ($@ran == 11){
  172.             SET .MvpID,"2068";
  173.             SET .ItemID,"18659";
  174.             SET .MobID,"2071";
  175.             SET .MobX,"200";
  176.             SET .maps$,"brasilis";
  177.             }
  178.         IF ($@ran == 10){
  179.             SET .MvpID,"2100";
  180.             SET .ItemID,"5518";
  181.             SET .MobID,"1431";
  182.             SET .MobX,"200";
  183.             SET .maps$,"prontera";
  184.             }
  185.         IF ($@ran == 9){
  186.             SET .MvpID,"2100";
  187.             SET .ItemID,"5518";
  188.             SET .MobID,"1431";
  189.             SET .MobX,"200";
  190.             SET .maps$,"prontera";
  191.             }
  192.         IF ($@ran == 8){
  193.             SET .MvpID,"2098";
  194.             SET .ItemID,"5151";
  195.             SET .MobID,"1427";
  196.             SET .MobX,"200";
  197.             SET .maps$,"geffen";
  198.             }
  199.         IF ($@ran == 7){
  200.             SET .MvpID,"2095";
  201.             SET .ItemID,"5497";
  202.             SET .MobID,"1603";
  203.             SET .MobX,"200";
  204.             SET .maps$,"payon";
  205.             }
  206.         IF ($@ran == 6){
  207.             SET .MvpID,"1252";
  208.             SET .ItemID,"5610";
  209.             SET .MobID,"1606";
  210.             SET .MobX,"200";
  211.             SET .maps$,"lutie";
  212.             }
  213.         IF ($@ran == 5){
  214.             SET .MvpID,"2094";
  215.             SET .ItemID,"5375";
  216.             SET .MobID,"1439";
  217.             SET .MobX,"200";
  218.             SET .maps$,"geffen";
  219.             }
  220.         IF ($@ran == 4){
  221.             SET .MvpID,"2096";
  222.             SET .ItemID,"5490";
  223.             SET .MobID,"1393";
  224.             SET .MobX,"200";
  225.             SET .maps$,"morocc";
  226.             }
  227.         IF ($@ran == 3){
  228.             SET .MvpID,"2105";
  229.             SET .ItemID,"5611";
  230.             SET .MobID,"1364";
  231.             SET .MobX,"200";
  232.             SET .maps$,"alberta";
  233.             }
  234.         IF ($@ran == 2){
  235.             SET .MvpID,"1418";
  236.             SET .ItemID,"5655";
  237.             SET .MobID,"1531";
  238.             SET .MobX,"200";
  239.             SET .maps$,"alberta";
  240.             }
  241.         IF ($@ran == 1){
  242.             SET .MvpID,"1418";
  243.             SET .ItemID,"5655";
  244.             SET .MobID,"1531";
  245.             SET .MobX,"200";
  246.             SET .maps$,"gonryun";
  247.             }
  248. sleep2 1000;
  249. announce "[ Rune-Midgard Guard ]: We have trouble here in the town " + .maps$ + "!", bc_all;
  250. sleep2 5000;
  251. announce "[ Rune-Midgard Guard ]: Everyone, we need your help to get rid of these "+getmonsterinfo(.MobID,0)+"!", bc_all;
  252. SET .mobs_left, .MobX;
  253. monster .maps$,0,0,getmonsterinfo(.MobID,0) +" [Event] ",.MobID,.MobX,strnpcinfo(3) + "::OnMyMobDead";
  254. END;
  255.    
  256.    
  257. OnTimer1805000: // 30 minutes later, kills ALL the mobs.
  258.     killmonster .maps$,"Event Invasion#2::OnMyMobDead";
  259.     SET .mobs_left,0;
  260.  
  261. OnStop: // WHEN the event IS stopped BY a GM, OR ALL monsters dead.
  262.     killmonster .maps$,strnpcinfo(3) + "::OnMyMobDead";
  263.     killmonster .maps$,strnpcinfo(3) + "::OnSpecialMobDead";
  264.     announce "It seems that "+strcharinfo(0)+" has ended the Invasion!",bc_all;
  265.     END;
  266.  
  267. OnMyMobDead: //WHEN a Monster IS killed
  268.     SET .mobs_left, .mobs_left-1;
  269.     IF (.mobs_left==0) {
  270.         announce "[ Rune-Midgard Guard ]: "+getmonsterinfo(.MvpID,0)+" has spawned in " + .maps$ + "!", bc_all;
  271.         monster .maps$,0,0,getmonsterinfo(.MvpID,0),.MvpID,1,"Event Invasion#2::OnSpecialMobDead";
  272.  
  273.     } ELSE {
  274.         SET #Event_point, #Event_point + 1;
  275.         SET #T_Event_point, #T_Event_point + 1;
  276.         announce "["+.mobs_left+"/"+.MobX+"] Monster left.",bc_map;
  277.     }
  278.     END;
  279.  
  280. OnSpecialMobDead:
  281.         SET #Event_point, #Event_point + 10;
  282.         SET #T_Event_point, #T_Event_point + 10;
  283.         announce strcharinfo(0)+" has fought off the "+ getmonsterinfo(.MobID,0) +" Invasion and has been awarded a worthy prize!", bc_all;
  284.         getitem .ItemID,1;
  285.         donpcevent "Event Invasion#2::OnStop";
  286.         SET .maps$,"null";
  287.         SET .MvpID,"-";
  288.         SET .ItemID,"-";
  289.         SET .MobID,"-";
  290.         SET .MobX,"0";
  291.     }
  292.     END;
  293.  
  294. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement