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

poiuty

Donators
  • Постов

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

  • Посещение

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

    14

Весь контент poiuty

  1. poiuty

    PVP arena

    //======================================================// //===- 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; } }
  2. poiuty

    pvprating

    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. if ((Weight/10)>60){ mes "Извини, но ты несешь с собой что то лишнее! А это - запрещено!"; close; } если пронесешь
  5. poiuty

    [Autoevent] mobs

    Скрипт ~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; }
  6. poiuty

    [Autoevent] mvp

    На флешке нашел скрипты. Скрипт ~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; }
  7. poiuty

    [Autoevent] novice dm

    Нашел на флешке старые скрипты, скрипт 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; }
  8. poiuty

    [Autoevent] party vs party

    Нашел на флешке старые скрипты, автоэвент ~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; }
  9. http://rathena.org/board/topic/53447-how-to-enable-crashcore-dumps-in-your-server-linux/
  10. Бесплатную раздачу VPS закончили. Ren, VPS тарифы от 280 рублей и до 1500 рублей. Входящий трафик - анлим. На исходящий трафик есть некоторые ограничения. *Athena за месяц использует очень мало трафика, максимум 100Гб. Если Point blank и Perfect world -> будет использовать в 10 раз больше это ~ 1Тб. Такое кол-во трафика доступно на любом тарифе. Несколько тарифов на выбор VPS SSD1 - 280руб VPS SSD3 - 450руб VPS SSD5 - 700руб VPS SSD7 - 1200руб
  11. Промо код можно ввести после регистрации - на странице заказа https://lepus.su/order-shared.html
  12. Мб веселые видео обзоры делать? Они больше привлекут внимания.
  13. Если ты хочешь быть "тимлидом" - тогда должен точно знать "что", "зачем" и "почему" -> ты делаешь. Если нет, тогда лучше присоединится к другим проектам и участвовать в разработке. Тем более, что тебе это интересно. botka4aet, верно написал. Скорее всего, игроки будут "тянуть одеяло" на себя. И советовать/ требовать ввести то, что даст им преимущество в игре. Лучше больше времени уделить рекламе. Чем кодить то, что мало игроков увидит.
  14. Хабр предлагает, например http://habrahabr.ru/post/185554/
  15. Идея без реализации - ничего не стоит. Начни, со временем, возможно, соберешь команду. Или забудешь по свою идею.
  16. mysql_query("SET NAMES cp1251") например
  17. poiuty

    RAthena vs Hercules.

    В Hercules - бекпортят из rathena?
  18. 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"
  19. Всем цензуры и побольше. Яндекс ничего не смог. Сегодня законопроект прошёл второе и третье чтение в Думе. Его окончательная версия ещё хуже, чем промежуточные. Все поправки интернет-отрасли, которые могли бы добавить в механизм регулирования немного здравого смысла, были полностью проигнорированы... http://habrahabr.ru/...ex/blog/184182/ Обсуждаем
  20. Долг вернул в полном обьеме.
  21. Пояснение на счет htop, он показывает кеш другим цветом и не учитывает его в общий RAM(числом показывает только USED без ++ кеш и буферы). Если приложениям нужно больше оперативки, они без проблем забирают ее себе, но в этом случае под файловый кеш и буферы останется меньше. Cache - используется для операций чтения Buffers - для записи
  22. finalgon, никто ничего после ребута не выставляет. Что же вы раньше это не проверили? На всех VPS В настройках контейнера - две строчки. Читайте до конца, на хабре рассказывают про другое. Сколько заявлено - столько у вас и есть RAM. Теперь еще пример на счет cached memory, из munin на выделенном сервере на обычном ядре. Откройте для себя, что Linux использует оперативку под файловый кеш. На счет, MySQL который ест 10мб - это откровенное вранье. С тем, конфигом, который сейчас MySQL под нагрузкой может теоретически использовать 597Mb -> за счет буферов и возможных 151 коннектов. Nginx и в особенности php-fpm - используют мало ресурсов, когда ничего не делают. PHP-FPM так же нужна память как и *Athena. allow memory - это вприницпе *сколько оперативки сможет использовать один процесс php-fpm* Еще есть какие-то адекватные аргументы против OpenVZ?
×
×
  • Создать...
Яндекс.Метрика