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

[Autoevent] party vs party


poiuty

Рекомендуемые сообщения

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


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

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

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

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

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

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

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

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

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

  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

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