Перейти к содержанию

poiuty

Donators
  • Постов

    115
  • Зарегистрирован

  • Посещение

  • Победитель дней

    14

Сообщения, опубликованные poiuty

  1. //======================================================//
    //===- PvP Арена -======================================//
    //===- Каждый день недели новая мапа -==================//
    //===- Made by poiuty -=================================//
    //======================================================//
    //-Оповещение о смене мапы-//
    //-и-//
    //-Авто варп с локи на локу,когда идет смена дня-//
    //-Для комфорта-//
    //------ Свойствa карт ------//
    //------ guild_vs1 ------//
    guild_vs1 mapflag pvp
    guild_vs1 mapflag nomemo
    guild_vs1 mapflag noteleport
    guild_vs1 mapflag nosave
    guild_vs1 mapflag noexp
    guild_vs1 mapflag nopenalty
    guild_vs1 mapflag noteleport
    guild_vs1 mapflag nowarp
    guild_vs1 mapflag noreturn
    guild_vs1 mapflag nobranch
    guild_vs1 mapflag noloot
    guild_vs1 mapflag nogo
    guild_vs1 mapflag nodrop
    //------ guild_vs2 ------//
    guild_vs2 mapflag pvp
    guild_vs2 mapflag nomemo
    guild_vs2 mapflag noteleport
    guild_vs2 mapflag nosave
    guild_vs2 mapflag noexp
    guild_vs2 mapflag nopenalty
    guild_vs2 mapflag noteleport
    guild_vs2 mapflag nowarp
    guild_vs2 mapflag noreturn
    guild_vs2 mapflag nobranch
    guild_vs2 mapflag noloot
    guild_vs2 mapflag nogo
    guild_vs2 mapflag nodrop
    //------ guild_vs3 ------//
    guild_vs3 mapflag pvp
    guild_vs3 mapflag nomemo
    guild_vs3 mapflag noteleport
    guild_vs3 mapflag nosave
    guild_vs3 mapflag noexp
    guild_vs3 mapflag nopenalty
    guild_vs3 mapflag noteleport
    guild_vs3 mapflag nowarp
    guild_vs3 mapflag noreturn
    guild_vs3 mapflag nobranch
    guild_vs3 mapflag noloot
    guild_vs3 mapflag nogo
    guild_vs3 mapflag nodrop
    //------ guild_vs4 ------//
    guild_vs4 mapflag pvp
    guild_vs4 mapflag nomemo
    guild_vs4 mapflag noteleport
    guild_vs4 mapflag nosave
    guild_vs4 mapflag noexp
    guild_vs4 mapflag nopenalty
    guild_vs4 mapflag noteleport
    guild_vs4 mapflag nowarp
    guild_vs4 mapflag noreturn
    guild_vs4 mapflag nobranch
    guild_vs4 mapflag noloot
    guild_vs4 mapflag nogo
    guild_vs4 mapflag nodrop
    //------ guild_vs5 ------//
    guild_vs5 mapflag pvp
    guild_vs5 mapflag nomemo
    guild_vs5 mapflag noteleport
    guild_vs5 mapflag nosave
    guild_vs5 mapflag noexp
    guild_vs5 mapflag nopenalty
    guild_vs5 mapflag noteleport
    guild_vs5 mapflag nowarp
    guild_vs5 mapflag noreturn
    guild_vs5 mapflag nobranch
    guild_vs5 mapflag noloot
    guild_vs5 mapflag nogo
    guild_vs5 mapflag nodrop
    //------ pvp_y_1-2 ------//
    pvp_y_1-2 mapflag pvp
    pvp_y_1-2 mapflag nomemo
    pvp_y_1-2 mapflag noteleport
    pvp_y_1-2 mapflag nosave
    pvp_y_1-2 mapflag noexp
    pvp_y_1-2 mapflag nopenalty
    pvp_y_1-2 mapflag noteleport
    pvp_y_1-2 mapflag nowarp
    pvp_y_1-2 mapflag noreturn
    pvp_y_1-2 mapflag nobranch
    pvp_y_1-2 mapflag noloot
    pvp_y_1-2 mapflag nogo
    pvp_y_1-2 mapflag nodrop
    //------ pvp_n_1-3 ------//
    pvp_n_1-3 mapflag pvp
    pvp_n_1-3 mapflag nomemo
    pvp_n_1-3 mapflag noteleport
    pvp_n_1-3 mapflag nosave
    pvp_n_1-3 mapflag noexp
    pvp_n_1-3 mapflag nopenalty
    pvp_n_1-3 mapflag noteleport
    pvp_n_1-3 mapflag nowarp
    pvp_n_1-3 mapflag noreturn
    pvp_n_1-3 mapflag nobranch
    pvp_n_1-3 mapflag noloot
    pvp_n_1-3 mapflag nogo
    pvp_n_1-3 mapflag nodrop
    //Предупреждалка и варперка.
    - script OnInit -1,{
    end;
    OnClock2355:
    switch(gettime(4)){
    case 0:
    callfunc("F_PVP_AUTO_WARP","pvp_n_1-3","guild_vs1");
    break;
    case 1:
    callfunc("F_PVP_AUTO_WARP","guild_vs1","guild_vs2");
    break;
    case 2:
    callfunc("F_PVP_AUTO_WARP","guild_vs2","guild_vs3");
    break;
    case 3:
    callfunc("F_PVP_AUTO_WARP","guild_vs3","guild_vs4");
    break;
    case 4:
    callfunc("F_PVP_AUTO_WARP","guild_vs4","guild_vs5");
    break;
    case 5:
    callfunc("F_PVP_AUTO_WARP","guild_vs5","pvp_y_1-2");
    break;
    case 6:
    callfunc("F_PVP_AUTO_WARP","pvp_y_1-2","pvp_n_1-3");
    break;
    }
    }
    function script F_PVP_AUTO_WARP {
    mapannounce getarg(0), "Через 5минут будет смена карты.",bc_map;
    sleep 5000;
    mapannounce getarg(0), "Вы будете автоматически перемещены",bc_map;
    sleep 5000;
    mapannounce getarg(0), "На карту "+getarg(1),bc_map;
    sleep 10000;
    mapannounce getarg(0), "Приятной игры.С уважением Aдминистрация.",bc_map;
    sleep 280000;
    mapwarp ""+getarg(0)+"",""+getarg(1)+"",0,0;
    }

    //------ NPC "PvP Мастер" ------//
    prontera.gat,164,175,4 script PvP-Arena#1 751,{
    switch(gettime(4)){
    case 0:
    callfunc("L_NPC_SAY_AND_WARP","guild_vs1");
    break;
    case 1:
    callfunc("L_NPC_SAY_AND_WARP","guild_vs2");
    break;
    case 2:
    callfunc("L_NPC_SAY_AND_WARP","guild_vs3");
    break;
    case 3:
    callfunc("L_NPC_SAY_AND_WARP","guild_vs4");
    break;
    case 4:
    callfunc("L_NPC_SAY_AND_WARP","guild_vs5");
    break;
    case 5:
    callfunc("L_NPC_SAY_AND_WARP","pvp_y_1-2");
    break;
    case 6:
    callfunc("L_NPC_SAY_AND_WARP","pvp_n_1-3");
    break;
    }
    }

    //Функция отвечающая за варп и разговор нпс.
    function script L_NPC_SAY_AND_WARP {
    if (Class == 4000) goto L_Job;
    if (Class == 0) goto L_Job;
    mes "[PvP Мастер]";
    mes "Приветствую тебя воин!";
    mes "Сейчас на арене "+getmapusers(getarg(0))+" людей.";
    mes "Хочеш ли ты войти на арену?";
    switch( select( "^008000Войти^000000","^ff0000Отказаться^000000" ) )
    {
    case 1:
    warp getarg(0),0,0;
    switch(gettime(4)){
    case 0:
    callfunc("L_WHO_ENTER","guild_vs1");
    break;
    case 1:
    callfunc("L_WHO_ENTER","guild_vs2");
    break;
    case 2:
    callfunc("L_WHO_ENTER","guild_vs3");
    break;
    case 3:
    callfunc("L_WHO_ENTER","guild_vs4");
    break;
    case 4:
    callfunc("L_WHO_ENTER","guild_vs5");
    break;
    case 5:
    callfunc("L_WHO_ENTER","pvp_y_1-2");
    break;
    case 6:
    callfunc("L_WHO_ENTER","pvp_n_1-3");
    break;
    }

    case 2:
    mes ":*)Хорошо";
    mes "Если захочешь на pvp арену,обращайся.";
    next;
    mes "Досвидание.Приятной игры.";
    close;
    }
    //Проверка на профу.
    L_Job:
    mes "Новичкам вход на арену запрещен!";
    close;
    }



    //Фитча,при варпе на арену - на карте,где идет в настроящее время пвп,пишется обьявление "n зашел на пвп"
    //Где "n" ник персонажа.
    function script L_WHO_ENTER {
    OnPCLoadMapEvent:
    switch(sex){
    case 0:
    mapannounce getarg(0),strcharinfo(0)+ " зашла на пвп арену!",16;
    end;
    case 1:
    mapannounce getarg(0),strcharinfo(0)+ " зашел на пвп арену!",16;
    end;
    }
    }

    • Upvote 1
  2. sql таблицы нет, скрипт 2008 года

    -    script    PVP_rating    -1,{
    OnInit:
    setarray $PVPR_pvpmap$[0],"guild_vs1","guild_vs2","guild_vs3","guild_vs4","guild_vs5","pvp_y_1-2","pvp_n_1-3";
    // Задаем элементы формулы
    set $Y, 10; set $K, 2; set $X, 1; set $G, 2;
    // настройки
    set $PKR_param_one,10; // этот параметр отвечает за частоту записи в БД.
    set $PKR_bonus_one,5; // параметр для mod'a убийств подряд.
    set $PKR_bonus_two,5; // параметря для mod'a - разница в уровнях
    end;
    OnPCLogoutEvent:
    if (PKR_rate != 0) callfunc ("PKR_update_db",PKR_rate);
    set PKR_rate,0;
    set PKR_kills_w_death,0;
    end;
    OnPCKillEvent:
    if (getcharid(0) == killerrid) end; // проверка на суицид
    if (getmapxy(@mapname$,@mapx,@mapy,0) != 0) end; // проверка на посыл пакетов или типа того
    if (callfunc("find_in_array",@mapname$,"$PVPR_pvpmap$",1) == -1) end;
    if ( getgmlevel() >= 40 ) end; // на время теста комментирую ))
    //////
    // работает с киллером
    set PvP_Kills,PvP_Kills+1;
    set PKR_kills_w_death,PKR_kills_w_death+1;
    set .@count_k_w_d,PKR_kills_w_death;
    set .@killer_name$, strcharinfo(0);
    set .@killer_base, BaseLevel; // в дальнейшем буду использовать для бонусных очков
    set .@killer_sex, Sex;
    set .@killer_upper,Upper;
    // Блок задача пола
    if ( .@killer_sex ) set .@kill_msg$,"убил"; else set .@kill_msg$,"убилa";
    if (PKR_rate == 0) query_sql "SELECT `rating` FROM `pvplog` WHERE `char_id` = "+getcharid(0),PKR_rate; //берем значение из pvplog -> rating.
    set .@killer_rate,PKR_rate; // задаем временную переменную рэйтингом убийцы
    //
    //////
    // работает с убитым
    attachrid(killedrid);
    set .@killed_name$, strcharinfo(0);
    set .@count_k_w_d_D,PKR_kills_w_death;
    set PvP_Death, PvP_Death+1;
    set PKR_kills_w_death,0;
    if (PKR_rate == 0) query_sql "SELECT `rating` FROM `pvplog` WHERE `char_id` = "+getcharid(0),PKR_rate;
    set .@killed_rate,PKR_rate; // задаем временную переменную рэйтингом убитого
    set .@dead_base, BaseLevel; // в дальнейшем буду использовать для бонусных очков
    set .@killed_upper,Upper;
    //
    //////
    //Анализируем по какой форумле считать.Считаем...
    if ( .@killer_rate > .@killed_rate) set .@count_points,( .@killed_rate / ( ( .@killer_rate + $X ) * $Y ) ) + $K + rand(1,2);
    else if (.@killer_rate < .@killed_rate) set .@count_points,( .@killed_rate / ( ( .@killer_rate + $X ) * $Y ) ) + ($K + $G + rand(1,2));
    else if (.@killer_rate == .@killed_rate) set .@count_points, $G;
    //////
    // раздел бонусов
    if (div((.@count_k_w_d_D-.@count_k_w_d),$PKR_bonus_one) != 0) set .@bonus,.@bonus+div((.@count_k_w_d_D-.@count_k_w_d),$PKR_bonus_one); // бонус от параметра KWD
    // announce div((.@count_k_w_d_D-.@count_k_w_d),$PKR_bonus_one)+" : КВД",bc_all;
    if (div((.@dead_base-.@killer_base),$PKR_bonus_two) != 0) set .@bonus,.@bonus+div((.@dead_base-.@killer_base),$PKR_bonus_two); // бонус от разницы в уровнях
    // announce div((.@dead_base-.@killer_base),$PKR_bonus_two)+" : LVL bonus",bc_all;
    if ((.@killed_upper - .@killer_upper) != 0) set .@bonus,.@bonus+(.@killed_upper - .@killer_upper); // бонус над победой над адванс профой
    if (.@count_points < 0) set .@count_points,.@count_points*(-1); // переворачиваем рез-ы, если отрицательны
    if (.@bonus > 0) set .@count_points,.@count_points+.@bonus;
    else if (.@bonus < 0 && .@bonus*(-1) > .@count_points) set .@count_points,0; // если бонус больше очков по формуле, то обнуляем
    //mapannounce $maps,.@bonus+" - Бонус",bc_all;
    set .@bonus,0;
    //
    //////
    // операции по изменению переменных
    set PKR_rate,PKR_rate-.@count_points;
    set .@killed_rate,PKR_rate;
    if (mod(PvP_Death,$PKR_param_one) == 0) callfunc ("PKR_update_db",PKR_rate);
    dispbottom "У вас "+PKR_rate+" PVP-поинтов.";
    attachrid(killerrid);
    set PKR_rate,PKR_rate+.@count_points;
    set .@killer_rate,PKR_rate;
    if (mod(PvP_Kills,$PKR_param_one) == 0) callfunc ("PKR_update_db",PKR_rate);
    // Сообщение об убийстве.
    if (.@count_k_w_d == 2) soundeffectall "double_kill.wav",0,@mapname$;
    if (.@count_k_w_d == 3) soundeffectall "triple_kill.wav",0,@mapname$;
    if (.@count_k_w_d == 6) soundeffectall "dominating.wav",0,@mapname$;
    if (.@count_k_w_d == 8) soundeffectall "megakill.wav",0,@mapname$;
    if (.@count_k_w_d == 10) soundeffectall "monsterkill.wav",0,@mapname$;
    if (.@count_k_w_d == 13) soundeffectall "wickedsick.wav",0,@mapname$;
    if (.@count_k_w_d == 16) soundeffectall "unstoppable.wav",0,@mapname$;
    if (.@count_k_w_d == 20) soundeffectall "godlike.wav",0,@mapname$;
    if (.@count_k_w_d == 22) soundeffectall "holyshit.wav",0,@mapname$;
    // if (.@count_k_w_d > 5 && .@count_points < 4) {
    // set .@i,rand(.@count_k_w_d,.@count_k_w_d_D);
    // mapannounce @mapname$,.@i,bc_all;
    // if (.@i > 0) {
    // mapannounce @mapname$,"Вы получили бонус в размере "+.@i+" "+callfunc ("get_right_word","поинт",.@i)+". Так держать!",bc_self;
    // set PKR_rate,PKR_rate+.@i;
    // }
    //}

    mapannounce "guild_vs1","[ "+.@killer_name$+" ] "+.@kill_msg$+" [ "+.@killed_name$+" ]. Рейтинг +/- ["+.@count_points+" / "+.@count_points+"] ("+.@count_k_w_d+" убитых подряд)",bc_map;
    mapannounce "guild_vs2","[ "+.@killer_name$+" ] "+.@kill_msg$+" [ "+.@killed_name$+" ]. Рейтинг +/- ["+.@count_points+" / "+.@count_points+"] ("+.@count_k_w_d+" убитых подряд)",bc_map;
    mapannounce "guild_vs3","[ "+.@killer_name$+" ] "+.@kill_msg$+" [ "+.@killed_name$+" ]. Рейтинг +/- ["+.@count_points+" / "+.@count_points+"] ("+.@count_k_w_d+" убитых подряд)",bc_map;
    mapannounce "guild_vs4","[ "+.@killer_name$+" ] "+.@kill_msg$+" [ "+.@killed_name$+" ]. Рейтинг +/- ["+.@count_points+" / "+.@count_points+"] ("+.@count_k_w_d+" убитых подряд)",bc_map;
    mapannounce "guild_vs5","[ "+.@killer_name$+" ] "+.@kill_msg$+" [ "+.@killed_name$+" ]. Рейтинг +/- ["+.@count_points+" / "+.@count_points+"] ("+.@count_k_w_d+" убитых подряд)",bc_map;
    mapannounce "pvp_y_1-2","[ "+.@killer_name$+" ] "+.@kill_msg$+" [ "+.@killed_name$+" ]. Рейтинг +/- ["+.@count_points+" / "+.@count_points+"] ("+.@count_k_w_d+" убитых подряд)",bc_map;
    mapannounce "pvp_n_1-3","[ "+.@killer_name$+" ] "+.@kill_msg$+" [ "+.@killed_name$+" ]. Рейтинг +/- ["+.@count_points+" / "+.@count_points+"] ("+.@count_k_w_d+" убитых подряд)",bc_map;
    dispbottom "У вас "+PKR_rate+" PVP-поинтов.";
    }
    function script PKR_update_db {
    query_sql "SELECT count(*) FROM `pvplog` WHERE `char_id` = "+getcharid(0),.@count;
    if (.@count == 0) query_sql "INSERT INTO `pvplog` (char_id,last_update,rating) VALUES ("+getcharid(0)+",NOW(),"+getarg(0)+")",.@bla;
    else query_sql "UPDATE `pvplog` SET `rating` = "+getarg(0)+" WHERE char_id = "+getcharid(0),.@bla;
    return(0);
    }

  3. скрипт 2008 года


    /*by poiuty
    Идея юзвера с piratro http://forum.piratro.com/index.php?showtopic=2796&pid=19924&st=0entry19924
    */
    - script loot_event -1,{
    OnInit:
    callfunc("DontShow");
    }

    - script loot_event1 -1,{
    OnMinute41:
    callfunc("StartEvent1");
    end;

    OnMinute56:
    if($@questitem == 1) announce "Никто не принес лут! =(",8;
    callfunc("DontShow");
    end;
    }

    prontera,142,194,5 script Барахольщик::J1 712,{
    mes "[Барахольщик]";
    mes "Нужно доставить лут за определенное время! И как можно быстрей!";
    next;
    mes "[Барахольщик]";
    mes "Принеси мне 50 "+$@questitemname$;
    next;
    switch(select("Принес!","Пойду искать!")){
    case 1:
    if (countitem($@questitemid) <50){
    mes "[Барахольщик]";
    mes "У тебя нет лута!";
    close;
    }else{
    mes "Огромное спасибо!";
    delitem $@questitemid,50;
    getitem 673,5;
    if(sex==0) announce strcharinfo(0)+" справилась с заданием",8;
    if(sex==1) announce strcharinfo(0)+" справился с заданием",8;
    stopnpctimer"StartEvent1";
    disablenpc "J1";
    set $@questitem, 0;
    close;
    }
    case 2:
    mes "Удачи в поисках!";
    close;
    }
    end;
    }


    function script StartEvent1 {
    enablenpc "J1";
    setarray .itemids[0], 731,732,970,7047,704,719,1054,1053,702,919,7003,7106,7107,720,7210,7119,1068,7214,7323,948,939,7297,7161,7206,1020,737,7449,7563,7446,1034,7441,7215,7070,7156,7110,7188,1042,7122,7097,7512,7068,7182,952,7263,1004,742,915,966,705,7093,7223,7017,7212,7561,7268,7216,7100,707,7194,7063,7217,7565,7167,7219,7567,7301,7267,7319,7568,7340,7149,729;
    setarray .itemnames$[0], "2carat Diamond","3carat Diamond","Alcohol","Alice's Apron","Aloe","Amethyst","Ancient Lips","Ancient Tooth","Animal Gore","Animal Skin","Anolian Skin","Antelope Horn","Antelope Skin","Aquamarine","Armor Piece of Dullahan","Bacillus","Barren Trunk","Bat Cage","Battered Kettle","Bear's Footskin","Bee Sting","Biotite","Black Bear Skin","Black Cat Doll","Black Hair","Black Ladle","Bloody Page","Bloody Rune","Blue Bijou","Blue Hair","Blue tinted Feather","Broken Needle","Broken Shell","Broken Shuriken","Broken Sword","Brown Root","Bug Leg","Burning Hair","Burning Heart","Burnt Pieces","Burnt Tree","Cacao","Cactus Needle","Cat's Eye","Chivalry Emblem","Chonchon Doll","Chrysalis","Clam Flesh","Clover","Cogwheel","Contorted Self-Portrait","Executioner's Mitten","Hung Doll","Ice Heart","Little Ghost Doll","Red Muffler","Sharp Leaf","Singing Plant","Soft Blade of Grass","Soft Feather","Spool","Sticky Poison","Strange Steel Piece","Striped Sock","Suspicious Hat","Tassel","Tiger Panty","Used Iron Plate","White Mask","Will of the Darkness","Yellow Plate","Zircon";
    set .itemrand, rand(0,71);
    set $@questitemid, .itemids[.itemrand];
    set $@questitemname$, .itemnames$[.itemrand];
    set $@questitem, 1;
    announce "[Барахольщик] Принесите мне 50 "+$@questitemname$+", первый получит 5 монет!",8;
    end;
    }

    function script DontShow {
    disablenpc "J1";
    end;
    }

  4. Скрипт ~2008 года

    5@tower    mapflag    pvp    off
    5@tower mapflag noicewall
    5@tower mapflag noloot
    5@tower mapflag nomemo
    5@tower mapflag noteleport
    5@tower mapflag nowarp
    5@tower mapflag nobranch
    5@tower mapflag nosave
    5@tower mapflag nochat
    5@tower mapflag novending
    5@tower mapflag nogo
    5@tower mapflag nodrop

    prontera,152,94,6 script Последний Герой#ELH 781,{
    mes "[Организатор]";
    mes "Привет! Хочешь принять участие";
    mes "в эвенте Последний Герой";
    mes "с супер призом?";
    next;
    mes "[Организатор]";
    mes "Это сражение против огромной";
    mes "массы монстров! Победитель тот,"; // 1201
    mes "кто в итоге останется единственным,"; // 5004
    mes "последним выжывшим в сражении!";
    next;
    mes "[Организатор]";
    if (getmapusers("5@tower") >= $@playcount){
    mes "Извини, участие в эвенте могут принять только "+$@playcount+" игроков.";
    mes "Приходите в другой раз.";
    close;
    }
    mes "Ты хочешь попасть на эвент?";
    next;
    switch (select("Да!","Нет!")){
    case 1:
    percentheal 100,100;
    savepoint "prontera",148,180;
    warp "5@tower",81,83;
    break;
    case 2:
    mes "[Организатор]";
    mes "Надумаете, приходите на следующий эвент.";
    close;
    }
    }

    5@tower,81,83,5 script Last Hero MSG::lhmsg -1,{
    OnENStart:
    sleep 20000 * 5; // 5 Мин на сборы
    disablenpc "Последний Герой#ELH";
    if (getmapusers("5@tower")<($@playcount/5)){
    mapannounce "5@tower","На эвевент не собралось должного количества людей.",bc_map;
    mapannounce "5@tower","Эвент отменяется.",bc_map;
    mapwarp "5@tower","prontera",148,180;
    end;
    }
    mapannounce "5@tower", "Добро пожаловать на эвент последний герой!",bc_map;
    sleep 5000;
    mapannounce "5@tower", "Вы должны противостоять силам зла как можно дольше.",bc_map;
    sleep 5000;
    mapannounce "5@tower", "К сожалению многие из вас погибнут в этой смертельной битве.",bc_map;
    sleep 5000;
    mapannounce "5@tower", "Но лишь один Герой сможет выжить и победить силы зла!",bc_map;
    sleep 5000;
    mapannounce "5@tower", "Удачи вам храбрецы!",bc_map;
    sleep 5000;
    mapannounce "5@tower", "Совсем забыл...Этот герой должен будет сразить Повелителя Зла!",bc_map;
    sleep 5000;
    mapannounce "5@tower","Эвент начнется через минуту.",bc_map;
    sleep 60000;
    mapannounce "5@tower","Монстры атакуют!!!",bc_map;
    set $@vtlLH, 0;
    while(1) {
    for (set .@k,0; .@k<getarraysize($@mobsloopcountLH); set .@k, .@k+1 ) {
    for (set .@i,0; .@i<getarraysize($@mobspawnLH); set .@i, .@i+1 ) {
    set .@indXY, rand(getarraysize($@mobsXspawnLH));
    monster "5@tower",$@mobsXspawnLH[.@indXY],$@mobsYspawnLH[.@indXY],
    strmobinfo(1,$@mobspawnLH[.@i]),$@mobspawnLH[.@i],$@mobscountLH[.@i]*$@mobsloopcountLH[.@k];
    }
    for (set .@n,0; .@n<120; set .@n, .@n+1 ) {
    if (getmapusers("5@tower") == 1) goto L_LHOne;
    sleep 50;
    }
    }
    if (getmapusers("5@tower") == 1) goto L_LHOne;
    set .@indXY, rand(getarraysize($@mobsXspawnLH));
    monster "5@tower",$@mobsXspawnLH[.@indXY],$@mobsYspawnLH[.@indXY],strmobinfo(1,$@mvpLH),$@mvpLH,1;
    if (!getmapusers("5@tower")) goto L_LHLose;
    }
    L_LHOne:
    killmonsterall "5@tower";
    sleep 3000;
    if (!getmapusers("5@tower")) goto L_LHLose;
    mapwarp "5@tower","5@tower",83,83;
    sleep 3000;
    mapannounce "5@tower","А теперь сам повелитель зла!!!!",bc_map;
    mapannounce "5@tower","Одолей теперь ЕГО!!!!.....",bc_map;
    sleep 3000;
    set $@vtlLH, 1;
    monster "5@tower",81,83,"Великий Темный Лорд",1002,1,"lhmsg::OnVTLOnDie";
    initnpctimer "lhmsg";
    end;
    L_LHLose:
    killmonsterall "5@tower";
    announce "В евенте Последний Герой никто не выстоял!",8;
    mapwarp "5@tower","prontera",148,180;
    end;

    OnPCDieEvent:
    if (getmapxy(.@mapname$,.@mapx,.@mapy,0,strcharinfo(0)) == 0)
    if (.@mapname$ == "5@tower") {
    sleep2 2000;
    warp "prontera",148,180;
    }
    end;

    OnVTLOnDie:
    if (!$@vtlLH) end;
    mapannounce "5@tower","Ты выиграл эту БИТВУ!!!",bc_map;
    sleep2 2000;
    mapwarp "5@tower","5@tower",104,103;
    enablenpc "Судья LH";
    initnpctimer "Судья LH";
    stopnpctimer "lhmsg";
    end;

    OnTimer300000: //5 min
    set $@vtlLH, 0;
    mapannounce "5@tower", "Время на уничтожение Великого Темного Лорда истекло!",bc_map;
    killmonsterall "5@tower";
    mapwarp "5@tower","prontera",148,180;
    end;
    }

    5@tower,108,104,5 script Судья LH 811,{
    mes "Приветствую победитель!";
    mes "Я вручаю тебе заслуженный приз - "+.@in$+"!";
    next;
    menu "Давай его сюда!",-;
    announce "Победитель битвы Последний Герой - "+strcharinfo(0)+"! Получает приз - 2ТЦг!",8;
    getitem 7227,2; // !!!! Поставить нужный ИД
    warp "prontera",148,180;
    disablenpc "Судья LH";
    end;
    OnTimer300000: //5 min
    mapannounce "5@tower", "Время на получение приза истекло!",bc_map;
    mapwarp "5@tower","prontera",148,180;
    disablenpc "Судья LH";
    end;
    }

    // Включение автоэвента.

    force_1-3,181,109,5 script Last Hero 65,{
    if (getgmlevel() > 40) goto gm_menu;
    end;
    gm_menu:
    mes "[LH-Event]";
    mes "Гм, что пожелаете?";
    next;
    menu "Включить эвент",menu1,"Выключить эвент",menu2,"Ничего",m_end;
    menu1:
    announce "Евент Последний Герой активирован.",8;
    announce "У вас пять минут на регистрацию в Пронтере слева от центральной Кафры!",8;
    enablenpc "Последний Герой#ELH";
    donpcevent "lhmsg::OnENStart";
    close;
    menu2:
    disablenpc "Последний Герой#ELH";
    disablenpc "Судья LH";
    if (!$@playcount) set $@playcount, 75;
    cleararray $@mobspawnLH[0],0,getarraysize($@mobspawnLH);
    cleararray $@mobscountLH[0],0,getarraysize($@mobscountLH);
    cleararray $@mobsloopcountLH[0],0,getarraysize($@mobsloopcountLH);
    cleararray $@mobsXspawnLH[0],0,getarraysize($@mobsXspawnLH);
    cleararray $@mobsYspawnLH[0],0,getarraysize($@mobsYspawnLH);
    setarray $@mobspawnLH[0], 1191, 1208, 1374, 1295, 1307, 1302, 1366, 1920, 1921, 1922, 1923, 1924, 1925;
    setarray $@mobscountLH[0], 5, 5, 5, 2, 2, 1, 5, 1, 1, 1, 1, 1, 1;
    setarray $@mobsloopcountLH[0], 1, 2, 4, 8, 16, 32;
    setarray $@mobsXspawnLH[0], 71, 67, 68, 84, 89, 92, 90, 85, 90, 96, 87, 92, 104, 112, 104;
    setarray $@mobsYspawnLH[0], 69, 84, 95, 91, 84, 77, 71, 97, 97, 99, 107, 108, 104, 89, 93;
    set $@mvpLH, 1251;
    mes "[LH-Event]";
    mes "Эвент деактивирован";
    close;
    m_end:
    mes "[LH-Event]";
    mes "Как скажете Гм,я всегда к вашим услугам.";
    close;
    }

    // Авто включение эвента.

    - script EvLH -1,{
    end;
    OnClock1200:
    OnClock1600:
    OnClock2000:
    OnClock2300:
    enablenpc "Последний Герой#ELH";
    donpcevent "lhmsg::OnENStart";
    end;
    OnInit:
    disablenpc "Судья LH";
    disablenpc "Последний Герой#ELH";
    setarray $@mobspawnLH[0], 1191, 1208, 1374, 1295, 1307, 1302, 1366, 1920, 1921, 1922, 1923, 1924, 1925;
    setarray $@mobscountLH[0], 5, 5, 5, 2, 2, 1, 5, 1, 1, 1, 1, 1, 1;
    setarray $@mobsloopcountLH[0], 1, 2, 4, 8, 16, 32;
    setarray $@mobsXspawnLH[0], 71, 67, 68, 84, 89, 92, 90, 85, 90, 96, 87, 92, 104, 112, 104;
    setarray $@mobsYspawnLH[0], 69, 84, 95, 91, 84, 77, 71, 97, 97, 99, 107, 108, 104, 89, 93;
    set $@mvpLH, 1251;
    set $@playcount, 9;
    end;
    }

  5. На флешке нашел скрипты. Скрипт ~2008 года.


    /////////////////////////////////////////////////
    //////////////////////МАПЫ//////////////////////
    ///////////////////////////////////////////////

    guild_vs2.gat mapflag nosave SavePoint
    guild_vs2.gat mapflag noteleport
    guild_vs2.gat mapflag nowarp
    guild_vs2.gat mapflag nowarpto
    guild_vs2.gat mapflag nobranch
    guild_vs2.gat mapflag noicewall
    guild_vs2.gat mapflag noreturn
    guild_vs2.gat mapflag pvp off


    - script DontStart -1,{
    disablenpc "GH";
    end;

    }

    ////////////////////////////////////////////////////////////////////////////
    /////////////////////Event Warper "Охота на MVP"///////////////////////////
    //////////////////////////////////////////////////////////////////////////
    prontera.gat,155,92,5 script Event Warper::GH 811,{
    mes "[Event Warper]";
    mes "Приветствую тебя воин!";
    mes "Я могу тебя зарегистрировать в эвенте.";
    mes "Ты хочешь зарегестрироватся?";
    next;
    menu "Да!",-,"Нет!",L_no;
    if (getmapusers("guild_vs2.gat")>29) goto full;
    percentheal 100,100;
    warp "guild_vs2.gat",49,49;
    end;

    full:
    mes "[Event Warper]";
    mes "Извините, участие в охоте могут принять только 30 игроков";
    close;
    end;

    L_no:
    close;
    end;
    }

    //////////////////////////////////////////////////////////////////////////
    /////////////////////////////ОХОТА НА MVP////////////////////////////////
    ////////////////////////////////////////////////////////////////////////

    guild_vs2.gat,49,49,5 script GHunting0 -1,{

    OnTimer9000:
    mapannounce "guild_vs2.gat","На этом эвенте вам не придётся соперничать.",0;
    end;

    OnTime1r9000:
    mapannounce "guild_vs2.gat","Вам будет предоставлено 15 минут чтобы отбиться от 38-ми волн монстров",0;
    end;

    OnTime2r9000:
    mapannounce "guild_vs2.gat","Эвент начнётся через минуту!",0;
    end;

    //OnTime3r90000:
    OnTime3r9000:
    disablenpc "GH";
    mapannounce "guild_vs2.gat","Первая волна!Angeling!",0;
    initnpctimer "GHunting";
    monster "guild_vs2.gat",58,51,"Angeling",1096,10,"MobS::OnMobKilled";

    }

    guild_vs2.gat,49,49,5 script MobS -1,{


    OnMobKilled:
    mapannounce "guild_vs2.gat","Молодцы отбились![ 1 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Вторая волна!Develing! ",0;
    monster "guild_vs2.gat",58,51,"Deviling",1582,10,"MobS::OnDevKilled";
    end;

    OnDevKilled:
    mapannounce "guild_vs2.gat","Ну как вспотели? Ещё нет?![ 2 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Третяя волна! Arc Angeling! ",0;
    monster "guild_vs2.gat",58,51,"Archangeling",1388,10,"MobS::OnArcKilled";
    end;

    OnArcKilled:
    mapannounce "guild_vs2.gat","Размялись?![ 3 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Третья волна!Ghostring! ",0;
    monster "guild_vs2.gat",58,51,"Ghostring",1120,10,"MobS::OnGhoKilled";
    end;

    OnGhoKilled:
    mapannounce "guild_vs2.gat"," [ 4 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Четвёртая волна!Osiris! ",0;
    monster "guild_vs2.gat",58,51,"Osiris",1038,10,"MobS::OnOsiKilled";
    end;

    OnOsiKilled:
    mapannounce "guild_vs2.gat"," [ 5 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Пятая волна!Baphomet! ",0;
    monster "guild_vs2.gat",58,51,"Baphomet",1039,10,"MobS::OnBapKilled";
    end;

    OnBapKilled:
    mapannounce "guild_vs2.gat"," [ 6 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Шестая волна!Doppelganger! ",0;
    monster "guild_vs2.gat",58,51,"Doppelganger",1046,10,"MobS::OnDopKilled";
    end;

    OnDopKilled:
    mapannounce "guild_vs2.gat"," [ 7 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Седьмая волна!Mistress! ",0;
    monster "guild_vs2.gat",58,51,"Mistress",1059,10,"MobS::OnMisKilled";
    end;

    OnMisKilled:
    mapannounce "guild_vs2.gat"," [ 8 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Восьмая волна!Golden Thief Bug! ",0;
    monster "guild_vs2.gat",58,51,"Golden Thief Bug",1086,10,"MobS::OnGTBKilled";
    end;

    OnGTBKilled:
    mapannounce "guild_vs2.gat"," [ 9 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Девятая волна!Orc Hero! ",0;
    monster "guild_vs2.gat",58,51,"Orc Hero",1089,10,"MobS::OnOHKilled";
    end;

    OnOHKilled:
    mapannounce "guild_vs2.gat"," [ 10 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Десятая волна!Drake! ",0;
    monster "guild_vs2.gat",58,51,"Drake",1096,10,"MobS::OnDraKilled";
    end;

    OnDraKilled:
    mapannounce "guild_vs2.gat"," [ 11 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Одиннадцатая волна!Eddga! ",0;
    monster "guild_vs2.gat",58,51,"Eddga",1115,10,"MobS::OnEddKilled";
    end;

    OnEddKilled:
    mapannounce "guild_vs2.gat"," [ 12 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двенадцатая волна!Maya! ",0;
    monster "guild_vs2.gat",58,51,"Maya",1147,10,"MobS::OnMayKilled";
    end;

    OnMayKilled:
    mapannounce "guild_vs2.gat"," [ 13 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тринадцатая волна!Moonlight Flower! ",0;
    monster "guild_vs2.gat",58,51,"Moonlight Flower",1150,10,"MobS::OnMooKilled";
    end;

    OnMooKilled:
    mapannounce "guild_vs2.gat"," [ 14 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Четырнадцатая волна!Pharaoh! ",0;
    monster "guild_vs2.gat",58,51,"Pharaoh",1157,10,"MobS::OnPhaKilled";
    end;

    OnPhaKilled:
    mapannounce "guild_vs2.gat"," [ 15 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Пятнадцатая волна!Phreeoni! ",0;
    monster "guild_vs2.gat",58,51,"Phreeoni",1159,10,"MobS::OnPhrKilled";
    end;

    OnPhrKilled:
    mapannounce "guild_vs2.gat"," [ 16 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Шестнадцатая волна!Orc Lord! ",0;
    monster "guild_vs2.gat",58,51,"Orc Lord",1190,10,"MobS::OnOLKilled";
    end;

    OnOLKilled:
    mapannounce "guild_vs2.gat"," [ 17 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Семнадцатая волна!Stormy Knight! ",0;
    monster "guild_vs2.gat",58,51,"Stormy Knight",1251,10,"MobS::OnStoKilled";
    end;

    OnStoKilled:
    mapannounce "guild_vs2.gat"," [ 18 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Восемнадцатая волна!Garm! ",0;
    monster "guild_vs2.gat",58,51,"Garm",1252,10,"MobS::OnGarmKilled";
    end;

    OnGarmKilled:
    mapannounce "guild_vs2.gat"," [ 19 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Девяинадцатая волна!Dark Lord! ",0;
    monster "guild_vs2.gat",58,51,"Dark Lord",1272,10,"MobS::OnDLKilled";
    end;

    OnDLKilled:
    mapannounce "guild_vs2.gat"," [ 20 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцатая волна!Turtle General! ",0;
    monster "guild_vs2.gat",58,51,"Turtle General",1312,10,"MobS::OnTGKilled";
    end;

    OnTGKilled:
    mapannounce "guild_vs2.gat"," [ 21 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать первая волна!Lord of the Dead! ",0;
    monster "guild_vs2.gat",58,51,"Lord of the Dead",1373,10,"MobS::OnLodKilled";
    end;

    OnLodKilled:
    mapannounce "guild_vs2.gat"," [ 22 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать вторая волна!Dracula! ",0;
    monster "guild_vs2.gat",58,51,"Dracula",1389,10,"MobS::OnDraculaKilled";
    end;

    OnDraculaKilled:
    mapannounce "guild_vs2.gat"," [ 23 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать третяя волна!Evil Snake Lord! ",0;
    monster "guild_vs2.gat",58,51,"Evil Snake Lord",1418,10,"MobS::OnESLKilled";
    end;

    OnESLKilled:
    mapannounce "guild_vs2.gat"," [ 24 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать четвёртая волна!Samurai Specter! ",0;
    monster "guild_vs2.gat",58,51,"Samurai Specter",1492,10,"MobS::OnSSKilled";
    end;

    OnSSKilled:
    mapannounce "guild_vs2.gat"," [ 25 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать пятая волна!Amon Ra! ",0;
    monster "guild_vs2.gat",58,51,"Amon Ra",1511,10,"MobS::OnARKilled";
    end;

    OnARKilled:
    mapannounce "guild_vs2.gat"," [ 26 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать шестая волна!Tao Gunka! ",0;
    monster "guild_vs2.gat",58,51,"Tao Gunka",1583,10,"MobS::OnTaoKilled";
    end;

    OnTaoKilled:
    mapannounce "guild_vs2.gat"," [ 27 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать седьмая волна!RSX-0806! ",0;
    monster "guild_vs2.gat",58,51,"RSX-0806",1623,10,"MobS::OnRSXKilled";
    end;

    OnRSXKilled:
    mapannounce "guild_vs2.gat"," [ 28 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать восьмая волна!White Lady! ",0;
    monster "guild_vs2.gat",58,51,"White Lady",1630,10,"MobS::OnWLKilled";
    end;

    OnWLKilled:
    mapannounce "guild_vs2.gat"," [ 29 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Двадцать девятая волна!Egnigem Cenia! ",0;
    monster "guild_vs2.gat",58,51,"Egnigem Cenia",1658,10,"MobS::OnECKilled";
    end;

    OnECKilled:
    mapannounce "guild_vs2.gat"," [ 30 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцатая волна!Vesper! ",0;
    monster "guild_vs2.gat",58,51,"Vesper",1685,10,"MobS::OnVesKilled";
    end;

    OnVesKilled:
    mapannounce "guild_vs2.gat"," [ 31 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцать первая волна!Lady Tanee! ",0;
    monster "guild_vs2.gat",58,51,"Lady Tanee",1688,10,"MobS::OnLTKilled";
    end;

    OnLTKilled:
    mapannounce "guild_vs2.gat"," [ 32 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцать вторая волна!Thanatos Phantom! ",0;
    monster "guild_vs2.gat",58,51,"Thanatos Phantom",1708,10,"MobS::OnTPKilled";
    end;

    OnTPKilled:
    mapannounce "guild_vs2.gat"," [ 33 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцать третяя волна!Detardeurus! ",0;
    monster "guild_vs2.gat",58,51,"Detardeurus",1719,10,"MobS::OnDetKilled";
    end;

    OnDetKilled:
    mapannounce "guild_vs2.gat"," [ 34 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцать четвёртая волна!Kiel D-01! ",0;
    monster "guild_vs2.gat",58,51,"Kiel D-01",1734,10,"MobS::OnKielKilled";
    end;

    OnKielKilled:
    mapannounce "guild_vs2.gat"," [ 35 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцать пятая волна!Valkyrie Randgris! ",0;
    monster "guild_vs2.gat",58,51,"Valkyrie Randgris",1751,10,"MobS::OnVRKilled";
    end;

    OnVRKilled:
    mapannounce "guild_vs2.gat"," [ 36 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцать шестая волна!Gloom Under Night! ",0;
    monster "guild_vs2.gat",58,51,"Gloom Under Night",1768,10,"MobS::OnGUNKilled";
    end;

    OnGUNKilled:
    mapannounce "guild_vs2.gat"," [ 37 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцать седьмая волна!Ktullanux! ",0;
    monster "guild_vs2.gat",58,51,"Ktullanux",1779,10,"MobS::OnKtuKilled";
    end;

    OnKtuKilled:
    mapannounce "guild_vs2.gat","Понравилось?![ 38 / 38 ] ",0;
    mapannounce "guild_vs2.gat","Тридцать восьмая волна!Atros! ",0;
    monster "guild_vs2.gat",58,51,"Atros",1785,10,"MobS::OnGHEND";
    end;

    OnGHEND:
    mapannounce "guild_vs2.gat","Тридцать восьмая волна пройдена![ 38 / 38 ] ",0;
    announce "Эвент удался на славу,не один монстр не выжил!",0;
    initnpctimer "GHWin";
    stopnpctimer "GHunting";
    end;

    }

    guild_vs2.gat,49,49,5 script GHWin -1,{

    OnTimer5000:
    mapwarp "guild_vs2.gat","prontera.gat",156,191;
    end;

    }

    guild_vs2.gat,49,49,5 script GHunting -1,{

    OnTimer300000:
    announce "На этот раз победа за монстрами!",0;
    mapwarp "guild_vs2.gat","prontera.gat",156,191;
    killmonsterall "guild_vs2.gat";
    end;
    }



    ////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////Eventer включение///////////////////////////
    //////////////////////////////////////////////////////////////////////////////
    force_1-3.gat,179,109,5 script MVP Hunting 725,{
    if (getgmlevel() > 29) goto s_gmmenu;
    mes "[Super Event]";
    mes " "+strcharinfo(0)+" Жди информации о начале эвентов";
    close;


    s_gmmenu:
    mes "[Eventer]";
    mes "Здравствуйте мастер! Что пожелаете?";
    menu "Включить эвент",M1,"Выключить эвент",M2,"Ничего",M_end;
    close;

    M1:
    announce "Event Warper : эвент активирован.",8;
    disablenpc "GH";
    enablenpc "GH";
    initnpctimer "GHunting0";
    mes "[Eventer]";
    mes "Эвент NPc активирован";
    close;


    M2:
    disablenpc "GH";
    mes "[Eventer]";
    mes "Эвент NPC деактивирован";
    close;


    M_end:
    mes "[Eventer]";
    mes "Как скажете мастер, я всегда к вашим услугам";
    close;

    }

  6. Нашел на флешке старые скрипты, скрипт 2008года

    //====eAthena Script
    //Create by poiuty на примере эвента Shadow.
    //====Version:
    //v.1.0
    //==================

    //Map one(первая мапа,где собираются на эвент)

    force_1-3 mapflag pvp off
    force_1-3 mapflag noicewall
    force_1-3 mapflag noloot
    force_1-3 mapflag nomemo
    force_1-3 mapflag noteleport
    force_1-3 mapflag nowarp
    force_1-3 mapflag nobranch
    force_1-3 mapflag nosave
    force_1-3 mapflag nochat
    force_1-3 mapflag novending
    force_1-3 mapflag nogo
    force_1-3 mapflag nodrop

    //Map two(вторая мапа где происходит эвент)

    force_2-3 mapflag pvp on
    force_2-3 mapflag pvp_noguild
    force_2-3 mapflag pvp_noparty
    force_2-3 mapflag nowarp
    force_2-3 mapflag noteleport
    force_2-3 mapflag nosave
    force_2-3 mapflag noreturn
    force_2-3 mapflag nomemo
    force_2-3 mapflag noloot
    force_2-3 mapflag noicewall
    force_2-3 mapflag nobranch
    force_1-3 mapflag nochat
    force_1-3 mapflag novending
    force_1-3 mapflag nogo
    force_1-3 mapflag nodrop

    prontera,155,94,6 script Маски-Шоу 811,{
    mes "[Маски-Шоу]";
    mes "Привет! Хочешь принять участие";
    mes "в эвенте Маски-Шоу с супер призом?";
    mes "Но ты должен быть новисом или";
    mes "хай новисом первого левла.";
    next;
    mes "[Маски-Шоу]";
    // mes "При тебе обязательно должено быть";
    // mes "оружие ^FF0000Knife[3]^000000 и одета"; // 1201
    // mes "маска ^FF0000Oxygen Mask^000000."; // 5004
    // mes "Без этого не впускаем! Лишнего не брать!";
    next;
    mes "[Маски-Шоу]";
    if (BaseLevel > 1){
    mes "Извини, но участие могут принять только новисы первого уровня.";
    close;
    }
    if (getmapusers("force_1-3") >= $@noviscount){
    mes "Извини, участие в эвенте могут принять только "+$@noviscount+" игроков";
    close;
    }
    // if ((!isequipped(1201, 2301)) || getequipcardcnt(4)){
    // mes "Извини, но ты одет не по форме!";
    // close;
    // }
    if ((Weight/10)>60){
    mes "Извини, но ты несешь с собой что то лишнее! А это - запрещено!";
    close;
    }
    mes "Ты хочешь попасть на эвент?";
    next;
    switch (select("Да!","Нет!")){
    case 1:
    percentheal 100,100;
    savepoint "prontera",155,95;
    warp "force_1-3",69,19;
    break;
    case 2:
    mes "[Маски-Шоу]";
    mes "Надумаете, приходите на следующий эвент.";
    close;
    }
    }

    force_1-3,69,19,5 script Event Noobs MSG -1,{
    OnENStart:
    sleep 60000 * 5; // 5 Мин на сборы
    disablenpc "Маски-Шоу";
    if (getmapusers("force_1-3")<($@noviscount/50)){
    mapannounce "force_1-3","На эвевент не собралось должного количества людей.",bc_map;
    mapannounce "force_1-3","Эвент отменяется.",bc_map;
    mapwarp "force_1-3","prontera",155,95;
    end;
    }
    mapannounce "force_1-3","На этом эвенте вам будет вызвано "+$@mobspawncount+" порингов.",bc_map;
    sleep 5000;
    mapannounce "force_1-3","На них вы должны прокачаться по максимуму.",bc_map;
    sleep 5000;
    mapannounce "force_1-3","Сейчас ваша задача убить как можно больше порингов!",bc_map;
    sleep 5000;
    mapannounce "force_1-3","Потом у вас будет 30 секунд на распеределение статов.",bc_map;
    sleep 5000;
    mapannounce "force_1-3","Далее начнется жестокое новис рубилово без правил!",bc_map;
    sleep 5000;
    mapannounce "force_1-3","Эвент начнется через минуту.",bc_map;
    sleep 60000;
    mapannounce "force_1-3","Поринги запущены!!!",bc_map;
    set $@mobcount, $@mobspawncount;
    monster "force_1-3",61,20,"Раскачай себя, братишка!",1002,$@mobspawncount,"Event Noobs MSG::OnKillMobs";
    set .@mincounter,0;
    while(1) {
    if ($@mobcount){
    mapannounce "force_1-3", "Мочи их, братва, кач идет!",bc_map;
    if (.@mincounter == 4) { // 2 min = 30 sec * 4 times
    mapannounce "force_1-3", "Вы не смогли их замочить за 2 мин!! Все на выход!!",bc_map;
    killmonsterall "force_1-3";
    sleep 3000;
    mapwarp "force_1-3","prontera",155,95;
    end;
    }
    sleep 30000; // 30 sek
    set .@mincounter,.@mincounter+1;
    }else{
    mapannounce "force_1-3", "Вы их сделали!! Молодцы! Распределяйте статы! 30 сек пошло!",bc_map;
    break;
    }
    }
    sleep 30000;
    mapwarp "force_1-3","force_2-3",69,19;
    sleep 5000;
    mapannounce "force_2-3","Начинаем мясо-новисо-рубилово без правил!",bc_map;
    set .@mincounter,0;
    while(1) {
    if (getmapusers("force_2-3")==1){
    mapannounce "force_2-3", "Битва закончена! У нас есть победитель!",bc_map;
    mapannounce "force_2-3", "Победитель, у тебя есть 5 минут для получения подарка!",bc_map;
    enablenpc "Судья";
    initnpctimer "Судья";
    break;
    }
    if (getmapusers("force_2-3")==0){
    mapannounce "force_2-3", "Битва закончена! У нас нету победителя!",bc_map;
    break;
    }
    mapannounce "force_2-3",getmapusers("force_2-3") + " людей живы, но вживых должен остаться только один!",bc_map;
    if (.@mincounter == 40) { // 20 min = 30 sec * 40 times
    mapannounce "force_2-3", "Никто из вас не справился за 20 мин!! Все на выход!!",bc_map;
    killmonsterall "force_2-3";
    sleep 3000;
    mapwarp "force_2-3","prontera",155,95;
    break;
    }
    sleep 30000;
    set .@mincounter,.@mincounter+1;
    }
    end;

    OnKillMobs:
    set $@mobcount, $@mobcount - 1;
    end;
    OnPCDieEvent:
    if (getmapxy(.@mapname$,.@mapx,.@mapy,0,strcharinfo(0)) == 0)
    if (.@mapname$ == "force_2-3") {
    sleep2 2000;
    warp "prontera",155,95;
    }
    end;
    }

    force_2-3,69,19,5 script Судья 811,{
    switch (rand(2)) {
    case 0:
    set .@in$, "Бронзовые монетки";
    set .@iid, 673;
    break;
    case 1:
    set .@in$, "Серебрянные монетки";
    set .@iid, 675;
    break;
    case 2:
    set .@in$, "Золотые монетки";
    set .@iid, 671;
    break;
    }
    mes "Приветствую победитель!";
    mes "Я вручаю тебе заслуженный приз - "+.@in$+"!";
    next;
    menu "Давай его сюда!",-;
    announce "Победитель битвы новисов - "+strcharinfo(0)+"! Получает приз - "+.@in$+"!",8;
    getitem .@iid,3;
    warp "prontera",139,179;
    disablenpc "Судья";
    end;
    OnTimer300000: //5 min
    mapannounce "force_2-3", "Время на получение приза истекло!",bc_map;
    mapwarp "force_2-3","prontera",139,179;
    disablenpc "Судья";
    end;
    }

    // Включение автоэвента.

    prt_in,228,27,5 script Noob-Event 735,{
    if (getgmlevel() > 40) goto gm_menu;
    end;
    gm_menu:
    mes "[Noob-Event]";
    mes "Гм, что пожелаете?";
    next;
    menu "Включить эвент",menu1,"Выключить эвент",menu2,"Ничего",m_end;
    menu1:
    announce "Маски-Шоу! Эвент для новисов активирован.",8;
    announce "У вас пять минут на регистрацию в Пронтере справа от нижней Кафры!",8;
    enablenpc "Маски-Шоу";
    donpcevent "Event Noobs MSG::OnENStart";
    close;
    menu2:
    disablenpc "Маски-Шоу";
    disablenpc "Судья";
    if (!$@mobspawncount) set $@mobspawncount, 100;
    if (!$@noviscount) set $@noviscount, 100;
    mes "[Noob-Event]";
    mes "Эвент деактивирован";
    close;
    m_end:
    mes "[Noob-Event]";
    mes "Как скажете Гм,я всегда к вашим услугам.";
    close;
    }

    // Авто включение эвента.

    - script Noob -1,{
    OnClock1000:
    OnClock1600:
    OnClock2300:
    //Понедльник.
    if((gettime(4)==1) && (gettime(3)==10)) goto L_Start;
    if((gettime(4)==1) && (gettime(3)==16)) goto L_Start;
    if((gettime(4)==1) && (gettime(3)==23)) goto L_Start;
    //Вторник.
    if((gettime(4)==2) && (gettime(3)==10)) goto L_Start;
    if((gettime(4)==2) && (gettime(3)==16)) goto L_Start;
    if((gettime(4)==2) && (gettime(3)==23)) goto L_Start;
    //Среда.
    if((gettime(4)==3) && (gettime(3)==10)) goto L_Start;
    if((gettime(4)==3) && (gettime(3)==16)) goto L_Start;
    if((gettime(4)==3) && (gettime(3)==23)) goto L_Start;
    //Четверг.
    if((gettime(4)==4) && (gettime(3)==10)) goto L_Start;
    if((gettime(4)==4) && (gettime(3)==16)) goto L_Start;
    if((gettime(4)==4) && (gettime(3)==23)) goto L_Start;
    //Пятница.
    if((gettime(4)==5) && (gettime(3)==10)) goto L_Start;
    if((gettime(4)==5) && (gettime(3)==16)) goto L_Start;
    if((gettime(4)==5) && (gettime(3)==23)) goto L_Start;
    //Суббота.
    if((gettime(4)==6) && (gettime(3)==10)) goto L_Start;
    if((gettime(4)==6) && (gettime(3)==16)) goto L_Start;
    if((gettime(4)==6) && (gettime(3)==23)) goto L_Start;
    //Воскресение.
    if((gettime(4)==7) && (gettime(3)==10)) goto L_Start;
    if((gettime(4)==7) && (gettime(3)==16)) goto L_Start;
    if((gettime(4)==7) && (gettime(3)==23)) goto L_Start;
    end;
    L_Start:
    announce "Маски-Шоу! Эвент для новисов активирован.",8;
    announce "У вас пять минут на регистрацию в Пронтере слева от центральной Кафры!",8;
    enablenpc "Маски-Шоу";
    donpcevent "Event Noobs MSG::OnENStart";
    end;
    OnInit:
    disablenpc "Судья";
    disablenpc "Маски-Шоу";
    set $@mobspawncount, 100;
    set $@noviscount, 100;
    end;
    }

  7. Нашел на флешке старые скрипты, автоэвент ~2008 год.


    pvp_n_1-3 mapflag pvp
    pvp_n_1-3 mapflag nomemo
    pvp_n_1-3 mapflag nodrop
    pvp_n_1-3 mapflag noreturn
    prontera,159,182,6 script Пати 5 PVP 65,{
    mes "[Организатор]";
    mes "Привет! Хочешь принять участие";
    mes "в поединке между пати";
    mes "с супер призом?";
    next;
    mes "[Организатор]";
    mes "Это сражение пати против";
    mes "пати! Может участвовать до";
    mes "пяти команд. Победит та пати,";
    mes "что выстоит с наибольшим количеством,";
    mes "участников в итоге.";
    next;
    mes "[Организатор]";
    mes "Время сражения - 13 минут.";
    mes "Ты должен быть лидером пати не менее чем";
    mes $@pmincount+ " человек чтобы зарегистрировать";
    mes "свою команду на поединок.";
    mes "Регистрируемся?";
    next;
    mes "[Организатор]";
    if (!getcharid(1)){
    mes "Извини, но ты должен быть";
    mes "в пати для регистрации.";
    close;
    }
    if (getpartyleader(getcharid(1), 2) != getcharid(0)){
    mes "Извини, но ты должен быть";
    mes "лидером пати для регистрации.";
    close;
    }
    if ($@partycount == 4){
    mes "Извини, ты опоздал, участники поединка уже набраны.";
    close;
    }
    getpartymember(getcharid(1),2);
    if (getarraysize($@partymemberaid) < $@pmincount){
    mes "Извини, но в пати должно быть";
    mes "не менее "+$@pmincount+" человек,";
    mes "включая лидера.";
    close;
    }
    mes "Ты хочешь со своей пати отправится на поединок?";
    next;
    switch (select("Да!","Нет!")){
    case 1:
    setarray $@plead$[$@partycount], strcharinfo(0);
    setarray $@pid[$@partycount], getcharid(1);
    for(set .@i, 0; .@i < getarraysize($@partymemberaid); set .@i, .@i + 1){
    attachrid getelementofarray($@partymemberaid, .@i);
    pcblockmove 0,1;
    switch ($@partycount){
    case 0:
    warp "pvp_n_1-3",58,98;
    break;
    case 1:
    warp "pvp_n_1-3",99,60;
    break;
    case 2:
    warp "pvp_n_1-3",141,98;
    break;
    case 3:
    warp "pvp_n_1-3",100,140;
    break;
    case 4:
    warp "pvp_n_1-3",99,96;
    break;
    }
    savepoint "prontera",159,186;
    detachrid;
    }
    set $@partycount, $@partycount + 1;
    break;
    case 2:
    mes "[Организатор]";
    mes "Надумаете, приходите на следующий поединок.";
    close;
    }
    }

    pvp_n_1-3,0,0,5 script PVP 5 MSG -1,{
    OnENStart:
    if (!$@pmincount) set $@pmincount, 3;
    enablenpc "Пати 5 PVP";
    sleep 20000 * 5; // 5 Мин на сборы
    disablenpc "Пати 5 PVP";
    if (($@partycount < 2) || (getmapusers("pvp_n_1-3") < 6)){
    mapannounce "pvp_n_1-3","На эвевент не собралось должного количества людей.",bc_map;
    mapannounce "pvp_n_1-3","Эвент отменяется.",bc_map;
    mapwarp "pvp_n_1-3","prontera",159,186;
    end;
    }
    mapannounce "pvp_n_1-3", "Это эвент Пати на Пати!",bc_map;
    sleep 5000;
    mapannounce "pvp_n_1-3", "Добро пожаловать!",bc_map;
    sleep 5000;
    mapannounce "pvp_n_1-3", "Здесь нет правил!",bc_map;
    sleep 5000;
    mapannounce "pvp_n_1-3", "Но главное выстоять!",bc_map;
    sleep 5000;
    mapannounce "pvp_n_1-3", "И тогда все члены вашей пати получат приз!",bc_map;
    sleep 5000;
    mapannounce "pvp_n_1-3", "Через 30 сек начало!Готовьтесь!",bc_map;
    sleep 30000;
    mapannounce "pvp_n_1-3","Поехали!",bc_map;

    for (set .@i,0; .@i<getarraysize($@plead$); set .@i, .@i+1 ) {
    if (getmapxy(.@mapname$,.@mapx,.@mapy,0,$@plead$[.@i]) == 0)
    if (.@mapname$ == "pvp_n_1-3") {
    set .@partyid, getcharid(1, $@plead$[.@i]);
    getpartymember(.@partyid,2);
    for (set .@k,0; .@k<getarraysize($@partymemberaid); set .@k, .@k+1 ) {
    attachrid getelementofarray($@partymemberaid, .@k);
    pcblockmove 0,0;
    detachrid;
    }
    }
    }

    for (set .@t,0; .@t<51; set .@t, .@t+1 ) {
    sleep 15000;
    cleararray .@memc[0],0,getarraysize(.@memc);
    for (set .@i,0; .@i<getarraysize($@pid); set .@i, .@i+1 ) {
    getpartymember($@pid[.@i]);
    set .@memb, 0;
    for (set .@k,0; .@k<getarraysize($@partymembername$); set .@k, .@k+1 ) {
    if (getmapxy(.@mapname$,.@mapx,.@mapy,0,$@partymembername$[.@k]) == 0)
    if (.@mapname$ == "pvp_n_1-3")
    set .@memb, .@memb + 1;
    }
    setarray .@memc[.@i], .@memb;
    }
    debugmes "Период боя => "+.@t;
    debugmes "Живых партий => "+getarraysize(.@memc);
    if (!getarraysize(.@memc)) goto L_P5Lose;
    if (getarraysize(.@memc) == 1) goto L_P5One;
    }
    sleep 15000;
    if (getarraysize(.@memc) == 1)
    goto L_P5One;
    else
    goto L_P5Lose;
    L_P5One:
    announce "В битве 5 Party VS Party есть пати-победитель! Каждый из пати получает приз - 1ТЦг!",8;
    sleep 2000;
    enablenpc "Судья P5P";
    initnpctimer "Судья P5P";
    mapwarp "pvp_n_1-3","pvp_n_1-3",99,92;
    end;
    L_P5Lose:
    announce "В битве 5 Party VS Party никто не победил!",8;
    mapwarp "pvp_n_1-3","prontera",159,186;
    end;
    OnPCDieEvent:
    if (getmapxy(.@mapname$,.@mapx,.@mapy,0,strcharinfo(0)) == 0)
    if (.@mapname$ == "pvp_n_1-3") {
    sleep2 2000;
    warp "prontera",159,186;
    }
    end;
    }

    pvp_n_1-3,99,96,5 script Судья P5P 811,{
    mes "Приветствую победитель!";
    mes "Я вручаю тебе заслуженный приз - 1ТЦг!";
    next;
    menu "Давай его сюда!",-;
    getitem 7227,1;
    warp "prontera",159,186;
    end;
    OnTimer300000: //5 min
    mapannounce "pvp_n_1-3", "Время на получение приза истекло!",bc_map;
    mapwarp "pvp_n_1-3","prontera",159,186;
    disablenpc "Судья P5P";
    end;
    }

    // Включение автоэвента.

    force_1-3,175,109,5 script Party VS Party 728,{
    if (getgmlevel() > 40) goto gm_menu;
    end;
    gm_menu:
    mes "[P5P-Event]";
    mes "Гм, что пожелаете?";
    next;
    menu "Включить эвент",menu1,"Выключить эвент",menu2,"Ничего",m_end;
    menu1:
    announce "Евент поединок партий активирован.",8;
    announce "У вас пять минут на регистрацию в Пронтере справа от центральной Кафры!",8;
    donpcevent "PVP 5 MSG::OnENStart";
    set $@partycount, 0;
    deletearray $@plead$, getarraysize($@plead$);
    deletearray $@pid, getarraysize($@pid);
    close;
    menu2:
    disablenpc "Пати 5 PVP";
    disablenpc "Судья P5P";
    mes "[P5P-Event]";
    mes "Эвент деактивирован";
    close;
    m_end:
    mes "[P5P-Event]";
    mes "Как скажете Гм,я всегда к вашим услугам.";
    close;
    }

    // Авто включение эвента.

    - script P5P -1,{
    end;
    OnClock2300:
    donpcevent "PVP 5 MSG::OnENStart";
    set $@partycount, 0;
    deletearray $@plead$, getarraysize($@plead$);
    deletearray $@pid, getarraysize($@pid);
    announce "Евент поединок партий активирован.",8;
    announce "У вас пять минут на регистрацию в Пронтере справа от центральной Кафры!",8;
    end;
    OnInit:
    disablenpc "Судья P5P";
    disablenpc "Пати 5 PVP";
    set $@partycount, 0;
    set $@pmincount, 1;
    end;
    }

    • Upvote 2
  8. Бесплатную раздачу VPS закончили.

    Ren, VPS тарифы от 280 рублей и до 1500 рублей. Входящий трафик - анлим. На исходящий трафик есть некоторые ограничения.

    *Athena за месяц использует очень мало трафика, максимум 100Гб. Если Point blank и Perfect world -> будет использовать в 10 раз больше это ~ 1Тб. Такое кол-во трафика доступно на любом тарифе.

    Несколько тарифов на выбор

    VPS SSD1 - 280руб

    Процессор (МГц): 2000

    Оперативная память (Мб): 1024

    Диск SSD (Гб): 8

    Выделенный IP-адрес: 1

    VPS SSD3 - 450руб

    Процессор (МГц): 2800

    Оперативная память (Мб): 2048

    Диск SSD (Гб): 12

    Выделенный IP-адрес: 1

    VPS SSD5 - 700руб

    Процессор (МГц): 3400

    Оперативная память (Мб): 3072

    Диск SSD (Гб): 20

    Выделенный IP-адрес: 1

    VPS SSD7 - 1200руб

    Процессор (МГц): 3х3400

    Оперативная память (Мб): 5300

    Диск SSD (Гб): 35

    Выделенный IP-адрес: 1

    • Upvote 3
  9. Если ты хочешь быть "тимлидом" - тогда должен точно знать "что", "зачем" и "почему" -> ты делаешь.

    Если нет, тогда лучше присоединится к другим проектам и участвовать в разработке. Тем более, что тебе это интересно.

    botka4aet, верно написал. Скорее всего, игроки будут "тянуть одеяло" на себя. И советовать/ требовать ввести то, что даст им преимущество в игре.

    интерес в разработке

    Лучше больше времени уделить рекламе. Чем кодить то, что мало игроков увидит.

    • Upvote 2
  10. e6b4817d475bd7e66d4c0ac7303e.png

    mysql online - показывает онлайн "из базы", живые + мерчи

    SELECT COUNT(*) as total FROM `char` WHERE online = 1;

    netstat online (map server) - это количество активных соединений (мап сервер), показывает реальный онлайн, без мерчей и т.д.

    netstat -n | grep "ESTABLISHED" | grep ":5121" | awk '{print ($1);}' | uniq -c | awk '{print ($1);}'

    Аналогично с netstat char & login


    #!/bin/sh
    # Athena online, munin plugin by poiuty

    EA_SERV='/server/conf'

    if [ "$1" = "config" ]; then
    echo 'graph_title Athena Online Users'
    echo 'graph_args --base 1000'
    echo 'graph_category Athena'
    echo 'graph_info This graph shows the *Athena server online users.'

    echo 'graph_vlabel online'
    echo 'athena_mysql.label mysql online'
    echo 'athena_mysql.info MySQL online stats'

    echo 'athena_netstat_map.label netstat online (map server)'
    echo 'athena_netstat_map.info NETSTAT online stats'

    echo 'athena_netstat_char.label netstat char server'
    echo 'athena_netstat_char.info NETSTAT char server'

    echo 'athena_netstat_login.label netstat login server'
    echo 'athena_netstat_login.info NETSTAT login server'

    exit 0
    fi


    LOGIN=$(cat $EA_SERV/inter_athena.conf | grep 'char_server_id:' | sed 's/char_server_id: //g')
    PASSWD=$(cat $EA_SERV/inter_athena.conf | grep 'char_server_pw:' | sed 's/char_server_pw: //g')
    DB=$(cat $EA_SERV/inter_athena.conf | grep 'char_server_db:' | sed 's/char_server_db: //g')


    echo 'SELECT COUNT(*) as total FROM `char` WHERE online = 1;' | mysql $DB -u$LOGIN -p$PASSWD | sed ':a;N;$!ba;s/\n/ /g' | sed s/[^0-9]//g | xargs -r printf "athena_mysql.value %s\n"
    netstat -n | grep "ESTABLISHED" | grep ":5121" | awk '{print ($1);}' | uniq -c | awk '{print ($1);}' | xargs -r printf "athena_netstat_map.value %s\n"
    netstat -n | grep "ESTABLISHED" | grep ":6121" | awk '{print ($1);}' | uniq -c | awk '{print ($1);}' | xargs -r printf "athena_netstat_char.value %s\n"
    netstat -n | grep "ESTABLISHED" | grep ":6900" | awk '{print ($1);}' | uniq -c | awk '{print ($1);}' | xargs -r printf "athena_netstat_login.value %s\n"

    • Upvote 4
  11. Всем цензуры и побольше. Яндекс ничего не смог.

    Сегодня законопроект прошёл второе и третье чтение в Думе. Его окончательная версия ещё хуже, чем промежуточные. Все поправки интернет-отрасли, которые могли бы добавить в механизм регулирования немного здравого смысла, были полностью проигнорированы...

    http://habrahabr.ru/...ex/blog/184182/

    Обсуждаем

  12. htop показывает одно значение, якобы верное, но все же. А другие утилиты - другое. Странно, беда.

    Пояснение на счет htop, он показывает кеш другим цветом и не учитывает его в общий RAM(числом показывает только USED без ++ кеш и буферы).

    Если приложениям нужно больше оперативки, они без проблем забирают ее себе, но в этом случае под файловый кеш и буферы останется меньше.

    9260dcc0765c0f554c9ce1a2d36c.png

    Cache - используется для операций чтения

    Buffers - для записи

  13. finalgon, никто ничего после ребута не выставляет. Что же вы раньше это не проверили?

    На всех VPS

    # ulimit

    unlimited

    В настройках контейнера - две строчки.

    # UBC parameters (in form of barrier:limit)

    PHYSPAGES="0:512M"

    SWAPPAGES="0:0"

    Читайте до конца, на хабре рассказывают про другое.

    Написал ulimit -s 1024 в /etc/init.d/rc ближе к верху. Перезагрузился. Потребление памяти на VPS упало более чем вдвое, стало около 100М.

    Сколько заявлено - столько у вас и есть RAM.

    108f045f9d31374b76ce1499a469.png

    Теперь еще пример на счет cached memory, из munin на выделенном сервере на обычном ядре. Откройте для себя, что Linux использует оперативку под файловый кеш.

    0d9e5d817a07ce710fd83c96320a.png

    На счет, MySQL который ест 10мб - это откровенное вранье. С тем, конфигом, который сейчас MySQL под нагрузкой может теоретически использовать 597Mb -> за счет буферов и возможных 151 коннектов.

    [--] Up for: 5h 38m 12s (1K q [0.093 qps], 102 conn, TX: 149K, RX: 154K)

    [--] Reads / Writes: 12% / 88%

    [--] Total buffers: 192.0M global + 2.7M per thread (151 max threads)

    [!!] Maximum possible memory usage: 597.8M (116% of installed RAM)

    [OK] Slow queries: 0% (0/1K)

    [OK] Highest usage of available connections: 4% (7/151)

    [OK] Key buffer size / total MyISAM indexes: 16.0M/172.0K

    [OK] Key buffer hit rate: 100.0% (6K cached / 3 reads)

    [!!] Query cache efficiency: 0.0% (0 cached / 223 selects)

    [OK] Query cache prunes per day: 0

    [OK] Temporary tables created on disk: 19% (54 on disk / 273 total)

    [OK] Thread cache hit rate: 93% (7 created / 102 connections)

    [OK] Table cache hit rate: 24% (96 open / 391 opened)

    [OK] Open file limit used: 15% (156/1K)

    [OK] Table locks acquired immediately: 100% (1K immediate / 1K locks)

    [OK] InnoDB data size / buffer pool: 16.0K/128.0M

    Nginx и в особенности php-fpm - используют мало ресурсов, когда ничего не делают. PHP-FPM так же нужна память как и *Athena.

    allow memory - это вприницпе *сколько оперативки сможет использовать один процесс php-fpm*

    Еще есть какие-то адекватные аргументы против OpenVZ?

    • Upvote 1
×
×
  • Создать...
Яндекс.Метрика