Jump to content

erjsanmiguel

Members
  • Content Count

    76
  • Avg. Content Per Day

    1
  • Joined

Community Reputation

2 Neutral

About erjsanmiguel

  • Rank
    Santa Poring
  • Birthday October 5

Profile Information

  • Gender
    Male
  • Location
    Philippines
  • Server
    Aureus Ragnarok Sea
  • Interests
    Music, Graphic Design, Food

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi @Stolao Im having an issue on my Disguise event .. I set it on 5 rounds but right after I hit the correct name of mob it warps out all players on map and says that the event has done ..also If i toggle the 0 on disguise monster option the disguise npc doesnt change to normal monster -_-
  2. Thankyou sir @sader1992 I tried repatching it and will monitor if this happen again ..
  3. Hi guys ! does anyone of you know what is this ?? it appears on my screen twice this day -_-
  4. Good day I would like to request for this kind of script wherein there is a ladder for the following : 1. Top 10 Killers 2. Top 10 Breaker 3. Top Guilds at the end of the month the top 10 killers and Breaker will recieve rewards thru Rodex Mail and top guilds will recieve rewards also (Each members) Is it possible ? please help
  5. Hi guys I need help with this script ...please somebody ... The mail is not working i think theres something wrong on my db ,,,its not storing variables like m_kda etc //===== EinherjarRo Scripts ================================== //= PvP Ladder //===== Author =============================================== //= Stolao //===== Current Version: ===================================== //= 3.21 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= // Configurable Pvp Ladder //===== Comments: ============================================ //= [Stolao] //===== Additional Comments: ================================= //= 3.00 Overhaul //= 3.01 Fixed missing "No" for "No Ygg" //= 3.02 Added Show Map Name Option //= 3.03 Added Max Players Option //= 3.04 Optimized and fixed SQL queries [Secret] //= 3.05 Replaced some queries with addrid(0) //= 3.06 Updated Rewards to RODEX compatable //= 3.07 Fixed all rom referancing room [0] player limit //= 3.08 Made Made .MaxPlayers = 0, mean unlimited //= 3.09 Removed use of getd //= 3.0A Cleaned up some code //= 3.0B Moved Menu Generation to fix Map Count not showing //= 3.0C Actually Added RoDex Support now //= 3.0D Fixed Map Menu Generation //= 3.0E Fixed sql query //= 3.0F Cleaned Code a bit //= 3.10 Did more Cleaned Code a bit //= 3.11 Fixed a logic bug in GM reset //= 3.12 Added Waiting Room //= 3.13 Added Dynamic Waiting Room //= 3.14 Moved and added more At_Commands //= 3.15 Dynamic Waiting Room (&4096) require Waiting Room (&2048) to work //= 3.16 Increased Waiting Room Rotation Time //= 3.17 Fixed Typos in Reset PVP Stats //= 3.18 Removed unnessisary next, creating hang screens //= 3.19 Made compatable with new mail command //= 3.1A Reformatted Rewards in conf to support 5 items //= 3.1B Fixeda Hang when entering Nightmare PVP (thanks klesler) //= 3.1C Cied incorrrect use of close //= 3.1D Fixed Missing Party Check (thanks Haikenz) //= 3.1E Fixed Not opening PVP ladder, only GVG ladder (thanks Haikenz) //= 3.1F Fixed a warning when generating waitingroom //= 3.20 Fixed Missing Guild Check (thanks Haikenz) //= 3.21 Changed Default maps to pvp maps //===== Todo: ================================================ //= Condence repeat queries //===== Contact Ifo: ========================================= //= [Stolao] // Email: [email protected] //============================================================ prontera,156,285,2 script Ladder 837,{ //================================== OnPvpLadder: //-- Menus //================================== [email protected] = select(((getarraysize(.MapName$))?"Enter PvP Map:":":")+ ((.Options&1)?"Pvp Ladder:":":")+ ((.Options&2)?"GvG Ladder:":":")+ ((.Options&8)?"Top Guild:":":")+ ((.Options&16)?"PvP Shops:":":")+ ((.Options&1 || .Options&2 || .Options&8 || .Options&16)?"Personal Stats:":":")+ ((getgmlevel() >= 99)?"Reset PVP Stats":"")); switch([email protected]){ case 2: case 3: if([email protected] == 2){ if(.Options&384) [email protected]$ = "m_kda"; else if(.Options&256) [email protected]$ = "kda"; else if(.Options&128) [email protected]$ = "m_pkcount"; else [email protected]$ = "pl_pkcount"; } else { if(.Options&384) [email protected]$ = "gvg_kda"; else if(.Options&256) [email protected]$ = "m_gvg_kda"; else if(.Options&128) [email protected]$ = "m_gvg_kcount"; else [email protected]$ = "gvg_kcount"; } query_sql("SELECT `char_reg_num`.`value`,`char`.`name`,`char`.`char_id` FROM `char` INNER JOIN `char_reg_num` ON `char_reg_num`.`char_id`=`char`.`char_id` WHERE `char_reg_num`.`key`='" + [email protected]$ + "' ORDER BY `char_reg_num`.`value` DESC LIMIT 10",[email protected],[email protected]$,[email protected]); if(!(.Options&256)){ for([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++) { if([email protected] == 2){ if(.Options&128) [email protected]$ = "m_dthcount"; else [email protected]$ = "pl_dthcount"; } else if(.Options&128) [email protected]$ = "m_gvg_dcount"; else [email protected]$ = "gvg_dcount"; query_sql("SELECT CAST(`value` AS SIGNED) FROM `char_reg_num` WHERE char_id = "[email protected][[email protected]]+" AND `key` = '';",[email protected]); [email protected][[email protected]] = [email protected]; } } mes "~ ^990000"+((.Options&128)?"Monthly ":"") + (([email protected] == 2)?"PvP":"GvG") +" Ladder^000000 ~"; if (!getarraysize([email protected])){ mes "The rankings are empty."; } else { for([email protected] = 0; [email protected]<getarraysize([email protected]); [email protected]++){ if(([email protected]+1) % 10 != 0){ if(.Options&256) mes "#"+([email protected]+1)+" ^0000FF"[email protected]$[[email protected]]+"^000000 "[email protected][[email protected]]; else mes "#"+([email protected]+1)+" ^0000FF"[email protected]$[[email protected]]+"^000000 [^00EE00"+callfunc("F_InsertPlural",[email protected][[email protected]],"~ kill")+"] [^EE0000"+callfunc("F_InsertPlural",[email protected][[email protected]],"~ death")+"]"; } else next; } } close; case 4: if(.Options&256) [email protected]$ = "Guild_Kda"; else [email protected]$ = "Guild_Kills"; if(.Options&128) [email protected]$ = "$M_" + [email protected]$; else [email protected]$ = "$" + [email protected]$; query_sql("SELECT `index`, CAST(`value` AS SIGNED) FROM `global_acc_reg_num` WHERE `key` = '" + [email protected]$ + "' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 10",[email protected],[email protected]); if (!getarraysize([email protected])){ mes "The rankings are empty."; } else { for([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++){ //query_sql("SELECT `value` FROM `global_acc_reg_num` WHERE `index` = "[email protected][[email protected]]+";",[email protected]$); // ??? [Secret] mes "#"+([email protected]+1)+" ^0000EE["+getguildname([email protected][[email protected]])+"]^000000 with [^00EE00"+callfunc("F_InsertPlural",$Guild_Kills[[email protected][[email protected]]],"~ kill")+"] and [^EE0000"+callfunc("F_InsertPlural",$Guild_Deaths[[email protected][[email protected]]],"~ death")+"]"; } } close; case 5: callshop "PvP_Cash_Shop",1; end; case 6: if(.Options&1){ mes "[PvP]"; mes "Lifetime:","^00EE00"+ callfunc("F_InsertPlural",pl_pkcount,"kill") +"^000000 - ^EE0000"+ callfunc("F_InsertPlural",pl_dthcount,"death") + ((.Options&256)?" - ^0000EE"+ kda +" Total":"") +"^000000"; if(.Options&128) mes "Monthly:","^00EE00"+ callfunc("F_InsertPlural",m_pkcount,"kill") +"^000000 - ^EE0000"+ callfunc("F_InsertPlural",m_dthcount,"death") + ((.Options&256)?" - ^0000EE"+ m_kda +" Total":"") +"^000000"; } if(.Options&16) mes "You Have "+ #PvpPoints +" Spendable Points"; if(.Options&2){ if(.Options&1) next; mes "[GvG]"; mes "Lifetime:","^00EE00"+ callfunc("F_InsertPlural",gvg_kcount,"kill") +"^000000 - ^EE0000"+ callfunc("F_InsertPlural",gvg_dcount,"death")+((.Options&256)?" - ^0000EE"+ gvg_kda +" Total":"")+"^000000"; if(.Options&128) mes "Monthly:","^00EE00"+ callfunc("F_InsertPlural",m_gvg_kcount,"kill") +"^000000 - ^EE0000"+ callfunc("F_InsertPlural",m_gvg_dcount,"death") + ((.Options&256)?" - ^0000EE"+ m_gvg_kda +" Total":"") +"^000000"; } if(.Options&8 && getcharid(2)){ if(.Options&2 || .Options&3) next; mes "[Guild Stats]"; mes "Lifetime:","^00EE00"+ callfunc("F_InsertPlural",$Guild_Kills[getcharid(2)],"kill") +"^000000 - ^EE0000"+ callfunc("F_InsertPlural",$Guild_Deaths[getcharid(2)],"death") + ((.Options&256)?" - ^0000EE"+ $Guild_Kda[getcharid(2)] +" Total":"")+ "^000000"; if(.Options&128) mes "Monthly:","^00EE00"+ callfunc("F_InsertPlural",$M_Guild_Kills[getcharid(2)],"kill") +"^000000 - ^EE0000"+ callfunc("F_InsertPlural",$M_Guild_Deaths[getcharid(2)],"death") + ((.Options&256)?" - ^0000EE"+ $M_Guild_Kda[getcharid(2)] +" Total":"") +"^000000"; } close; case 7: [email protected] = select("Monthly:Lifetime") - 1; [email protected]$[0] = (.Options&1)?"Pvp Ladder":""; [email protected]$[1] = (.Options&2)?"GvG Ladder":""; [email protected]$[2] = (.Options&8)?"Top Guild":""; [email protected] = select(implode([email protected]$,":")) - 1; mes "Are you sure you want to reset this the "+(([email protected])?"Lifetime":"Monthly")+" "[email protected]$[[email protected]]+"?"; if(select("No:Yes")!=2) close; close2; switch([email protected] * 3 + [email protected]){ case 0: query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'm_pkcount' OR `key` = 'm_kda' OR `key` = 'pl_dthcount'"); addrid(0); m_pkcount = m_kda = m_dthcount = 0; break; case 1: query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'pl_pkcount' OR `key` = 'kda' OR `key` = 'pl_dthcount'"); addrid(0); pl_pkcount = kda = pl_dthcount = 0; break; case 2: query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'm_gvg_kcount' OR `key` = 'm_gvg_kda' OR `key` = 'm_gvg_dcount'"); addrid(0); m_gvg_kcount = m_gvg_kda = m_gvg_dcount = 0; break; case 3: query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'gvg_kcount' OR `key` = 'gvg_kda' OR `key` = 'gvg_dcount'"); addrid(0); gvg_kcount = gvg_kda = gvg_dcount = 0; break; case 4: cleararray $M_Guild_Kills[0],0,getarraysize($M_Guild_Kills); cleararray $M_Guild_Kda[0],0,getarraysize($M_Guild_Kda); cleararray $M_Guild_Deaths[0],0,getarraysize($M_Guild_Deaths); break; case 5: cleararray $Guild_Kills[0],0,getarraysize($Guild_Kills); cleararray $Guild_Kda[0],0,getarraysize($Guild_Kda); cleararray $Guild_Deaths[0],0,getarraysize($Guild_Deaths); break; } end; case 1: //===== Dont Touch - Menu Generation ====================== for([email protected] = 0; [email protected] < getarraysize(.MapName$); [email protected]++){ [email protected]$[[email protected]] = "["+ ((.MapMode[[email protected]]&2)?"^EE3333Nightmare ":"") + ((.MapMode[[email protected]]&4)?"Party ":"") + ((.MapMode[[email protected]]&1)?"GvG":"PvP") +"^000000] "+ ((.MapMode[[email protected]] >= 8)?"No ":"") + ((.MapMode[[email protected]]&8)?"Ygg ":"") + ((.MapMode[[email protected]]&16)?"3rds ":"") + ((.MapMode[[email protected]]&32)?"Trans ":"") + ((.MapMode[[email protected]]&64)?.MapName$[[email protected]]:"") + ((.MaxPlayers[[email protected]])?"["+getmapusers(.MapName$[[email protected]])+"/"+.MaxPlayers[[email protected]]+"]":""); } //========================================================== [email protected] = select(implode([email protected]$,":")) - 1; if(.MapMode[[email protected]]&2){ mes "You are about to enter NIGHTMARE PvP, on death you will lose gear randomly."; if(select("Nevermind:Continue") == 1) close; } else if(.MapMode[[email protected]]&8 && (countitem(607) || countitem(608))){ mes "No "+getitemname(607)+" or "+getitemname(608)+" Allowed."; close; } else if(.MapMode[[email protected]]&16){ mes "No 3rd Classes Allowed."; close; } else if(.MapMode[[email protected]]&32){ mes "No Trans Classes Allowed."; close; } else if(.MaxPlayers[[email protected]] && getmapusers(.MapName$[[email protected]]) >= .MaxPlayers[[email protected]]){ mes "Room is Full."; close; } else if(.MapMode[[email protected]]&4 && getcharid(1) <= 0 ){ mes "You must be in a Party to join."; close; } else if(.MapMode[[email protected]]&1 && getcharid(2) <= 0 ){ mes "You must be in a Guild to join."; close; } announce "[ PvP Warper ] "+strcharinfo(0)+" has entered in "+((.MapMode[[email protected]]&1)?"GvG":"PvP")+" Room",0,((.MapMode[[email protected]]&1)?0x00CC99:0xEE0000); warp .MapName$[[email protected]],0,0; } end; //================================== OnPCKillEvent: //-- Adding Stats //================================== if(!getgmlevel() || .Options&512){ if(LastPK == killedrid) RepeatKill++; else { LastPK = killedrid; RepeatKill = 0; } if(.Options&4) announce "[PVP]: "+strcharinfo(0)+" has slain "+ rid2name(LastPK) + ((RepeatKill)?" for the "+callfunc("F_GetNumSuffix",RepeatKill)+" time in a row":"") +".",bc_all; if((RepeatKill < .RepeatCount && .Options&32) || !.Options&32){ if(.Options&1) pl_pkcount++; if(.Options&129) m_pkcount++; if(.Options&257) kda++; if(.Options&385) m_kda++; if(.Options&16) #PvpPoints++; if((getmapflag(strcharinfo(3),MF_GVG) || getmapflag(strcharinfo(3),MF_GVG_NOPARTY)) && (agitcheck() || agitcheck2()) && getcharid(2) && .Options&2){ gvg_kcount++; if(.Options&128) m_gvg_kcount++; if(.Options&256) gvg_kda++; if(.Options&384) m_gvg_kda++; if(.Options&8) $Guild_Kills[getcharid(2)]++; if(.Options&136) $M_Guild_Kills[getcharid(2)]++; if(.Options&256) $Guild_Kda[getcharid(2)]++; if(.Options&264) $M_Guild_Kda[getcharid(2)]++; } attachrid(LastPK); if(.Options&1) pl_dthcount++; if(.Options&129) m_dthcount++; if(.Options&257) kda -= 1; if(.Options&385) m_kda -= 1; if((getmapflag(strcharinfo(3),MF_GVG) || getmapflag(strcharinfo(3),MF_GVG_NOPARTY)) && (agitcheck() || agitcheck2()) && getcharid(2) && .Options&2){ gvg_dcount++; if(.Options&128) m_gvg_dcount++; if(.Options&258) gvg_kda -= 1; if(.Options&384) m_gvg_kda -= 1; if(.Options&8) $Guild_Deaths[getcharid(2)]++; if(.Options&136) $M_Guild_Deaths[getcharid(2)]++; if(.Options&256) $Guild_Kda[getcharid(2)] -= 1; if(.Options&264) $M_Guild_Kda[getcharid(2)] -= 1; } } else if(.Options&1024) atcommand "@request [PvP Ladder]: "+strcharinfo(0)+" is showing signs of abusing the PvP Ladder Please Investigate"; if(.Options&64) warp "Save",0,0; } end; OnReward: //================================== OnHour00: //-- Monthly Rewards //================================== if(gettime(4) == 2 && .Options&128){ if(.RewardType&1 && .Options&1){ query_sql("SELECT char_id,`char`.name,CAST(`value` AS SIGNED) FROM `char_reg_num` INNER JOIN `char` ON `char`.char_id = `char_reg_num`.char_id WHERE `key` = '"+((.Options&256)?"m_kda":"m_pkcount")+"' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT "+getarraysize(.PVP_Items$)+"",[email protected],[email protected]$,[email protected]); for([email protected] = 0; [email protected]< getarraysize([email protected]); [email protected]++) mail [email protected][[email protected]], "no-reply", "PvP Ranking", "Congratulations!% You have placed #"+([email protected]+1)+" in the PvP Raning this Month % % %[ Your reward is attached. ]", .PVP_Zeny[[email protected]], getd(".Pitem"[email protected]), getd(".Pqnt"[email protected]); announce "[PVP Ranking]: Rewards have been mailed to the top "+getarraysize(.PVP_Items$)+" in PvP~!",bc_blue|bc_all; query_sql("UPDATE `mail` SET message = REPLACE(message,'%',CHAR(13)) WHERE send_name = 'no-reply'"); } sleep 10000; if(.RewardType&2 && .Options&2){ query_sql("SELECT char_id,`char`.name,CAST(`value` AS SIGNED) FROM `char_reg_num` INNER JOIN `char` ON `char`.char_id = `char_reg_num`.char_id WHERE `key` = '"+((.Options&256)?"m_gvg_kda":"m_gvg_kcount")+"' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT "+getarraysize(.GVG_Items$)+"",[email protected],[email protected]$,[email protected]); for([email protected] = 0; [email protected]<getarraysize([email protected]); [email protected]++) mail [email protected][[email protected]], "no-reply", "PvP Ranking", "Congratulations!% You have placed #"+([email protected]+1)+" in the PvP Raning this Month % % %[ Your reward is attached. ]", .GVG_Zeny[[email protected]], getd(".Gitem"[email protected]), getd(".Gqnt"[email protected]); announce "[GVG Ranking]: Rewards have been mailed to the top "+getarraysize(.GVG_Items$)+" in GvG~!",bc_blue|bc_all; query_sql("UPDATE `mail` SET message = REPLACE(message,'%',CHAR(13)) WHERE send_name = 'no-reply'"); } cleararray $M_Guild_Kills[0],0,getarraysize($M_Guild_Kills); cleararray $M_Guild_Kda[0],0,getarraysize($M_Guild_Kda); cleararray $M_Guild_Deaths[0],0,getarraysize($M_Guild_Deaths); query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'm_pkcount' OR `key` = 'm_kda' OR `key` = 'm_dthcount' OR `key` = 'm_gvg_kcount' OR `key` = 'm_gvg_kda' OR `key` = 'm_gvg_dcount'"); addrid(0); m_pkcount = 0; m_kda = 0; m_dthcount = 0; m_gvg_kcount = 0; m_gvg_kda = 0; m_gvg_dcount = 0; end; } //================================== OnInit: //-- Config //================================== // Gets NPC Name // Lets you change NPC name without breaking anything .NPC$ = strnpcinfo(0); // At_Commands bindatcmd("PvpLadder" ,.NPC$+"::OnPvpLadder",0,99); bindatcmd("Pvpladder" ,.NPC$+"::OnPvpLadder",0,99); bindatcmd("pvpLadder" ,.NPC$+"::OnPvpLadder",0,99); bindatcmd("pvpladder" ,.NPC$+"::OnPvpLadder",0,99); // Bitwise Variable // 1: Record PvP // 2: Record GvG (agit on and gvg map) // 4: Announce When Someone gets a kill // 8: Record Total Guild Stats // 16: Gain PvP Points on Kills (#PvpPoints) // 32: Repeat Kill Protection // 64: Warp to Save on abuse // 128: Monthly Stats // 256: Order by KDA instead of most kills // 512: Allow GMs to Join PvP // 1024: Request a GM on Abuse // 2048: Enable Waiting Room // 4096: Dynamic Waiting Room .Options = 1|2|4|8|16|32|128|256|1024|2048|4096|512; // Monthly Reward Types // 1: Pvp // 2: Gvg .RewardType = 1|2; // PVP Rewards // Rewards are Mailed to winners // Zeny Rewards setarray .PVP_Zeny, 1000000,500000,250000,125000,62500,// 1st - 5th 31250, 15620, 7810, 3905, 1952;// 6th - 10th // Ro Dex Supports 5 Items // Old Mail DOES NOT support multiple items // "Item 1, Qnt 1, Item 2, Qnt 2, Item 3, Qnt 3, Item 4, Qnt 4, Item 5, Qnt 5" setarray .PVP_Items$, "501,10,0,0,0,0,0,0,0,0",// 1st "501,9,0,0,0,0,0,0,0,0", "501,8,0,0,0,0,0,0,0,0", "501,7,0,0,0,0,0,0,0,0", "501,6,0,0,0,0,0,0,0,0", "501,5,0,0,0,0,0,0,0,0", "501,4,0,0,0,0,0,0,0,0", "501,3,0,0,0,0,0,0,0,0", "501,2,0,0,0,0,0,0,0,0", "501,1,0,0,0,0,0,0,0,0";// 10th // GVG Rewards // Rewards are Mailed to winners // Zeny Rewards setarray .GVG_Zeny, 1000000,500000,250000,125000,62500,// 1st - 5th 31250, 15620, 7810, 3905, 1952;// 6th - 10th // Ro Dex Supports 5 Items // Old Mail DOES NOT support multiple items // "Item 1, Qnt 1, Item 2, Qnt 2, Item 3, Qnt 3, Item 4, Qnt 4, Item 5, Qnt 5" setarray .GVG_Items$, "501,10,0,0,0,0,0,0,0,0",// 1st "501,9,0,0,0,0,0,0,0,0", "501,8,0,0,0,0,0,0,0,0", "501,7,0,0,0,0,0,0,0,0", "501,6,0,0,0,0,0,0,0,0", "501,5,0,0,0,0,0,0,0,0", "501,4,0,0,0,0,0,0,0,0", "501,3,0,0,0,0,0,0,0,0", "501,2,0,0,0,0,0,0,0,0", "501,1,0,0,0,0,0,0,0,0";// 10th bindatcmd("pvpreset" ,strnpcinfo(0)+"::OnReward",99,99); // Number of kills on same person before it detects abuse .RepeatCount = 5; // Players Shown in PvP Ladder .MaxRank = 10; // Map Names setarray .MapName$,"pvp_n_1-2","pvp_n_1-1","pvp_n_1-4","pvp_n_1-3","pvp_n_1-5"; // Pvp Mode // Modes are Addative // 0 = Normal Pvp // 1 = Gvg // 2 = Nightmare // 4 = Party // 8 = No Ygg // 16 = No 3rds // 32 = No Trans // 64 = Show Map Name setarray .MapMode,0,1,2,4,56; // Max Players Per Map // 0 = No Limit setarray .MaxPlayers,0,50,10,36,50; // Mapflags for all PvP maps // regardless of Mode setarray .mapflag, mf_nowarp, mf_nowarpto, mf_nosave, mf_nomemo, mf_noteleport, mf_nopenalty, mf_noreturn, mf_nobranch, mf_nomobloot, mf_nomvploot, MF_NOZENYPENALTY, MF_NOTRADE, MF_NOCOMMAND, mf_nodrop; //===== Dont Touch - Mapflag & Waiting Room Generation ===== if(getwaitingroomstate(1) == -1) delwaitingroom; if(.Options&2048 && !.Options&4096) waitingroom "PvP Ladder",0; for([email protected] = 0; [email protected] < getarraysize(.MapName$); [email protected]++){ for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) setmapflag .MapName$[[email protected]], .mapflag[[email protected]]; if(.MapMode[[email protected]]&4) setmapflag .MapName$[[email protected]], mf_partylock; if(.MapMode[[email protected]]&2) setmapflag .MapName$[[email protected]], MF_NIGHTMAREDROP; if(.MapMode[[email protected]]&1){ setmapflag .MapName$[[email protected]], MF_GUILDLOCK; setmapflag .MapName$[[email protected]], MF_GVG; } else{ setmapflag .MapName$[[email protected]], MF_PVP_NOGUILD; setmapflag .MapName$[[email protected]], MF_PVP; } if(!.MapMode[[email protected]]&4){ if(.MapMode[[email protected]]&1) setmapflag .MapName$[[email protected]], MF_GVG_NOPARTY; else setmapflag .MapName$[[email protected]], MF_NOPARTY; } } freeloop(1); for([email protected] = 0; [email protected] < getarraysize(.PVP_Items$); [email protected]++){ explode([email protected]$,.PVP_Items$[[email protected]],","); for([email protected] = 0; [email protected] < getarraysize([email protected]$) && [email protected] < 10; [email protected]++) [email protected][[email protected]] = atoi([email protected]$[[email protected]]); for([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected] += 2){ setd ".Pitem"[email protected]+"["+getarraysize(getd(".Pitem"[email protected]))+"]",[email protected][[email protected]]; setd ".Pqnt"[email protected]+"["+getarraysize(getd(".Pqnt"[email protected]))+"]",[email protected][[email protected]+1]; } } for([email protected] = 0; [email protected] < getarraysize(.GVG_Items$); [email protected]++){ explode([email protected]$,.GVG_Items$[[email protected]],","); for([email protected] = 0; [email protected] < getarraysize([email protected]$) && [email protected] < 10; [email protected]++) [email protected][[email protected]] = atoi([email protected]$[[email protected]]); for([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected] += 2){ setd ".Gitem"[email protected]+"["+getarraysize(getd(".Gitem"[email protected]))+"]",[email protected][[email protected]]; setd ".Gqnt"[email protected]+"["+getarraysize(getd(".Gqnt"[email protected]))+"]",[email protected][[email protected]+1]; } } while(.Options&6144) { for([email protected] = 0; [email protected] < getarraysize(.MapName$); [email protected]++){ [email protected]$[[email protected]] = "["+ ((.MapMode[[email protected]]&2)?"Nightmare ":"") + ((.MapMode[[email protected]]&4)?"Party ":"") + ((.MapMode[[email protected]]&1)?"GvG":"PvP") +"] "+ ((.MapMode[[email protected]] >= 8)?"No ":"") + ((.MapMode[[email protected]]&8)?"Ygg ":"") + ((.MapMode[[email protected]]&16)?"3rds ":"") + ((.MapMode[[email protected]]&32)?"Trans ":"") + ((.MapMode[[email protected]]&64)?.MapName$[[email protected]]:"") + ((.MaxPlayers[[email protected]])?"["+getmapusers(.MapName$[[email protected]])+"/"+.MaxPlayers[[email protected]]+"]":""); delwaitingroom; waitingroom [email protected]$[[email protected]],0; sleep 3000; } } //========================================================== } //================================== //-- Call Shop //================================== - pointshop PvP_Cash_Shop -1,#PvpPoints,501:1,502:2
  6. Hi guys ! is this still working on rodex on 2018 clients ? I tried it but didnt get any rewards ... Thankyou
  7. Hi can you help me show the remaining quest time ??? I think its not showing remaining hours ...Time2str function is not working on line 96 .. //===== rAthena Script ======================================= //= tr0n's Questboard //===== By: ================================================== //= tr0n //===== Current Version: ===================================== //= 1.6.5 //===== Description: ========================================= //= Easily add collection and hunting quests. //===== Changelogs: ========================================== // 1.0.0 Release // 1.1.0 Added zeny reward // 1.2.0 Rewrote checkmob and killcounter // 1.3.1 Added level restriction // 1.3.4 Added Reward Item Amount // 1.4.4 Added Quest delay // 1.5.4 Added repeatable Quests // 1.6.4 Added party support // 1.6.5 Bug fixes for party support //============================================================ prontera,129,215,5 script Questboard 4_BOARD3,{ if(c_run==true){ mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + currentquest$ + "_collectionname$")+"^000000"; mes "--------------------------------"; set [email protected], getarraysize(getd("."+ currentquest$ + "_collectionitem")); for( set [email protected], 0; [email protected] < [email protected]; set [email protected],[email protected]+2){ mes "^FF0000"+getitemname(getd("."+currentquest$+"_collectionitem["[email protected]+"]"))+" - "+countitem(getd("."+currentquest$+"_collectionitem["[email protected]+"]"))+"/"+getd("."+currentquest$+"_collectionitem["+([email protected]+1)+"]")+" ea.^000000"; } mes "--------------------------------"; mes "[Reward]"; mes "Item: ^0000FF"+((getd("." +currentquest$+"_collectionprize"))?getitemname(getd("." +currentquest$+"_collectionprize"))+" - "+getd("." +currentquest$+"_collectionamount")+" ea.^000000":"Nothing^000000"); mes "Zeny: ^0000FF"+getd("." +currentquest$+"_collectionzeny")+"^000000"; mes "Base EXP: ^0000FF"+getd("." +currentquest$+"_collectionexp["+0+"]")+"^000000"; mes "Job EXP: ^0000FF"+getd("." +currentquest$+"_collectionexp["+1+"]")+"^000000"; next; if(select("Finish:Abort") == 2){ mes "[^FF7700Questboard^000000]"; mes "Quest aborted."; set currentquest$, ""; set c_run, false; close; } goto L_checkitems; } if(h_run==true){ mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + currentquest$ + "_huntingname$")+"^000000"; mes "--------------------------------"; set [email protected], getarraysize(getd("."+ currentquest$ + "_huntingmob")); for( set [email protected], 0; [email protected] < [email protected]; set [email protected],[email protected]+2){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); mes "^FF0000"+strmobinfo(1,getd("."+currentquest$+"_huntingmob["[email protected]+"]"))+" - "+getd(currentquest$+"_"[email protected]+"_"+([email protected]+1)+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["+([email protected]+1)+"]")+" ea.^000000"; } mes "--------------------------------"; mes "[Reward]"; mes "Item: ^0000FF"+((getd("." +currentquest$+"_huntingprize"))?getitemname(getd("." +currentquest$+"_huntingprize"))+" - "+getd("." +currentquest$+"_huntingamount")+" ea.^000000":"Nothing^000000"); mes "Zeny: ^0000FF"+getd("." +currentquest$+"_huntingzeny")+"^000000"; mes "Base EXP: ^0000FF"+getd("." +currentquest$+"_huntingexp["+0+"]")+"^000000"; mes "Job EXP: ^0000FF"+getd("." +currentquest$+"_huntingexp["+1+"]")+"^000000"; next; if(select("Finish:Abort") == 2){ mes "[^FF7700Questboard^000000]"; mes "Quest aborted."; for(set [email protected], 1; [email protected] < [email protected]; set [email protected],[email protected]+2){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); setd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount", 0); } set currentquest$, ""; set h_run, false; close; } goto L_checkmobs; } mes "[^FF7700Questboard^000000]"; mes "Select category:"; next; switch(select((.collection)?"Collection Quests":"", (.hunting)?"Hunting Quests":"", "Exit")) { case 1: set [email protected]$, ""; for( set [email protected],0; [email protected] < .collectionquestcount; set [email protected],[email protected]+1){ if ([email protected]) set [email protected]$,[email protected]$+":"; set [email protected]$, [email protected]$ + "[" + getd("." +([email protected]+1)+"_collectionmin") + " - " + getd("." +([email protected]+1)+"_collectionmax") + "] " + getd("." + ([email protected]+1) + "_collectionname$"); } set [email protected],select([email protected]$); if(.quest_repeat == true){ if(gettimetick(2) < getd([email protected] + "_collection_delay")){ set [email protected]_left, getd([email protected] + "_collection_delay")-gettimetick(2); mes "[^FF7700Questboard^000000]"; mes "You have to wait ^0000FF"+Time2Str([email protected]_left)+"^000000 to do this quest again."; close; } } else{ if(getd([email protected] + "_collection_repeat") == true){ mes "[^FF7700Questboard^000000]"; mes "You already did this quest."; mes "Please choose another one."; close; } } mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + [email protected] + "_collectionname$")+"^000000"; mes "--------------------------------"; set [email protected], getarraysize(getd("."+ [email protected] + "_collectionitem")); for( set [email protected], 0; [email protected] < [email protected]; set [email protected],[email protected]+2){ mes "^FF0000"+getitemname(getd("."[email protected]+"_collectionitem["[email protected]+"]"))+" - "+getd("."[email protected]+"_collectionitem["+([email protected]+1)+"]")+" ea.^000000"; } mes "--------------------------------"; mes "[Reward]"; mes "Item: ^0000FF"+((getd("." [email protected]+"_collectionprize"))?getitemname(getd("." [email protected]+"_collectionprize"))+" - "+getd("." [email protected]+"_collectionamount")+" ea.^000000":"Nothing^000000"); mes "Zeny: ^0000FF"+getd("." [email protected]+"_collectionzeny")+"^000000"; mes "Base EXP: ^0000FF"+getd("." [email protected]+"_collectionexp["+0+"]")+"^000000"; mes "Job EXP: ^0000FF"+getd("." [email protected]+"_collectionexp["+1+"]")+"^000000"; next; if(select("Accept:Decline") == 2){ close; } if(BaseLevel >= getd("." [email protected]+"_collectionmin") && BaseLevel <= getd("." [email protected]+"_collectionmax")){ mes "[^FF7700Questboard^000000]"; mes "Quest accepted."; set c_run, true; set currentquest$, [email protected]; close; } else{ mes "[^FF7700Questboard^000000]"; mes "You don't have the required"; mes "level to do this quest."; close; } case 2: set [email protected]$, ""; for( set [email protected],0; [email protected] < .huntingquestcount; set [email protected],[email protected]+1){ if ([email protected]) set [email protected]$,[email protected]$+":"; set [email protected]$, [email protected]$ + "[" + getd("." +([email protected]+1)+"_huntingmin") + " - " + getd("." +([email protected]+1)+"_huntingmax") + "] " + getd("." + ([email protected]+1) + "_huntingname$"); } set [email protected],select([email protected]$); if(.quest_repeat == true){ if(gettimetick(2) < getd([email protected] + "_hunting_delay")){ set [email protected]_left, getd([email protected] + "_hunting_delay")-gettimetick(2); mes "[^FF7700Questboard^000000]"; mes "You have to wait ^0000FF"+Time2Str([email protected]_left)+"^000000 to do this quest again."; close; } } else{ if(getd([email protected] + "_hunting_repeat") == true){ mes "[^FF7700Questboard^000000]"; mes "You already did this quest."; mes "Please choose another one."; close; } } mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + [email protected] + "_huntingname$")+"^000000"; mes "--------------------------------"; set [email protected], getarraysize(getd("."+ [email protected] + "_huntingmob")); for( set [email protected], 0; [email protected] < [email protected]; set [email protected],[email protected]+2){ mes "^FF0000"+strmobinfo(1,getd("."[email protected]+"_huntingmob["[email protected]+"]"))+" - "+getd("."[email protected]+"_huntingmob["+([email protected]+1)+"]")+" ea.^000000"; } mes "--------------------------------"; mes "[Reward]"; mes "Item: ^0000FF"+((getd("." [email protected]+"_huntingprize"))?getitemname(getd("." [email protected]+"_huntingprize"))+" - "+getd("." [email protected]+"_huntingamount")+" ea.^000000":"Nothing^000000"); mes "Zeny: ^0000FF"+getd("." [email protected]+"_huntingzeny")+"^000000"; mes "Base EXP: ^0000FF"+getd("." [email protected]+"_huntingexp["+0+"]")+"^000000"; mes "Job EXP: ^0000FF"+getd("." [email protected]+"_huntingexp["+1+"]")+"^000000"; next; if(select("Accept:Decline") == 2){ close; } if(BaseLevel >= getd("." [email protected]+"_huntingmin") && BaseLevel <= getd("." [email protected]+"_huntingmax")){ mes "[^FF7700Questboard^000000]"; mes "Quest accepted."; set h_run, true; set currentquest$, [email protected]; close; } else{ mes "[^FF7700Questboard^000000]"; mes "You don't have the required"; mes "level to do this quest."; close; } case 3: close; } L_checkitems: set [email protected], getarraysize(getd("."+currentquest$+"_collectionitem")); for( set [email protected],0; [email protected] < [email protected]; set [email protected],[email protected]+2){ if(countitem(getd("."+currentquest$+"_collectionitem["[email protected]+"]"))>=getd("."+currentquest$+"_collectionitem["+([email protected]+1)+"]")){ set [email protected],[email protected]+2; } } if([email protected]<[email protected]){ mes "[^FF7700Questboard^000000]"; mes "You don't have everything."; close; } for( set [email protected],0; [email protected] < [email protected]; set [email protected],[email protected]+2){ delitem getd("."+currentquest$+"_collectionitem["[email protected]+"]"),getd("."+currentquest$+"_collectionitem["+([email protected]+1)+"]"); } mes "[^FF7700Questboard^000000]"; mes "Congratulation! Here is your Reward."; if(getd("." +currentquest$+"_collectionprize")!=0) getitem(getd("." +currentquest$+"_collectionprize"),getd("." +currentquest$+"_collectionamount")); set Zeny,Zeny+getd("." +currentquest$+"_collectionzeny"); getexp getd("." +currentquest$+"_collectionexp["+0+"]"),getd("." +currentquest$+"_collectionexp["+1+"]"); setd(currentquest$ + "_collection_delay"),gettimetick(2)+.quest_delay; setd(currentquest$ + "_collection_repeat"),true; set currentquest$, ""; set c_run, false; close; L_checkmobs: set [email protected], getarraysize(getd("."+currentquest$+"_huntingmob")); set [email protected], [email protected]/2; for(set [email protected], 1; [email protected] < [email protected]; set [email protected],[email protected]+2){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); if(getd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount")==getd("."+currentquest$+"_huntingmob["[email protected]+"]")){ set [email protected], [email protected]+1; if([email protected][email protected]){ goto L_checkmobs2; } continue; } goto L_checkmobs2; } L_checkmobs2: if([email protected]<[email protected]){ mes "[^FF7700Questboard^000000]"; mes "You didn't kill everything."; close; } mes "[^FF7700Questboard^000000]"; mes "Congratulation! Here is your Reward."; set [email protected], getarraysize(getd("."+currentquest$+"_huntingmob")); for(set [email protected], 1; [email protected] < [email protected]; set [email protected],[email protected]+2){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); setd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount", 0); } if(getd("." +currentquest$+"_huntingprize")!=0) getitem(getd("." +currentquest$+"_huntingprize"),getd("." +currentquest$+"_huntingamount")); set Zeny, Zeny+getd("." +currentquest$+"_huntingzeny"); getexp getd("." +currentquest$+"_huntingexp["+0+"]"),getd("." +currentquest$+"_huntingexp["+1+"]"); setd(currentquest$ + "_hunting_delay"),gettimetick(2)+.quest_delay; setd(currentquest$ + "_hunting_repeat"),true; set currentquest$, ""; set h_run, false; close; OnNPCKillEvent: if(h_run!=true) end; set [email protected], getarraysize(getd("."+currentquest$+"_huntingmob")); for(set [email protected], 1; [email protected] < [email protected]; set [email protected],[email protected]+2){ if(killedrid==getd("."+currentquest$+"_huntingmob["+([email protected])+"]")){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); if(getd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount")<getd("."+currentquest$+"_huntingmob["[email protected]+"]")){ setd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount", getd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount")+1); dispbottom getd("."+currentquest$+"_huntingname$")+": ["+strmobinfo(1,[email protected])+"] ("+ getd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["[email protected]+"]")+")"; } if(getcharid(1) != 0 && .party_support == true){ getmapxy([email protected]$,[email protected],[email protected]); set [email protected], getcharid(3); set [email protected]$, currentquest$; getpartymember getcharid(1),1; getpartymember getcharid(1),2; for(set [email protected], 0; [email protected] < [email protected]; [email protected]++){ if(isloggedin([email protected][[email protected]], [email protected][[email protected]])){ if(h_run==true && [email protected][[email protected]] != [email protected] && [email protected]$ == getvar(currentquest$, [email protected][[email protected]]) && readparam(HP, [email protected][[email protected]]) > 0){ getmapxy([email protected]$,[email protected],[email protected],BL_PC,rid2name([email protected][[email protected]])); if([email protected]$ == [email protected]$ && distance([email protected],[email protected],[email protected],[email protected]) < .party_range){ set [email protected]_amt,getvar(getd([email protected]$+"_"[email protected]+"_"[email protected]+"_killcount"), [email protected][[email protected]]); set [email protected]_goal,getd("."[email protected]$+"_huntingmob["[email protected]+"]"); if([email protected]_amt<[email protected]_goal) { setd([email protected]$+"_"[email protected]+"_"[email protected]+"_killcount", [email protected]_amt+1, [email protected][[email protected]]); dispbottom getd("."[email protected]$+"_huntingname$")+": ["+strmobinfo(1,[email protected])+"] ("+([email protected]_amt+1)+"/"[email protected]_goal+")", 0xB6FF00, [email protected][[email protected]]; } } } } } } break; } } end; OnInit: function AddCollection; function AddHunting; //Activate/Deactivate quest categories (true/1 - activated, false/0 - deactivated) set .collection, true; set .hunting, true; //Quest Delay (seconds) //24 hours = 86400 seconds set .quest_delay, 86400; //Activate/Deactivate repeatable quests (true/1 - activated, false/0 - deactivated) set .quest_repeat, true; //Activate/Deactivate party support (true/1 - activated, false/0 - deactivated) set .party_support, true; //Max range for party support (+- x & y coordinations) set .party_range, 25; //Checks if quests are loaded (prevents out of index) if(.questsloaded==true) end; set .questsloaded, true; //Add Collection Quests here (You can add as many required items as you want) //AddCollection("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Item ID>,<Item Amount>,...); AddCollection("Bloody Branch Wisdom",90,99,7720,5,20000,1000000,500000,604,150,7939,5,7203,5); //Add Hunting Quests here (You can add as many required mobs as you want) //AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...); AddHunting("Leveling Quest 30-50",30,50,7720,1,2500,250000,100000,1014,50); AddHunting("Leveling Quest 50-80",50,70,7720,1,5000,500000,300000,1189,30); AddHunting("Leveling Quest 80-90",80,90,7720,1,10000,700000,500000,1149,40); AddHunting("Leveling Quest 90-99",90,99,7720,1,20000,1000000,500000,1219,30); //AddHunting("Leveling Quest 201-254",201,254,0,0,0,900000,300000,2085,20,2086,15); end; function AddCollection{ set .collectionquestcount,.collectionquestcount+1; setd ("." +.collectionquestcount+"_collectionname$", getarg(0)); setd ("." +.collectionquestcount+"_collectionmin", getarg(1)); setd ("." +.collectionquestcount+"_collectionmax", getarg(2)); setd ("." +.collectionquestcount+"_collectionprize", getarg(3)); setd ("." +.collectionquestcount+"_collectionamount", getarg(4)); setd ("." +.collectionquestcount+"_collectionzeny", getarg(5)); set [email protected], 6; set [email protected], getarraysize(getd("."+ .collectionquestcount + "_collectionexp")); setd ("." +.collectionquestcount+"_collectionexp["[email protected]+"]",getarg([email protected])); setd ("." +.collectionquestcount+"_collectionexp["+([email protected]+1)+"]",getarg([email protected]+1)); set [email protected], [email protected]+2; set [email protected], getarraysize(getd("."+ .collectionquestcount + "_collectionitem")); while(getarg([email protected],-1)!=-1 && getarg([email protected]+1,-1)!=-1){ setd ("."+.collectionquestcount+"_collectionitem["[email protected]+"]",getarg([email protected])); setd ("."+.collectionquestcount+"_collectionitem["+([email protected]+1)+"]",getarg([email protected]+1)); set [email protected],[email protected]+2; set [email protected], [email protected]+2; } return; } function AddHunting{ set .huntingquestcount,.huntingquestcount+1; setd ("." +.huntingquestcount+"_huntingname$", getarg(0)); setd ("." +.huntingquestcount+"_huntingmin", getarg(1)); setd ("." +.huntingquestcount+"_huntingmax", getarg(2)); setd ("." +.huntingquestcount+"_huntingprize", getarg(3)); setd ("." +.huntingquestcount+"_huntingamount", getarg(4)); setd ("." +.huntingquestcount+"_huntingzeny", getarg(5)); set [email protected], getarraysize(getd("."+ .huntingquestcount + "_huntingexp")); set [email protected], 6; setd ("." +.huntingquestcount+"_huntingexp["[email protected]+"]",getarg([email protected])); setd ("." +.huntingquestcount+"_huntingexp["+([email protected]+1)+"]",getarg([email protected]+1)); set [email protected], [email protected]+2; set [email protected], getarraysize(getd("."+ .huntingquestcount + "_huntingmob")); while(getarg([email protected],-1)!=-1 && getarg([email protected]+1,-1)!=-1){ setd ("."+.huntingquestcount+"_huntingmob["[email protected]+"]",getarg([email protected])); setd ("."+.huntingquestcount+"_huntingmob["+([email protected]+1)+"]",getarg([email protected]+1)); set [email protected], [email protected]+2; set [email protected], [email protected]+2; } return; } }
  8. Hi ! does anyone know how to fix lucky roulette bug ??? I can reach gold tier by using only 1 bronze coin by not collecting the rewards -_- help
  9. How can I add an anti spam on disguise event ?? after 2 consecutive try the player will set to mute until the round ends ? thanks //===== rAthena Script ======================================= //= Disguise Event //===== By: ================================================== //= GmOcean //===== Current Version: ===================================== //= 5.1 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Guess a monster name correctly for prizes. //= //= NOTE: Requires PCRE library installed. //===== Additional Comments: ================================= //= 5.0 Last update by GmOcean. //= 5.1 Cleaned and standardized, mostly. [Euphy] //============================================================ prontera,160,155,4 script Disguise Event 795,{ // Currently set to run every two hours. // To change times, edit the OnClock labels below. set [email protected],60; // GM level required to access NPC. set [email protected]$,"[^0000FFDisguise NPC^000000]"; if (getgmlevel()>[email protected]) { mes [email protected]$; mes "Select an option."; next; switch(select("Turn ON/OFF Event:Event Settings")) { case 1: mes [email protected]$; 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 Prontera.",bc_all | bc_blue; close; case 2: mes [email protected]$; mes "Pick a setting to modify."; next; switch(select("Monster Display:Number of Rounds:Prize Settings")) { case 1: setarray [email protected]$[0],"Disguise as all monsters.","Disguise as MVPs only."; mes [email protected]$; mes "Choose a disguise rule."; next; set .Rule, select(implode([email protected]$,":")); mes [email protected]$; mes "The Disguise Rule has been set:"; mes " > ^0055FF"[email protected]$[.Rule-1]+"^000000"; close; case 2: mes [email protected]$; mes "Input the number of rounds you want the event to last."; mes "Current number: [^0000FF"+.Rounds+"^000000]"; next; input [email protected]; set .Rounds,[email protected]; mes [email protected]$; mes "The number of rounds has been changed to "+.Rounds+"."; close; case 3: mes [email protected]$; mes "Input the Item ID of the prize given each round."; mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")"; next; input [email protected]; mes [email protected]$; if (getitemname([email protected])=="" || getitemname([email protected])=="null") { mes "That item does not exist. Please try again."; close; } set .Prize,[email protected]; mes "Input the amount to be given."; next; input [email protected]; mes [email protected]$; if ([email protected]<=0 || [email protected]>=10000) { mes "That amount is invalid. Using default amount of 1."; set [email protected],1; next; mes [email protected]$; } set .PrizeAmt,[email protected]; mes "The Prize has been changed successfully."; mes "Prize: "+.PrizeAmt+"x [^0000FF"+getitemname(.Prize)+"^000000]"; close; } } } if (.EventON) end; mes [email protected]$; mes "Welcome."; mes "How may I be of assistance?"; if(select("Information:Nothing, just passing through.")==2) close; next; mes [email protected]$; 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 monster'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 Prontera.",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 "Disguise Event : You took too long to guess what I was. Please wait 10 seconds while I disguise again."; specialeffect EF_DETECT2; 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 Prontera.",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 Prontera.",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 Prontera.",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 "Disguise Event : 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; }
  10. sadly it didnt work no add points in ladder
  11. I'll try this im always messing it up by using getarraysize
  12. Hi I need help adding multiple maps on this npc please //===== eAthena Script ======================================= //= eAthena PVP-Ladder //===== By: ================================================== //= Terces //===== Current Version: ===================================== //= 1.7.2 //===== Compatible With: ===================================== //= Any Athena Version that has "for" implemented //===== Credits: ============================================= //= The whole eAthena Board and the eAthena Chat //===== Notes: =============================================== //= Note 1: //= Experience gain works like this formula: //= ([email protected](<new position>-1))*[email protected] //= so if someone gets the first place he'll get //= [email protected]*[email protected] experience points. //============================================================ //= Fixxed by Dante //= V1.7.2 //= Hosted by Dant3 aka Dante // HAFE FUN! READ THE TOPIC! IT DONT WORKS MAYBE ON OLDER REV // // // LAST UPDATE: 12th,February.2008 // // Main Script - Terces (Main Thanks to Terces ) // V1.7.0 - Dant3 // v1.7.1 - AnnieRuRu // v1.7.2 - Dant3 // THIS SCRIPT WORKS ONLY ON THE NEW EATHENA REVISIONS! ENJOY! - script PVPLADDEROPTIONS -1,{ end; OnInit: // 0 = Disabled (NO) // 1 = Enable (YES) set [email protected], 0; //Enable/Disable language selection [English/German] (Default: 1) set [email protected], 1; //Enable/Disable the announcement when a char reaches a new position in the ladder (Default: 1) set [email protected], 30; //Set the length of the Ladder [!Not higher than 128!] (Default: 30) set [email protected], 10; //Set the views per page (Default: 10) set [email protected], 100; //Enable/Disable experience gain when reaching a new position in the ladder (*Note1) set [email protected], 150; //Set Experience gain value (*Note1) // Update v1.7.0 set [email protected], 0; //Enable/Disable zeny gain when reaching a new position in the ladder set [email protected], 0; //Set Zeny gain value set [email protected], 1; //Enable/Disable an Chat Room over the NPC with the message "PvP Ladder" (Users can not enter the Chat room) // Update v1.7.1 (Thanks to AnnieRuRu) // Added GM PvP Ladder Reset Function // Update v1.7.2 // Thanks to for the Feedback set [email protected], 1; //Enable/Disable that the NPC asks about the Broadcast when a Player logins / or with the Npc Chat (0 = Login Ask , 1 = Npc Chat) Related: 0 set [email protected]$,"pvp_y_1-2"; } - script PVPLADDERS -1,{ OnPCDieEvent: if (terces_PVP_resets != $terces_PVP_resets) { dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder."; end; } if( strcharinfo(3) != [email protected]$ ) end; set PVPDeaths,PVPDeaths+1; set @PVPDeathstoday,@PVPDeathstoday+1; set #PVPDeathsAccount,#PVPDeathsAccount+1; end; OnPCKillEvent: if( strcharinfo(3) != [email protected]$ ) end; if (terces_PVP_resets != $terces_PVP_resets) { dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder."; dispbottom "Because a GM just reset the ladder."; end; } if ( killedrid == getcharid(3) ) { set PVPDeaths, PVPDeaths +1; set #PVPDeathsAccount, #PVPDeathsAccount +1; set @PVPDeathstoday, @PVPDeathstoday +1; end; } set [email protected],[email protected]+1; set getd("[email protected]"[email protected]),getcharid(3); //getd to avoid errors when more than 1 people kill someone attachrid(killedrid); set PVPDeaths,PVPDeaths+1; set @PVPDeathstoday,@PVPDeathstoday+1; set #PVPDeathsAccount,#PVPDeathsAccount+1; set getd("[email protected]"[email protected]+"$"), strcharinfo(0); //again, getd to avoid possible glitches detachrid; attachrid(getd("[email protected]"[email protected])); CountKills: set PVPKills,PVPKills+1; set @PVPKillstoday,@PVPKillstoday+1; set #PVPKillsAccount,#PVPKillsAccount+1; setarray @playerstats[0],@PVPKillstoday,@PVPDeathstoday,PVPKills,PVPDeaths,#PVPKillsAccount,#PVPDeathsAccount; l_ladder: set @considerdeath,0; for (set @PosinLadder, 0; @PosinLadder < [email protected]; set @PosinLadder, @PosinLadder + 1){ if (PVPKills >= $terces_PVP_kills[@PosinLadder]){ //Player deserves to be in the ladder //Check if Death plays a role on the position if ((PVPKills == $terces_PVP_kills[@PosinLadder]) && (PVPDeaths > $terces_PVP_deaths[@PosinLadder])) set @considerdeath,1; //Consider Deaths //Check if the player only topped his own scores if ($terces_PVP_names$[@PosinLadder] == strcharinfo(0)){ set $terces_PVP_kills[@PosinLadder],PVPKills; set $terces_PVP_deaths[@PosinLadder],PVPDeaths; end; } //Moves all characters in the Ladder for (set @beginmoving, [email protected]; @beginmoving >= (@[email protected]); set @beginmoving, @beginmoving - 1){ if ($terces_PVP_names$[@beginmoving] == strcharinfo(0)){ //If the player already is in the Ladder it only has to move players between characters new position and characters old position callsub L_LadderMove,0; end; } else if (@beginmoving == (@[email protected])){ //Player is not in the Ladder and therefor it has to move all players from characters new position downwards callsub L_LadderMove,1; end; } } end; } } L_LadderMove: if (getarg(0) == 0) set @length,@beginmoving; if (getarg(0) == 1) set @length,[email protected]; for (set @movecycle, @length; @movecycle > (@[email protected]); set @movecycle, @movecycle - 1){ set $terces_PVP_names$[@movecycle],$terces_PVP_names$[(@movecycle-1)]; set $terces_PVP_kills[@movecycle],$terces_PVP_kills[(@movecycle-1)]; set $terces_PVP_deaths[@movecycle],$terces_PVP_deaths[(@movecycle-1)]; set $terces_PVP_times[@movecycle],$terces_PVP_times[(@movecycle-1)]; } //sets the character's stats in the new position set $terces_PVP_names$[(@[email protected])],strcharinfo(0); set $terces_PVP_kills[(@[email protected])],PVPKills; set $terces_PVP_deaths[(@[email protected])],PVPDeaths; set $terces_PVP_times[(@[email protected])],gettimetick(2); //Experience Gain if ([email protected] == 1){ set BaseExp,BaseExp+(([email protected]((@[email protected])-1))*[email protected]); dispbottom "You have just been rewarded with "+(([email protected]((@[email protected])-1))*[email protected])+" base experience points"; } //Zeny Gain if ([email protected] == 1){ set Zeny,Zeny+(([email protected]((@[email protected])-1))*[email protected]); dispbottom "You have just been rewarded with "+(([email protected]((@[email protected])-1))*[email protected])+" Zeny"; } //Announcement (Setting for Char) if (pvpbroadcast == 2){ announce strcharinfo(0)+" just claimed the "+((@[email protected])+1)+". Position in the Top "[email protected]+" after killing "+getd("[email protected]"[email protected]+"$")+".",16; } //Announcement (Setting for Account) if (#pvpbroadcast == 2){ announce strcharinfo(0)+" just claimed the "+((@[email protected])+1)+". Position in the Top "[email protected]+" after killing "+getd("[email protected]"[email protected]+"$")+".",16; } end; OnPCLoadMapEvent: if(strcharinfo(3)[email protected]$) end; OnPCLoginEvent: if (terces_PVP_resets != $terces_PVP_resets){ set PVPDeaths,0; set @PVPDeathstoday,0; set #PVPDeathsAccount,0; set PVPKills,0; set @PVPKillstoday,0; set #PVPKillsAccount,0; set terces_PVP_resets,$terces_PVP_resets; } if ([email protected] == 0){ if (#pvpbroadcast == 2) goto L_ignore; if (pvpbroadcast == 2) goto L_ignore; if (#pvpbroadcast == 1) goto L_ignore; if (pvpbroadcast == 1) goto L_ignore; if (pvpbroadcast == 0) mes "Hi, "+strcharinfo(0)+""; mes "Me is the PvP Top Management!"; mes "Let me ask you one Question and i will let you play!"; menu "Later please",L_close,"Okay, fine",L_fine; L_fine: next; mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?"; menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast; L_accept: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account,"Only this char",L_char; L_account: set #pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char: set pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_accept_2: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account_2,"Only this char",L_char_2; L_close: close; L_account_2: set #pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char_2: set pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_broadcast: mes "Broadcasts are this yellow messages from the GMs"; goto L_fine; } } pvp_lobby,50,82,5 script PvP Ladder 857,{ OnInit: waitingroom "Top 30 PvP Players",0; /*if ([email protected] == 1) { waitingroom "Top "[email protected]+" PvP Players",0; // Look on the configuration! }*/ set @name$,"[PvP-Ladder]"; //Colour of: Position Name Kills Deaths Time setarray @colour$[0], "^996600", "^006699", "^00AA00", "^FF0000", "^EE8800"; if ([email protected] == 1){ if (#pvpbroadcast == 2) goto access_eng; if (pvpbroadcast == 2) goto access_eng; if (#pvpbroadcast == 1) goto access_eng; if (pvpbroadcast == 1) goto access_eng; if (#pvpbroadcast == 0) if (pvpbroadcast == 0) mes "Hi, "+strcharinfo(0)+""; mes "Me is the PvP Top Management!"; mes "Let me ask you one Question and i will let you play!"; menu "Later please",L_close,"Okay, fine",L_fine; L_fine: next; mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?"; menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast; L_accept: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account,"Only this char",L_char; L_account: set #pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char: set pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_accept_2: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account_2,"Only this char",L_char_2; L_close: close; L_account_2: set #pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char_2: set pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_broadcast: mes "Broadcasts are this yellow messages from the GMs"; goto L_fine; } access_eng: mes @name$; mes "Hello "+strcharinfo(0)+"..."; mes "If you want to I can show you your PVP stats."; next; M_selection_eng: if ( getgmlevel () < 99 ) menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Cancel",M_abbrechen_eng; else menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Reset Ladder",L_reset,"Cancel",M_abbrechen_eng; M_Ladder_eng: mes "Alright...I'll show you the Top "+ [email protected] +" with "[email protected]+" entries per page."; mes "It'll be viewed like this:"; mes @colour$[0]+"Place^000000: "[email protected]$[1]+"<name>^000000 :"[email protected]$[2]+"<kills>^000000:"[email protected]$[3]+"<deaths>^000000 "[email protected]$[4]+"<time>"; next; callsub L_Ladder; goto M_selection_eng; M_seitLogin_eng: mes @name$; mes "Your stats since your login:"; mes @PVPKillstoday+"/"[email protected]+"(Kills/Deaths)"; next; goto M_selection_eng; M_dieserChar_eng: mes @name$; mes "Your stats of this Char:"; mes PVPKills+"/"+PVPDeaths+"(Kills/Deaths)"; next; goto M_selection_eng; M_vomAccount_eng: mes @name$; mes "Your stats of the whole account:"; mes #PVPKillsAccount+"/"+#PVPDeathsAccount+"(Kills/Deaths)"; next; goto M_selection_eng; M_abbrechen_eng: mes @name$; mes "OK. You can come back to me and see your stats whenever you want."; close; L_reset: if (getgmlevel() < 99) end; mes "Do you want to reset the ladder?"; if (select ("Yes","No") == 2) goto L_end; mes "Are you really really sure you want to reset it?"; menu "Yes, ffs!!",-,"No",L_end; deletearray $terces_PVP_kills,128; deletearray $terces_PVP_deaths,128; deletearray $terces_PVP_names$,128; deletearray $terces_PVP_times,128; set $terces_PVP_resets,$terces_PVP_resets +1; L_end: mes "Okay...cya"; close; L_Ladder: for (set @y,0; @y < [email protected]; set @y,@[email protected]){ for (set @x,@y; (@x < (@[email protected])) && (@x < ([email protected])); set @x,@x+1){ if ($terces_PVP_names$[@x] != ""){ mes @colour$[0]+(@x+1)+"^000000: "[email protected]$[1]+$terces_PVP_names$[@x]+"^000000 "[email protected]$[2]+$terces_PVP_kills[@x]+"^000000:"[email protected]$[3]+$terces_PVP_deaths[@x]+"^000000 ~ "[email protected]$[4]+callfunc ("Gettime",$terces_PVP_times[@x])+"^000000"; } else { mes "^DD0000"+(@x+1)+": ^006699None^000000 "; } } next; } return; } function script Gettime { if (getarg(0)==0) return; set @difftimedays,(gettimetick(2) - getarg(0)); set @difftimehours,@difftimedays%86400; set @difftimeminutes,@difftimehours%3600; set @difftimeseconds,@difftimeminutes%60; set @days,@difftimedays/86400; set @hours,@difftimehours/3600; set @minutes,@difftimeminutes/60; set @seconds,@difftimeseconds; set @result$,""; if(@days != 0) set @result$,@[email protected]+"d "; if(@hours != 0) set @result$,@[email protected]+"h "; if(@minutes != 0) set @result$,@[email protected]+"m "; if(@seconds != 0) set @result$,@[email protected]+"s"; return (@result$); } chivalry,122,118,4 duplicate(PvP Ladder) PvP Ladder#chiv 857
  13. its a paid script you must contact @Emistry for it
  14. Hi, do you have a script that will restrict level 60 and below GM on summoning certain boss id ? For example my event gm wants to summon VALKYRIE ..there is a pop up message that will say "You are not allowed to summon this kind of mob"
×
×
  • Create New...

Important Information

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