Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Emperium Ladder
- // By: Max Ng
- // add callfunc "AddEmpKill"; after map announce on agit breaks for this to work
- // WOE SE agit scripts and agit_template.txt
- // woe agits scripts add before sleep command
- prontera,158,205,5 script WoE & Ranks Ladder 743,{
- set .@alchJobs$, "18,4019,4041,4078";
- set .@taekJobs$, "4046";
- L_Start:
- //ECO
- setarray .@maps$[0], "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
- "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
- "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
- "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
- "nguild_alde","nguild_gef","nguild_pay","nguild_prt",
- "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05",
- "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05";
- //<<<< ECO
- cleararray @char_id[0],0,getarraysize(@char_id);
- cleararray @guild_id[0],0,getarraysize(@guild_id);
- cleararray @kills[0],0,getarraysize(@kills);
- cleararray @g_kills[0],0,getarraysize(@g_kills);
- cleararray @char_name$[0],0,getarraysize(@char_name$);
- deletearray @name$[0],getarraysize(@name$);
- deletearray @fame[0],getarraysize(@fame);
- mes "[Ladder NPC]";
- mes "Hello there, what do you to check?";
- if (getgmlevel() >= 99) {
- menu "Agit Standings",L_TopAgits,"Top Emperium Breakers",L_ByPeople,"Top Emperium Breaking Guilds",L_ByGuilds,"Top 30 Alchemist Ranks",L_TopAlch,"Top 30 Taekwon Ranks",L_TopTaek,"Reset Ladder",L_Reset;
- } else {
- menu "Agit Standings",L_TopAgits,"Top Emperium Breakers",L_ByPeople,"Top Emperium Breaking Guilds",L_ByGuilds,"Top 30 Alchemist Ranks",L_TopAlch,"Top 30 Taekwon Ranks",L_TopTaek;
- }
- L_TopAgits:
- next;
- mes "[Ladder NPC]";
- mes "Herewith is the list of the Top 6 Agits arranged according to ^0000FFCastle Economy^000000 as reference for the upcoming G.O.M.";
- mes "Please click on each item to view the information.";
- //ECO
- setarray .@maps$[0], "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
- "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
- "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
- "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
- "nguild_alde","nguild_gef","nguild_pay","nguild_prt",
- "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05",
- "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05";
- // castle_id, master, economy, defense
- //query_sql "SELECT guild_castle.castle_id, guild.`name`, guild_castle.economy, guild_castle.defense FROM guild_castle inner JOIN guild ON guild_castle.guild_id=guild.guild_id ORDER BY guild_castle.economy desc, guild_castle.priority asc LIMIT 8", .@castle_id,.@name$,.@economy,.@defense;
- //new query nov 23, 2010 to not include novice castles in list
- //query_sql "SELECT guild_castle.castle_id, guild.`name`, guild_castle.economy, guild_castle.defense FROM guild_castle inner JOIN guild ON guild_castle.guild_id=guild.guild_id WHERE guild_castle.castle_id NOT BETWEEN 20 AND 23 ORDER BY guild_castle.economy desc, guild_castle.priority asc LIMIT 8", .@castle_id,.@name$,.@economy,.@defense;
- // new query as of Jan 2013 with 6 castles open
- query_sql "SELECT guild_castle.castle_id, guild.`name`, guild_castle.economy, guild_castle.defense FROM guild_castle inner JOIN guild ON guild_castle.guild_id=guild.guild_id WHERE guild_castle.castle_id NOT BETWEEN 20 AND 23 ORDER BY guild_castle.economy desc, guild_castle.priority asc LIMIT 6", .@castle_id,.@name$,.@economy,.@defense;
- // generate menu
- for( set .@i,0; .@i<getarraysize(.@castle_id); set .@i,.@i+1 )
- set .@menu$, .@menu$ + getcastlename(.@maps$[.@castle_id[.@i]])+" > "+.@name$[.@i]+" > "+.@economy[.@i]+" > "+.@defense[.@i] +":";
- // pick a castle
- set .@castle$, .@maps$[.@castle_id[select(.@menu$) -1]];
- switch(select( getgmlevel()>=99 ? "View info:Change economy:Change defense":"View info" )) {
- case 1:
- next;
- // use 'getcastledata' for the most updated info
- mes "Castle Name: ^0000FF"+getcastlename(.@castle$)+" ("+.@castle$+")^000000";
- mes "Guild Name: ^0000FF"+getguildname(getcastledata(.@castle$,1))+"^000000";
- mes "Guild Master: ^0000FF"+getguildmaster(getcastledata(.@castle$,1))+"^000000";
- mes "Economy: ^0000FF"+getcastledata(.@castle$,2)+"^000000";
- mes "Defense: ^0000FF"+getcastledata(.@castle$,3)+"^000000";
- break;
- case 2:
- next;
- mes "[^0000FF"+getcastlename(.@castle$)+" ("+.@castle$+")^000000]";
- mes "Economy: ^0000FF"+getcastledata(.@castle$,2)+"^000000";
- mes "Enter new Economy:";
- input .@eco;
- if( .@eco<0 || .@eco>100) {
- mes "^FF0000Economy can be between 0-100";
- close;
- }
- setcastledata .@castle$,2, .@eco;
- mes "Economy: ^0000FF"+getcastledata(.@castle$,2)+"^000000";
- break;
- case 3:
- next;
- mes "[^0000FF"+getcastlename(.@castle$)+" ("+.@castle$+")^000000]";
- mes "Defense: ^0000FF"+getcastledata(.@castle$,3)+"^000000";
- mes "Enter new Defense:";
- input .@def;
- if( .@def<0 || .@def>100) {
- mes "^FF0000Defense can be between 0-100";
- close;
- }
- setcastledata .@castle$,3, .@def;
- mes "Defense: ^0000FF"+getcastledata(.@castle$,3)+"^000000";
- break;
- }
- close;
- L_ByPeople:
- next;
- query_sql("SELECT `char_id`,`kills` FROM `ek_accounts` ORDER BY `kills` DESC LIMIT 10",@char_id,@kills);
- mes "[Ladder NPC]";
- mes "The Top 10 Breakers are:";
- for (set @i,0; @i < getarraysize(@char_id); set @i,@i + 1) {
- query_sql("SELECT `name`,`class` FROM `char` WHERE `char_id` = '" + @char_id[@i] + "' LIMIT 1",@char_name$,@class_id);
- mes @i + 1 + ". " + @char_name$[0] + " - ^00FF00 " + jobname(@class_id[0]) + " ^000000 - [^FF0000 " + @kills[@i] + " ^000000]";
- }
- close;
- L_ByGuilds:
- next;
- query_sql("SELECT `guild_id`,`kills` FROM `ek_guilds` ORDER BY `kills` DESC LIMIT 10",@guild_id,@g_kills);
- mes "[Ladder NPC]";
- mes "The Top 10 Breaker Guilds are:";
- for (set @i,0; @i < getarraysize(@guild_id); set @i,@i + 1) {
- query_sql("SELECT `name` FROM `guild` WHERE `guild_id` = '" + @guild_id[@i] + "' LIMIT 1",@guild_name$);
- mes @i + 1 + ". " + @guild_name$[0] + " ^000000 - [ ^FF0000 " + @g_kills[@i] + " ^000000 ]";
- }
- close;
- L_TopAlch:
- next;
- mes "[Ladder NPC]";
- mes "Click next to view the TOP 30 Alchemist Rankers. Use your Alchemist Class character to view individual points obtained.";
- next;
- set @menulist$, "Top 30 Alchemist Ranking";
- if ( BaseJob == Job_Alchemist )
- set @menulist$, @menulist$ + ":Your Current Points";
- switch(select(@menulist$)) {
- case 1:
- query_sql("SELECT `name`, `fame` FROM `char` WHERE `fame` != 0 AND `class` IN ("+ .@alchJobs$ +") ORDER BY `fame` DESC, `base_level` DESC, `job_level` DESC, base_exp DESC, job_exp DESC LIMIT 30", @name$, @fame);
- mes "The Top 30 Alchemists are:";
- for (set @i, 0; @i<getarraysize(@name$); set @i, @i+1) {
- mes (@i+1) + ". " + @name$[@i] + " - " + @fame[@i] + " pts.";
- }
- close;
- break;
- case 2:
- mes "[Ladder NPC]";
- query_sql("SELECT `fame` FROM `char` WHERE `char_id` = " + getcharid(0) + " LIMIT 1", @fame);
- mes "You have " + @fame + " points.";
- close;
- break;
- }
- close;
- L_TopTaek:
- next;
- mes "[Ladder NPC]";
- mes "Click next to view the TOP 30 Taekwon Rankers. Use your Taekwon character to view individual points obtained.";
- next;
- set @menulist$, "Top 30 Taekwon Ranking";
- if ( BaseJob == Job_Taekwon )
- set @menulist$, @menulist$ + ":Your Current Points";
- switch(select(@menulist$)) {
- case 1:
- query_sql("SELECT `name`, `fame` FROM `char` WHERE `fame` != 0 AND `class` IN ("+ .@taekJobs$ +") ORDER BY `fame` DESC, `base_level` DESC, `job_level` DESC, base_exp DESC, job_exp DESC LIMIT 30", @name$, @fame);
- mes "The Top 30 Taekwons are:";
- for (set @i, 0; @i<getarraysize(@name$); set @i, @i+1) {
- mes (@i+1) + ". " + @name$[@i] + " - " + @fame[@i] + " pts.";
- }
- close;
- break;
- case 2:
- mes "[Ladder NPC]";
- query_sql("SELECT `fame` FROM `char` WHERE `char_id` = " + getcharid(0) + " LIMIT 1", @fame);
- mes "You have " + @fame + " points.";
- close;
- break;
- }
- close;
- L_Reset:
- next;
- mes "[Ladder NPC]";
- mes "Are you sure you want to reset the ladder?";
- switch (select("Yes:No")) {
- case 1:
- query_sql "TRUNCATE TABLE `ek_accounts`";
- query_sql "TRUNCATE TABLE `ek_guilds`";
- logmes "EMPERIUM LADDER HAS BEEN RESETTTTTTTTTTTTTTTTTTTTTTTT";
- mes "Done!";
- close;
- case 2:
- mes "Alright.";
- close;
- }
- close;
- // said to remove by dzerox since error on onnpckillevent
- //OnNPCKillEvent:
- // if (killedrid == 1288) {
- // callfunc "AddEmpKill";
- // getmapxy(@map$,@x,@y,0);
- // mapannounce @map$,"[ " + strcharinfo(0) + " ] destroyed the Emperium.",bc_all;
- // }
- // end;
- //removed since there is already sql table. uncomment if new install
- //OnInit:
- // // DO NOT EDIT
- // query_sql("CREATE TABLE IF NOT EXISTS `ek_accounts` (`account_id` INT(11) NOT NULL DEFAULT '0',`char_id` INT(11) NOT NULL DEFAULT '0',`kills` INT(20) NOT NULL DEFAULT '0') TYPE = MyISAM");
- // query_sql("CREATE TABLE IF NOT EXISTS `ek_guilds` (`guild_id` INT(11) NOT NULL DEFAULT '0',`kills` INT(20) NOT NULL DEFAULT '0') TYPE = MyISAM");
- // end;
- }
- function script AddEmpKill {
- if( getmapflag( strcharinfo(3),mf_gvg_castle ) )
- set .@castle_economy,getcastledata( strcharinfo(3),2 );
- if (query_sql("SELECT `kills` FROM `ek_accounts` WHERE `char_id` = '" + getcharid(0) + "' LIMIT 1",@kills) <= 0) {
- query_sql("INSERT INTO `ek_accounts` VALUES ('" + getcharid(3) + "','" + getcharid(0) + "','"+.@castle_economy+"')");
- } else {
- set @kills[0],@kills[0] + .@castle_economy;
- query_sql("UPDATE `ek_accounts` SET `kills` = '" + @kills[0] + "' WHERE `char_id` = '" + getcharid(0) + "' LIMIT 1");
- }
- if (getcharid(2) != 0) {
- if (query_sql("SELECT `kills` FROM `ek_guilds` WHERE `guild_id` = '" + getcharid(2) + "' LIMIT 1",@g_kills) <= 0) {
- query_sql("INSERT INTO `ek_guilds` VALUES ('" + getcharid(2) + "','"+.@castle_economy+"')");
- } else {
- set @g_kills[0],@g_kills[0] + .@castle_economy;
- query_sql("UPDATE `ek_guilds` SET `kills` = '" + @g_kills[0] + "' WHERE `guild_id` = '" + getcharid(2) + "' LIMIT 1");
- }
- }
- return;
- }
- // my additions
- turbo_room,76,100,6 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#2 743
- payon,119,230,4 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#3 743
- prontera,146,76,5 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#4 743
- izlude,136,135,6 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#5 743
- alberta,137,73,3 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#6 743
- alberta,39,253,5 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#7 743
- amatsu,97,140,5 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#8 743
- morocc,151,258,5 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#9 743
- morocc,136,106,3 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#10 743
- yuno,176,187,3 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#11 743
- gonryun,147,142,5 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#12 743
- hugel,106,139,3 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#13 743
- geffen,114,54,8 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#14 743
- geffen,168,124,5 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#15 743
- prontera,170,305,3 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#16 743
- prontera,38,226,5 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#17 743
- prontera,278,223,3 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#18 743
- aldebaran,114,124,5 duplicate(WoE & Ranks Ladder) WoE & Ranks Ladder#19 743
Advertisement
Add Comment
Please, Sign In to add comment