Joomla Template Membership Club

Голосуй

  • Голосовать
  • Статистика

     
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 1
    • 1
    Рейтинги
    WOlFДата: Пятница, 22.01.2010, 22:14 | Сообщение # 1
    Анубис
    Группа: Администраторы
    Сообщений: 136
    Репутация: 1
    Статус: Offline
    Code
    - script ranker -1,{

    OnInit:

    // [==================================================]
    // [ Configuration: ]
    // [--------------------------------------------------]

    set .@n$,"^33CCCC Рангер ^000000"; // NPC name.

    set $@CPgm,100; // Gm level required to avoid the Ranking.
    set $@CPgm2,99; // Gm level required to use the Control Panel whispering to NPC:CPfunc .

    set $@CPpk,10; // Level range to get points in the PK Ranking. (Range | 0 = off)

    // Auto-Purge system. Remove inactive players from the Ranking.
    // Rankings will be purged automaticaly everyday at 5 am. To change the hour, see Note 1.

    set $@CPp,1; // Auto-Purge. (boolean)
    set $@CPpt,7; // Inactivity time to be consider an inactive player: (Days | 0 = off)

    set $@CPdb,3000; // MAX_MOB_DB value in ./src/map/mob.h .

    // [--------------------------------------------------]
    // [ End of configuration. ]
    // [==================================================]

    // Configure Player based Rankings:
    // callsub OnConf,"{Name}",{1st Variable Id},"{1st Variable}","{2nd Variable}","{1st Variable Name}","{2nd Variable Name}";
    callsub OnConf0,"Рейтинг Левелов",3,"BaseLevel","JobLevel","Base","Job";
    callsub OnConf0,"ПК Рейтинг",7,"CP7","CP8","Kills","Deaths";
    callsub OnConf0,"MvP Рейтинг",11,"CP11","CP12","MVPs","Bosses";
    callsub OnConf0,"Emperium Рейтинг",16,"CP16","CP17","Emperiums","Guardian Stones";

    // Configure Guild based Rankings:
    // callsub OnConf,"{Name}",{1st Variable Id},"{1st Variable Name}","{2nd Variable Name}";
    callsub OnConf1,"WoE Рейтинг",23,"Ownages","Captures";

    // NPCs' names:
    set .@a,1;
    while(!setnpcdisplay("CP#"+.@a,.@n$+"#"+.@a)) set .@a,.@a + 1;
    set $@CPn$,"^008888"+.@n$+"^000000";
    end;

    OnConf0:
    set $@CPc,$@CPc + 1;
    set getd("$@CPc0x"+$@CPc+"$"),getarg(0);
    set getd("$@CPc1x"+$@CPc),getarg(1);
    set getd("$@CPc2x"+$@CPc+"$"),getarg(2);
    set getd("$@CPc3x"+$@CPc+"$"),getarg(3);
    set getd("$@CPc4x"+$@CPc+"$"),getarg(4);
    set getd("$@CPc5x"+$@CPc+"$"),getarg(5);
    return;

    OnConf1:
    set $@CPd,$@CPd + 1;
    set getd("$@CPd0x"+$@CPd+"$"),getarg(0);
    set getd("$@CPd1x"+$@CPd),getarg(1);
    set getd("$@CPd2x"+$@CPd+"$"),getarg(2);
    set getd("$@CPd3x"+$@CPd+"$"),getarg(3);
    return;

    OnPCLoginEvent:
    if(getgmlevel() >= $@CPgm) end;
    callsub OnRank0;
    set getd("$CP15x"+(getcharid(0) - 149999)),0; // Last Time Online.
    end;

    OnPCLogoutEvent:
    if(getgmlevel() >= $@CPgm) end;
    callsub OnRank0;
    set getd("$CP15x"+(getcharid(0) - 149999)),gettimetick(2) / (60 * 60 * 24); // Last Time Online.
    end;

    // Level Ranking:
    OnPCBaseLvUpEvent:
    OnPCJobLvUpEvent:
    if(getgmlevel() >= $@CPgm) end;
    callsub OnRank0;
    end;

    // PK Ranking:
    OnPCKillEvent:
    if(getgmlevel() >= $@CPgm) end;
    set .@a,getcharid(3);
    set .@b,killedrid;
    if(.@a == .@b) end;
    set .@c,BaseLevel;
    if(!attachrid(.@b)) end; // Killed:
    if(getgmlevel() >= $@CPgm) end;
    if($@CPpk && (.@c > (BaseLevel + $@CPpk))) end;
    set CP8,CP8 - 1;
    callsub OnRank0;
    if(!attachrid(.@a)) end; // Killer:
    set CP7,CP7 + 1;
    callsub OnRank0;
    end;

    // MVP Ranking:
    OnNPCKillEvent:
    if(getgmlevel() >= $@CPgm) end;
    set .@a,killedrid;
    if(.@a > ($@CPdb - 1000)) end;
    if(!(getmonsterinfo(.@a,21) & 0x0020)) end;
    if(getgmlevel() >= $@CPgm) end;
    if(getmonsterinfo(.@a,22) > 0) set CP11,CP11 + 1; // MVP.
    else set CP12,CP12 + 1; // Boss.
    callsub OnRank0;
    end;

    // Emperium and WoE Ranking:
    OnEmp1:
    if(getgmlevel() >= $@CPgm) end;
    set CP16,CP16 + 1; // Emperium.
    callsub OnRank0;
    set .@a,getcharid(2) - 9999;
    set getd("$CP"+24+"x"+.@a),getd("$CP"+24+"x"+.@a) + 1;
    callsub OnRank1,.@a,24;
    end;

    OnEmp2:
    if(getgmlevel() >= $@CPgm) end;
    set CP17,CP17 + 1; // Guardian Stone.
    callsub OnRank0;
    end;

    OnAgitEnd:
    sleep 1000;
    setarray .@c$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05","gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05","pay g_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05","prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05";
    while(.@a < getarraysize(.@c$)) {
    set .@b,getcastledata(.@c$[.@a],1);
    if(.@b) {
    set .@b,.@b - 9999;
    set getd("$CP23x"+.@b),getd("$CP23x"+.@b) + 1;
    callsub OnRank1,.@b,23;
    }
    set .@a,.@a + 1;
    }
    end;

    OnAgitEnd2:
    sleep 2000;
    setarray .@c$[getarraysize(.@c$)],"schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05","arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05";
    while(.@a < getarraysize(.@c$)) {
    set .@b,getcastledata(.@c$[.@a],1);
    if(.@b) {
    set .@b,.@b - 9999;
    set getd("$CP23x"+.@b),getd("$CP23x"+.@b) + 1;
    callsub OnRank1,.@b,23;
    }
    set .@a,.@a + 1;
    }
    end;

    // Struct of the Player data:
    // $CP0x# : Id (getcharid(0) - 149999).
    // $CP1x{Id}$ : Name.
    // $CP2x{Id} : Job (eaclass).
    // $CP3x{Id} : Base.
    // $CP4x{Id} : Job.
    // $CP5x{Id} : Position in the Level Ranking.
    // $CP6x# : Level Ranking.
    // $CP7x{Id} : Kill.
    // $CP8x{Id} : Death.
    // $CP9x{Id} : Position in the PK Ranking.
    // $CP10x# : PK Ranking.
    // $CP11x{Id} : MVP.
    // $CP12x{Id} : Boss.
    // $CP13x{Id} : Position in the MVP Ranking.
    // $CP14x# : MVP Ranking.
    // $CP15x{Id} : Last time online.
    // $CP16x{Id} : Emperium.
    // $CP17x{Id} : Guardian Stone.
    // $CP18x{Id} : Position in the Emperium Ranking.
    // $CP19x# : Emperium Ranking.
    // $CP20x{Id} : Guild (getcharid(2) - 9999).

    // Struct of the Guild data:
    // $CP21x# : Id (getcharid(2) - 9999).
    // $CP22x{Id} : Size.
    // $CP23x{Id} : Owned.
    // $CP24x{Id} : Denied.
    // $CP25x{Id} : Position in the WoE Ranking.
    // $CP26x# : WoE Ranking.

    // Update Player based Rankings:
    OnRank0:
    set .@a,getcharid(0) - 149999;
    if(getd("$CP1x"+.@a+"$") == "") {
    // New Player:
    set $CPn,$CPn + 1;
    set getd("$CP0x"+$CPn),.@a;
    }
    set getd("$CP1x"+.@a+"$"),strcharinfo(0);
    set getd("$CP2x"+.@a),eaclass(Class);
    set .@c,getcharid(2);
    if(.@c) set .@c,.@c - 9999;
    set .@d,getd("$CP20x"+.@a);
    if(.@c != .@d) {
    if(.@d && getd("$CP22x"+.@d)) set getd("$CP22x"+.@d),getd("$CP22x"+.@d) - 1;
    set getd("$CP20x"+.@a),.@c;
    if(.@c) {
    if(!getd("$CP22x"+.@c)) {
    // New Guild:
    set $CPg,$CPg + 1;
    set getd("$CP21x"+$CPg),.@c;
    set .@d,0;
    while(.@d < $@CPd) {
    // Add Guild to the Ranking:
    set .@d,.@d + 1;
    set .@e,getd("$@CPd1x"+.@d);
    set .@f,getd("$CPg"+.@e) + 1;
    set getd("$CPg"+.@e),.@f;
    set .@g,getd("$CP"+.@e+"x"+.@c);
    set .@h,getd("$CP"+(.@e + 1)+"x"+.@c);
    while(.@f > 1) {
    set .@i,getd("$CP"+(.@e + 3)+"x"+(.@f - 1));
    set .@j,getd("$CP"+.@e+"x"+.@i);
    set .@k,getd("$CP"+(.@e + 1)+"x"+.@i);
    if((.@g > .@j) || ((.@g == .@j) && (.@h > .@k))) {
    set getd("$CP"+(.@e + 2)+"x"+.@i),.@f;
    set getd("$CP"+(.@e + 3)+"x"+.@f),.@i;
    set .@f,.@f - 1;
    }
    else break;
    }
    set getd("$CP"+(.@e + 2)+"x"+.@c),.@f;
    set getd("$CP"+(.@e + 3)+"x"+.@f),.@c;
    }
    }
    set getd("$CP22x"+.@c),getd("$CP22x"+.@c) + 1;
    }
    }
    while(.@b < $@CPc) {
    set .@b,.@b + 1;
    set .@c,getd("$@CPc1x"+.@b);
    set .@d,getd("$CP"+(.@c + 2)+"x"+.@a);
    if(!.@d) {
    // Add Player to the Ranking:
    set .@d,getd("$CPn"+.@c) + 1;
    set getd("$CPn"+.@c),.@d;
    set getd("$CP"+(.@c + 2)+"x"+.@a),.@d;
    set getd("$CP"+(.@c + 3)+"x"+.@d),.@a;
    set .@e,getd(getd("$@CPc2x"+.@b+"$"));
    set .@f,getd(getd("$@CPc3x"+.@b+"$"));
    set getd("$CP"+.@c+"x"+.@a),.@e;
    set getd("$CP"+(.@c + 1)+"x"+.@a),.@f;
    while(.@d > 1) {
    set .@g,getd("$CP"+(.@c + 3)+"x"+(.@d - 1));
    set .@h,getd("$CP"+.@c+"x"+.@g);
    set .@i,getd("$CP"+(.@c + 1)+"x"+.@g);
    if((.@e > .@h) || ((.@e == .@h) && (.@f > .@i))) {
    set getd("$CP"+(.@c + 2)+"x"+.@g),.@d;
    set getd("$CP"+(.@c + 3)+"x"+.@d),.@g;
    set .@d,.@d - 1;
    }
    else break;
    }
    set getd("$CP"+(.@c + 2)+"x"+.@a),.@d;
    set getd("$CP"+(.@c + 3)+"x"+.@d),.@a;
    }
    else {
    set .@e,getd(getd("$@CPc2x"+.@b+"$"));
    set .@f,getd(getd("$@CPc3x"+.@b+"$"));
    if((getd("$CP"+.@c+"x"+.@a) != .@e) || (getd("$CP"+(.@c + 1)+"x"+.@a) != .@f)) {
    // Update Ranking:
    set getd("$CP"+.@c+"x"+.@a),.@e;
    set getd("$CP"+(.@c + 1)+"x"+.@a),.@f;
    // Move Position:
    while(.@d > 1) {
    set .@g,getd("$CP"+(.@c + 3)+"x"+(.@d - 1));
    set .@h,getd("$CP"+.@c+"x"+.@g);
    set .@i,getd("$CP"+(.@c + 1)+"x"+.@g);
    if((.@e > .@h) || ((.@e == .@h) && (.@f >= .@i))) {
    set getd("$CP"+(.@c + 2)+"x"+.@g),.@d;
    set getd("$CP"+(.@c + 3)+"x"+.@d),.@g;
    set .@d,.@d - 1;
    }
    else break;
    }
    while(.@d < getd("$CPn"+.@c)) {
    set .@g,getd("$CP"+(.@c + 3)+"x"+(.@d + 1));
    set .@h,getd("$CP"+.@c+"x"+.@g);
    set .@i,getd("$CP"+(.@c + 1)+"x"+.@g);
    if((.@e < .@h) || ((.@e == .@h) && (.@f < .@i))) {
    set getd("$CP"+(.@c + 2)+"x"+.@g),.@d;
    set getd("$CP"+(.@c + 3)+"x"+.@d),.@g;
    set .@d,.@d + 1;
    }
    else break;
    }
    if(.@d < getd("$CP"+(.@c + 2)+"x"+.@a)) announce "Has subido a la posiciуn ["+.@d+"] del "+getd("$@CPc0x"+.@b+"$")+".",bc_self,0xFF6622;
    set getd("$CP"+(.@c + 2)+"x"+.@a),.@d;
    set getd("$CP"+(.@c + 3)+"x"+.@d),.@a;
    }
    }
    }
    return;

    // Update Guild based Rankings:
    OnRank1:
    set .@a,getarg(0); // Guild Id (getcharid(2) - 9999).
    set .@b,getarg(1); // 1st Variable Id.
    set .@c,getd("$CP"+.@b+"x"+.@a);
    set .@d,getd("$CP"+(.@b + 1)+"x"+.@a);
    set .@e,getd("$CP"+(.@b + 2)+"x"+.@a);
    while(.@e > 1) {
    set .@f,getd("$CP"+(.@b + 3)+"x"+(.@e - 1));
    set .@g,getd("$CP"+.@b+"x"+.@f);
    set .@h,getd("$CP"+(.@b + 1)+"x"+.@f);
    if((.@d > .@g) || ((.@d == .@g) && (.@e >= .@h))) {
    set getd("$CP"+(.@b + 2)+"x"+.@f),.@e;
    set getd("$CP"+(.@b + 3)+"x"+.@e),.@f;
    set .@e,.@e - 1;
    }
    else break;
    }
    set getd("$CP"+(.@b + 2)+"x"+.@a),.@e;
    set getd("$CP"+(.@b + 3)+"x"+.@e),.@a;
    return;

    // Control Panel for GMs:
    OnWhisperGlobal:
    if(getgmlevel() < $@CPgm2) end;
    mes $@CPn$;
    mes "Здраствуйте, "+strcharinfo(0)+".";
    mes "Вы попали в панель наблюдения за рейтингом сервера.";
    mes "Чем могу помочь?";
    next;
    set .@a,select("^880000Выйти^000000","Чистка Рейтинга","Сбросить Рейтинг");
    mes $@CPn$;
    if(.@a == 2) {
    callsub OnPurge;
    mes "Неактивные игроки были удалены из рейтинга.";
    }
    if(.@a == 3) {
    callsub OnReset;
    mes "Ранги сброшены успешно.";
    }
    mes "Счастливого дня.";
    close;

    OnClock0500: // Nota 1: Automatic purge hour.
    if($@CPp) callsub OnPurge;
    end;

    OnPurge:
    set .@t,(gettimetick(2) / (60 * 60 * 24)) - $@CPpt;
    while(.@a < $CPn) {
    set .@a,.@a + 1;
    set .@b,getd("$CP0x"+.@a);
    set getd("$CP0x"+.@a),0;
    set .@t2,getd("$CP15x"+.@b);
    set .@g,getd("$CP20x"+.@b);
    if(.@t2 && (.@t2 < .@t)) {
    // Remove Player:
    set .@c,.@c + 1;
    set getd("$CP1x"+.@b+"$"),"";
    set getd("$CP2x"+.@b),0;
    set getd("$CP15x"+.@b),0;
    if(.@g) {
    if(getd("$CP22x"+.@g)) set getd("$CP22x"+.@g),getd("$CP22x"+.@g) - 1;
    set getd("$CP20x"+.@b),0;
    }
    set .@d,0;
    while(.@d < $@CPc) {
    set .@d,.@d + 1;
    set .@e,getd("$@CPc1x"+.@d);
    set getd("$CP"+.@e+"x"+.@b),0;
    set getd("$CP"+(.@e + 1)+"x"+.@b),0;
    set .@f,getd("$CP"+(.@e + 2)+"x"+.@b);
    set getd("$CP"+(.@e + 2)+"x"+.@b),0;
    set getd("$CP"+(.@e + 3)+"x"+.@f),0;
    }
    }
    else {
    set getd("$CP0x"+(.@a - .@c)),.@b;
    if(.@g && (getguildname(.@g + 9999) == "null")) {
    // Remove guild:
    set getd("$CP22x"+.@g),0;
    set getd("$CP20x"+.@b),0;
    }
    }
    }
    set $CPn,$CPn - .@c;
    set .@a,0;
    while(.@a < $@CPc) {
    // Clean Player based Rankings:
    set .@a,.@a + 1;
    set .@b,getd("$@CPc1x"+.@a);
    set .@c,0;
    set .@d,0;
    set .@e,getd("$CPn"+.@b);
    while(.@c < .@e) {
    set .@c,.@c + 1;
    set .@f,getd("$CP"+(.@b + 3)+"x"+.@c);
    if(!.@f) set .@d,.@d + 1;
    else if(.@d) {
    // Move Player Id:
    set getd("$CP"+(.@b + 2)+"x"+.@f),.@c - .@d;
    set getd("$CP"+(.@b + 3)+"x"+.@c),0;
    set getd("$CP"+(.@b + 3)+"x"+(.@c - .@d)),.@f;
    }
    }
    set getd("$CPn"+.@b),.@e - .@d;
    }
    set .@a,0;
    set .@c,0;
    while(.@a < $CPg) {
    // Purge Guilds:
    set .@a,.@a + 1;
    set .@b,getd("$CP21x"+.@a);
    set getd("$CP21x"+.@a),0;
    set .@a$,getguildname(.@b + 9999);
    if(.@a$ == "null") set getd("$CP22x"+.@b),0;
    if(!getd("$CP22x"+.@b)) {
    set .@c,.@c + 1;
    set .@d,0;
    while(.@d < $@CPd) {
    set .@d,.@d + 1;
    set .@e,getd("$@CPd1x"+.@d);
    if(.@a$ == "null") {
    set getd("$CP"+.@e+"x"+.@b),0;
    set getd("$CP"+(.@e + 1)+"x"+.@b),0;
    }
    set .@f,getd("$CP"+(.@e + 2)+"x"+.@b);
    set getd("$CP"+(.@e + 2)+"x"+.@b),0;
    set getd("$CP"+(.@e + 3)+"x"+.@f),0;
    }
    }
    else set getd("$CP21x"+(.@a - .@c)),.@b;
    }
    set $CPg,$CPg - .@c;
    set .@a,0;
    while(.@a < $@CPd) {
    // Clean Guild based Rankings:
    set .@a,.@a + 1;
    set .@b,getd("$@CPd1x"+.@a);
    set .@c,0;
    set .@d,0;
    set .@e,getd("$CPg"+.@b);
    while(.@c < .@e) {
    set .@c,.@c + 1;
    set .@f,getd("$CP"+(.@b + 3)+"x"+.@c);
    if(!.@f) set .@d,.@d + 1;
    else if(.@d) {
    // Move Guild Id:
    set getd("$CP"+(.@b + 2)+"x"+.@f),.@c - .@d;
    set getd("$CP"+(.@b + 3)+"x"+.@c),0;
    set getd("$CP"+(.@b + 3)+"x"+(.@c - .@d)),.@f;
    }
    }
    set getd("$CPg"+.@b),.@e - .@d;
    }
    return;

    OnReset:
    while(.@a < $CPn) {
    // Reset Players:
    set .@a,.@a + 1;
    set .@b,getd("$CP0x"+.@a);
    set getd("$CP0x"+.@a),0;
    set getd("$CP1x"+.@b+"$"),"";
    set getd("$CP2x"+.@b),0;
    set getd("$CP15x"+.@b),0;
    set getd("$CP20x"+.@b),0;
    set .@c,0;
    while(.@c < $@CPc) {
    set .@c,.@c + 1;
    set .@d,getd("$@CPc1x"+.@c);
    set getd("$CP"+.@d+"x"+.@b),0;
    set getd("$CP"+(.@d + 1)+"x"+.@b),0;
    set getd("$CP"+(.@d + 2)+"x"+.@b),0;
    }
    }
    set $CPn,0;
    set .@a,0;
    while(.@a < $@CPc) {
    // Reset Player based Rankings:
    set .@a,.@a + 1;
    set .@b,getd("$@CPc1x"+.@a);
    set .@c,0;
    while(.@c < getd("$CPn"+.@b)) {
    set .@c,.@c + 1;
    set getd("$CP"+(.@b + 3)+"x"+.@c),0;
    }
    set getd("$CPn"+.@b),0;
    }
    set .@a,0;
    while(.@a < $CPg) {
    // Reset Guilds:
    set .@a,.@a + 1;
    set .@b,getd("$CP21x"+.@a);
    set getd("$CP21x"+.@a),0;
    set getd("$CP22x"+.@b),0;
    set .@c,0;
    while(.@c < $@CPd) {
    set .@c,.@c + 1;
    set .@d,getd("$@CPd1x"+.@c);
    set getd("$CP"+.@d+"x"+.@b),0;
    set getd("$CP"+(.@d + 1)+"x"+.@b),0;
    set getd("$CP"+(.@d + 2)+"x"+.@b),0;
    }
    }
    set $CPg,0;
    set .@a,0;
    while(.@a < $@CPd) {
    // Reset Guild based Rankings:
    set .@a,.@a + 1;
    set .@b,getd("$@CPd1x"+.@a);
    set .@c,0;
    while(.@c < getd("$CPg"+.@b)) {
    set .@c,.@c + 1;
    set getd("$CP"+(.@b + 3)+"x"+.@c),0;
    }
    set getd("$CPg"+.@b),0;
    }
    return;
    }

    // Npcs:
    - script Рейтинг#0::CP -1,{

    mes $@CPn$;
    mes "Здраствуйте, "+strcharinfo(0)+".";
    mes "Хотите посмотреть на статистику сервера?";
    next;
    while(.@a < $@CPc) {
    set .@a$[.@a],getd("$@CPc0x"+(.@a + 1)+"$");
    set .@a,.@a + 1;
    }
    set .@a,0;
    while(.@a < $@CPd) {
    set .@a$[.@a + $@CPc],"[Guild] "+getd("$@CPd0x"+(.@a + 1)+"$");
    set .@a,.@a + 1;
    }
    set .@a,select("^880000Пока^000000",.@a$[0],.@a$[1],.@a$[2],.@a$[3],.@a$[4],.@a$[5],.@a$[6],.@a$[7],.@a$[8],.@a$[9],.@a$[10]) - 1;
    mes $@CPn$;
    if(.@a) {
    if(.@a <= $@CPc) {
    mes "Выбирите категорию:";
    next;
    set .@b,select("^880000Все игроки^000000","Игроки в Онлайне","Превосходящие игроки","Дети","По классам") - 1;
    if(.@b == 4) {
    mes $@CPn$;
    mes "Select a class:";
    next;
    set .@c,(select("Novice","Swordman","Mage","Archer","Acolyte","Merchant","Thief","Taekwon","Gunslinger","Ninja","Super Novice","Knight","Crussader","Wizard","Sage","Hunter","Bard/Dancer","Priest","Monk","Blacksmith","Alchemist","Assassin","Rogue","Star Gladiator","Soul Linker") - 1);
    if(.@c > 10) {
    set .@c,.@c - 9;
    if(.@c % 2) set .@c,(.@c / 2) | 0x200;
    else set .@c,(.@c / 2) | 0x100;
    }
    if(.@c == 8) set .@c,0x9;
    if(.@c == 9) set .@c,0x0a;
    if(.@c == 10) set .@c,0x100;
    }
    mes $@CPn$;

    }
    mes "Хорошо.";
    mes "Я отправлю информацию в ваше окно чата.";
    }
    mes "Счастливого дня.";
    close2;
    emotion 12;
    if(.@a) {
    if(.@a <= $@CPc) {
    // Show Player based Ranking:
    set .@d,getd("$@CPc1x"+.@a);
    set .@f,getcharid(0) - 149999;
    set .@g,getcharid(2);
    if(.@g) set .@g,.@g - 9999;
    while(.@h < getd("$CPn"+.@d)) {
    set .@h,.@h + 1;
    set .@i,getd("$CP"+(.@d + 3)+"x"+.@h);
    set .@j,getd("$CP2x"+.@i);
    if(!.@b || ((.@b == 1) && getcharid(0,getd("$CP1x"+.@i+"$"))) || ((.@b == 2) && (.@j & 0x1000)) || ((.@b == 3) && (.@j & 0x2000)) || ((.@b == 4) && ((.@j & 0x0fff) == .@c))) {
    set .@k,.@k + 1;
    if((.@k < 100) || (.@f == .@i)) {
    if((.@k % 20) == 1) announce "[ "+getd("$@CPc0x"+.@a+"$")+" ] [ "+getd("$@CPc4x"+.@a+"$")+" / "+getd("$@CPc5x"+.@a+"$")+" ] - Ник - Класс - Гильдия",bc_self,0xFF7700;
    set .@l,getd("$CP20x"+.@i);
    if(.@f == .@i) set .@d$,"0x00BBAA"; // You
    else if(.@g && (.@g == .@l)) set .@d$,"0x66AA55"; // Guild member
    else set .@d$,"0xBB9900";
    set .@m,getd("$CP"+.@d+"x"+.@i);
    if(.@m < 0) set .@m,.@m * (-1);
    set .@n,getd("$CP"+(.@d + 1)+"x"+.@i);
    if(.@n < 0) set .@n,.@n * (-1);
    set .@e$,getguildname(.@l + 9999);
    if(.@e$ == "null") set .@e$,"";
    announce "[ "+.@k+" ] [ "+.@m+" / "+.@n+" ] - "+getd("$CP1x"+.@i+"$")+" - "+jobname(roclass(.@j))+" - "+.@e$,bc_self,.@d$;
    }
    }
    }
    }
    else {
    // Show Guild based Ranking:
    set .@a,.@a - $@CPc;
    set .@d,getd("$@CPd1x"+.@a);
    set .@g,getcharid(2);
    if(.@g) set .@g,.@g - 9999;
    while(.@h < getd("$CPg"+.@d)) {
    set .@h,.@h + 1;
    set .@i,getd("$CP"+(.@d + 3)+"x"+.@h);
    set .@e$,getguildname(.@i + 9999);
    if((.@e$ != "null") && getd("$CP22x"+.@i)) {
    set .@k,.@k + 1;
    if((.@k < 100) || (.@g == .@i)) {
    if((.@k % 20) == 1) announce "[ "+getd("$@CPd0x"+.@a+"$")+" ] [ "+getd("$@CPd2x"+.@a+"$")+" / "+getd("$@CPd3x"+.@a+"$")+" ] - Name",bc_self,0xFF7700;
    if(.@g && (.@g == .@i)) set .@d$,"0x00BBAA"; // Your Guild
    else set .@d$,"0xBB9900";
    set .@m,getd("$CP"+.@d+"x"+.@i);
    if(.@m < 0) set .@m,.@m * (-1);
    set .@n,getd("$CP"+(.@d + 1)+"x"+.@i);
    if(.@n < 0) set .@n,.@n * (-1);
    announce "[ "+.@k+" ] [ "+.@m+" / "+.@n+" ] - "+.@e$,bc_self,.@d$;
    }
    }
    }
    }
    if(!.@k) announce "Ничего небыло найдено.",bc_self,0xFF7700;
    else announce "----------",bc_self,0xFF7700;
    }
    end;
    }

    alberta,195,138,4 duplicate(CP) Рейтинг#1 239
    alberta,51,250,5 duplicate(CP) Рейтинг#2 239
    aldebaran,133,116,6 duplicate(CP) Рейтинг#3 239
    aldebaran,133,236,6 duplicate(CP) Рейтинг#4 239
    alde_gld,234,150,4 duplicate(CP) Рейтинг#5 239
    amatsu,242,279,6 duplicate(CP) Рейтинг#6 239
    amatsu,99,260,4 duplicate(CP) Рейтинг#7 239
    amatsu,207,100,4 duplicate(CP) Рейтинг#8 239
    ayothaya,212,204,4 duplicate(CP) Рейтинг#9 239
    ayothaya,157,78,4 duplicate(CP) Рейтинг#10 239
    comodo,180,329,4 duplicate(CP) Рейтинг#11 239
    comodo,205,112,4 duplicate(CP) Рейтинг#12 239
    comodo,316,181,4 duplicate(CP) Рейтинг#13 239
    comodo,36,221,6 duplicate(CP) Рейтинг#14 239
    einbech,66,92,6 duplicate(CP) Рейтинг#15 239
    einbech,131,245,6 duplicate(CP) Рейтинг#16 239
    einbech,42,201,8 duplicate(CP) Рейтинг#17 239
    einbroch,74,187,2 duplicate(CP) Рейтинг#18 239
    einbroch,149,315,6 duplicate(CP) Рейтинг#19 239
    einbroch,152,49,4 duplicate(CP) Рейтинг#20 239
    einbroch,249,239,2 duplicate(CP) Рейтинг#21 239
    geffen,123,69,4 duplicate(CP) Рейтинг#22 239
    geffen,41,107,6 duplicate(CP) Рейтинг#23 239
    geffen,124,177,4 duplicate(CP) Рейтинг#24 239
    geffen,171,123,6 duplicate(CP) Рейтинг#25 239
    gef_fild13,193,244,4 duplicate(CP) Рейтинг#26 239
    gonryun,152,110,6 duplicate(CP) Рейтинг#27 239
    gonryun,168,180,2 duplicate(CP) Рейтинг#28 239
    gonryun,153,16,6 duplicate(CP) Рейтинг#29 239
    hugel,101,130,4 duplicate(CP) Рейтинг#30 239
    hugel,178,170,4 duplicate(CP) Рейтинг#31 239
    izlude,121,94,6 duplicate(CP) Рейтинг#32 239
    yuno,175,89,4 duplicate(CP) Рейтинг#33 239
    yuno,68,203,4 duplicate(CP) Рейтинг#34 239
    sch_gld,291,123,4 duplicate(CP) Рейтинг#35 239
    lighthalzen,209,95,6 duplicate(CP) Рейтинг#36 239
    lighthalzen,218,322,4 duplicate(CP) Рейтинг#37 239
    lighthalzen,311,299,4 duplicate(CP) Рейтинг#38 239
    louyang,203,104,6 duplicate(CP) Рейтинг#39 239
    xmas,139,306,6 duplicate(CP) Рейтинг#41 239
    xmas,161,108,4 duplicate(CP) Рейтинг#42 239
    morocc,166,76,4 duplicate(CP) Рейтинг#43 239
    morocc,47,174,4 duplicate(CP) Рейтинг#44 239
    morocc,166,289,4 duplicate(CP) Рейтинг#45 239
    morocc,279,197,8 duplicate(CP) Рейтинг#46 239
    morocc,35,290,4 duplicate(CP) Рейтинг#47 239
    moscovia,238,198,4 duplicate(CP) Рейтинг#48 239
    moscovia,159,62,4 duplicate(CP) Рейтинг#49 239
    niflheim,29,158,6 duplicate(CP) Рейтинг#50 239
    niflheim,199,188,4 duplicate(CP) Рейтинг#51 239
    payon,213,72,6 duplicate(CP) Рейтинг#52 239
    payon,160,49,2 duplicate(CP) Рейтинг#53 239
    payon,232,316,4 duplicate(CP) Рейтинг#54 239
    payon,63,120,6 duplicate(CP) Рейтинг#55 239
    pay_gld,201,157,4 duplicate(CP) Рейтинг#56 239
    prontera,146,174,4 duplicate(CP) Рейтинг#57 239
    prontera,40,212,6 duplicate(CP) Рейтинг#58 239
    prontera,259,213,4 duplicate(CP) Рейтинг#60 239
    prontera,161,312,4 duplicate(CP) Рейтинг#61 239
    prt_gld,166,75,4 duplicate(CP) Рейтинг#62 239
    rachel,264,136,4 duplicate(CP) Рейтинг#63 239
    rachel,150,144,4 duplicate(CP) Рейтинг#64 239
    rachel,135,45,4 duplicate(CP) Рейтинг#65 239
    rachel,39,131,6 duplicate(CP) Рейтинг#66 239
    aru_gld,179,326,6 duplicate(CP) Рейтинг#67 239
    umbala,121,128,8 duplicate(CP) Рейтинг#68 239
    umbala,163,249,4 duplicate(CP) Рейтинг#69 239
    veins,209,234,4 duplicate(CP) Рейтинг#70 239
    veins,222,352,4 duplicate(CP) Рейтинг#71 239
    veins,157,62,6 duplicate(CP) Рейтинг#72 239
    // Npc's names must continue the same model.
     
    • Страница 1 из 1
    • 1
    Поиск:

    Опрос

    Оцените мой сайт
    Всего ответов: 108

    Авторизация

    Среда
    07.01.2026
    06:06

    Адаптация EvilDM,Сайт WOlF ©