Jump to content

Rhaven

Members
  • Posts

    56
  • Joined

  • Last visited

Posts posted by Rhaven

  1. I'm using Rev.17110

    //===== rAthena Script =======================================
    //= Disguise Event
    //===== By: ==================================================
    //= GmOcean
    //===== Current Version: =====================================
    //= 5.1
    //===== Compatible With: =====================================
    //= rAthena SVN
    //===== Additional Comments: =================================
    //= Note: This script requires PCRE to run properly.
    //= 5.0 Last update by GmOcean.
    //= 5.1 Cleaned and standardized, mostly. [Euphy]
    //============================================================
    Atlantis,160,259,5 script Disguise [Event] 795,{
    // Currently set to run every two hours.
    // To change times, edit the OnClock labels below.
    set .@GMLevel,60; // GM level required to access NPC.
    set .@n$,"[^0000FFDisguise NPC^000000]";
    if (getgmlevel()>=.@GMLevel) {
     mes .@n$;
     mes "Select an option.";
     next;
     switch(select("Turn ON/OFF Event:Event Settings")) {
     case 1:
      mes .@n$;
      if (.EventON) {
    mes "The Event is currently: [^0000FFON^000000]";
    mes "Would you like to turn it OFF?";
      } else {
    mes "The Event is currently: [^FF0000OFF^000000]";
    mes "Would you like to turn it ON?";
      }
      if(select("Yes:No")==2) close;
      if (.EventON) {
    set .EventON,0; set .Timer,0;
    setnpctimer 0; stopnpctimer;
    announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue;
    deletepset 1;
    setnpcdisplay "Disguise Event",795;
    close;
      }
      set .EventON,1; set .Timer,1; setnpctimer 0; initnpctimer;
      set .ResetCounter,.ResetCounter+1;
      announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue;
      announce "The Event is being held in Atlantis(Mileguas).",bc_all | bc_blue;
      close;
     case 2:
      mes .@n$;
      mes "Pick a setting to modify.";
      next;
      switch(select("Monster Display:Number of Rounds:Prize Settings")) {
      case 1:
    setarray .@r$[0],"Disguise as all monsters.","Disguise as MVPs only.";
    mes .@n$;
    mes "Choose a disguise rule.";
    next;
    set .Rule, select(implode(.@r$,":"));
    mes .@n$;
    mes "The Disguise Rule has been set:";
    mes "  > ^0055FF"+.@r$[.Rule-1]+"^000000";
    close;
      case 2:
    mes .@n$;
    mes "Input the number of rounds you want the event to last.";
    mes "Current number: [^0000FF"+.Rounds+"^000000]";
    next;
    input .@Rounds;
    set .Rounds,.@Rounds;
    mes .@n$;
    mes "The number of rounds has been changed to "+.Rounds+".";
    close;
      case 3:
    mes .@n$;
    mes "Input the Item ID of the prize given each round.";
    mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")";
    next;
    input .@Prize;
    mes .@n$;
    if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") {
     mes "That item does not exist. Please try again.";
     close;
    }
    set .Prize,.@Prize;
    mes "Input the amount to be given.";
    next;
    input .@amount;
    mes .@n$;
    if (.@amount<=0 || .@amount>=10000) {
     mes "That amount is invalid. Using default ammount of 1.";
     set .@amount,1;
     next;
     mes .@n$;
    }
    set .PrizeAmt,.@amount;
    mes "The Prize has been changed successfully.";
    mes "Prize: "+.PrizeAmt+"x [^0000FF"+getitemname(.Prize)+"^000000]";
    close;
      }
     }
    }
    if (.EventON) end;
    mes .@n$;
    mes "Welcome.";
    mes "How may I be of assistance?";
    if(select("Information:Nothing, just passing through.")==2) close;
    next;
    mes .@n$;
    mes "This event is quite simple.";
    mes "At the start of the event, I will";
    mes "disguise myself as a random";
    mes "monster. You have to shout";
    mes "that monter's name out loud.";
    next;
    mes "If you are correct, you will receive";
    mes "a prize. If not, keep trying!";
    mes "That's all that there is to this event.";
    close;
    OnInit:
    set .EventON,0;
    set .Wait,0;
    set .Winner,0;
    set .ResetCounter,0;
    set .Rounds,10;
    set .Prize,512;
    set .PrizeAmt,1;
    set .Rule,1;
    setarray .MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373,
    			   1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688,
       1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131,
       2156,2165;
    set .BlackList$, "1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168," +
     "1171,1172,1173,1181,1187,1210,1217,1218,1222,1223,1224,1225,1226,1227,1228," +
     "1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001,2002,2003,2004," +
     "2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035," +
     "2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049," +
     "2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063," +
     "2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2083,2084,2085," +
     "2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099," +
     "2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113," +
     "2114,2115,2116,2117,2118,2119,2120,2121,2123,2124,2125,1496,";
    end;
    OnClock0000:
    OnClock0200:
    OnClock0400:
    OnClock0600:
    OnClock0800:
    OnClock1000:
    OnClock1200:
    OnClock1400:
    OnClock1600:
    OnClock1800:
    OnClock2000:
    OnClock2200:
    set .ResetCounter,.ResetCounter+1;
    set .EventON,1;
    set .Timer,1;
    set .Wait,1;
    announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue;
    announce "The Event is being held in Atlantis(Mileguas).",bc_all | bc_blue;
    setnpctimer 0;
    initnpctimer;
    end;
    OnTimer10000:
    if (.Timer || .Change) end;
    set .Wait,0;
    goto iDisguise;
    end;
    OnTimer30000:
    if (.Timer) end;
    set .Change,0;
    setnpcdisplay "Disguise Event",795;
    npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again.";
    specialeffect 725;
    set $MonsterName$,"";
    deletepset 1;
    stopnpctimer;
    setnpctimer 0;
    initnpctimer;
    end;
    OnTimer60000:
    if (.Timer!=1) end;
    announce "The Disguise Event will begin in 2 minutes.",bc_all | bc_blue;
    announce "The Event is being held in Atlantis(Mileguas).",bc_all | bc_blue;
    end;
    OnTimer120000:
    if (.Timer!=1) end;
    announce "The Disguise Event will begin 1 minute.",bc_all | bc_blue;
    announce "The Event is being held in Atlantis(Mileguas).",bc_all | bc_blue;
    end;
    OnTimer180000:
    if (.Timer!=1) end;
    announce "The Disguise Event has begun!",bc_all | bc_blue;
    announce "The Event is being held in Atlantis(Mileguas).",bc_all | bc_blue;
    set .Timer,0; stopnpctimer;
    setnpctimer 0; initnpctimer;
    iDisguise:
    if (.Rule==1) {
     set .Winner,0;
     set .Monster,1000+rand(1,995);
     if (compare(","+.BlackList$+"," , ","+.Monster+",")) goto iDisguise;
     if (.Monster==.LastMonster) goto iDisguise;
     set .LastMonster,.Monster;
     set $MonsterName$,getmonsterinfo(.Monster,0);
    }
    if (.Rule==2) {
     set .Winner,0;
     set .Monster,rand(49);
     set $MonsterName$,getmonsterinfo(.MVP[.Monster],0);
    }
    deletepset 1;
    defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect";
    activatepset 1;
    if (.Rule==1) setnpcdisplay "Disguise Event",.Monster;
    if (.Rule==2) setnpcdisplay "Disguise Event",.MVP[.Monster];
    set .Change,1;
    setnpctimer 0;
    end;
    iCorrect:
    if (.Winner) {
     dispbottom "Someone has already won this round.";
     end;
    }
    set .Winner,1;
    set .RoundCount,.RoundCount+1;
    deletepset 1;
    activatepset 1;
    getitem .Prize,.PrizeAmt;
    announce strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue;
    if (.RoundCount>=.Rounds) {
     setnpcdisplay "Disguise Event",795;
     set .RoundCount,0; set .Change,0; set .EventON,0;
     setnpctimer 0; stopnpctimer;
     npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.";
     end;
    }
    setnpcdisplay "Disguise Event",795;
    set .Change,0;
    setnpctimer 0;
    end;
    }
    

    bump!

    Should I put this post to bug section?

  2. A premium account npc that change the group_id for 1 month and permanent and exchange for specific item.

    example:

    Option 1 = Premium for 1 month => Group_id change to 1 and exchange for apple(512)

    Option 2 = Premium permanently => Group_id change to 1 and exchange for banana(513)

  3. I think what he means is, he wants to use the item (apple) in exchange of gmlevel 1 for 1 months.

    So instead of using #CASHPOINTS, he wants to use an item.

    if (countitem(502) < 1) {mes "You don't have enough apple to exchange";close;}
    mes "It looks like you have "+countitem(502)+" apple.";
    mes "If you click the next button, I'll take 1 of your apple.";
    next;
    delitem 502,1;
    mes "Now you only have "+countitem(502)+" apple left.";
    close;

    Yes, that's what I mean. If you have 1 apple you can trade it for 1 month premium account. If you have 2 apples you can trade it for permanent account.

    you can try mine

    http://rathena.org/b...id/#entry171740

    and for permanent, I think its better to create a new group that is separated

    so its easier to tell apart which one is time limited, and which is permanent

    group ID 1 = Super Player

    group ID 2 = Super Player+

    How does this script works AnnieRuru? I test it and its only for admin. What I meant was the player to change the specific item to change their group_id for limited time and permanently.

  4. No luck Najara. The only thing I was notice is the filename or the weird characters. Maybe if I can rename it to the right filename it will work. By the way here is the link of this file, officially got it in rathena http://rathena.org/board/files/file/2714-small-celestia/.

    Maybe you can look for it.

    One more thing. I once used your maps Najara, the Flaris and Welgaia. All was awesome, the only problem I encountered was the minimap, and when I used flywing or teleport, it leads to black area of the map.

×
×
  • Create New...