poiuty
-
Постов
115 -
Зарегистрирован
-
Посещение
-
Победитель дней
14
Сообщения, опубликованные poiuty
-
-
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);
} -
скрипт 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;
} -
Поты можно хавать?
if ((Weight/10)>60){
mes "Извини, но ты несешь с собой что то лишнее! А это - запрещено!";
close;
}если пронесешь
-
Скрипт ~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;
} -
На флешке нашел скрипты. Скрипт ~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;
} -
Нашел на флешке старые скрипты, скрипт 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;
} -
Нашел на флешке старые скрипты, автоэвент ~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;
}- 2
-
<?php
echo "hello world"
?>Что не так?
;
-
-
Бесплатную раздачу 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
- 3
-
Промо код можно ввести после регистрации - на странице заказа
-
летсклей
эт что такое?
клеить что-то?
-
Мб веселые видео обзоры делать?
Они больше привлекут внимания.
-
Если ты хочешь быть "тимлидом" - тогда должен точно знать "что", "зачем" и "почему" -> ты делаешь.
Если нет, тогда лучше присоединится к другим проектам и участвовать в разработке. Тем более, что тебе это интересно.
botka4aet, верно написал. Скорее всего, игроки будут "тянуть одеяло" на себя. И советовать/ требовать ввести то, что даст им преимущество в игре.
интерес в разработкеЛучше больше времени уделить рекламе. Чем кодить то, что мало игроков увидит.
- 2
-
Хабр предлагает, например
-
htaccess charset
- 1
-
Идея без реализации - ничего не стоит.
Начни, со временем, возможно, соберешь команду. Или забудешь по свою идею.
- 2
-
mysql_query("SET NAMES cp1251")
например
-
В Hercules - бекпортят из rathena?
-
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"- 4
-
Всем цензуры и побольше. Яндекс ничего не смог.
Сегодня законопроект прошёл второе и третье чтение в Думе. Его окончательная версия ещё хуже, чем промежуточные. Все поправки интернет-отрасли, которые могли бы добавить в механизм регулирования немного здравого смысла, были полностью проигнорированы...
http://habrahabr.ru/...ex/blog/184182/
Обсуждаем
-
Долг вернул в полном обьеме.
-
htop показывает одно значение, якобы верное, но все же. А другие утилиты - другое. Странно, беда.
Пояснение на счет htop, он показывает кеш другим цветом и не учитывает его в общий RAM(числом показывает только USED без ++ кеш и буферы).
Если приложениям нужно больше оперативки, они без проблем забирают ее себе, но в этом случае под файловый кеш и буферы останется меньше.
Cache - используется для операций чтения
Buffers - для записи
-
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.
Теперь еще пример на счет cached memory, из munin на выделенном сервере на обычном ядре. Откройте для себя, что Linux использует оперативку под файловый кеш.
На счет, 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?
- 1
PVP arena
в Скрипты
Опубликовано