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

event resident


BlackGold

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

Здравствуйте!

вот нашёл одного нпц в забытом богом месте , решил вернуть его к жизни но не тут то было)

Вот сам Нпц


pvp_n_1-5 mapflag noskill
pvp_n_1-5 mapflag nocommand
pvp_n_1-5 mapflag nosave
pvp_n_1-5 mapflag restricted 5 // Не забывайте добавить зелья, которые нельзя кушать, спид потионы и баттерфляй винги в db/item_noequip.txt

- script vars -1,{
OnInit:
set $@maps$,"pvp_n_1-5";
set $@x1,80; set $@x2,119;
set $@y1,80; set $@y2,119;
end;
}
Hallow01,113,98,4 script Resident Evil 438,{
if(getgmlevel()>79){
mes "Вы хотите запустить эвент?";
menu "Да, запустить",-,"Нет",lno;
if($@start == 1){
mes "Эвент уже запущен";
close;
}

set $@start,1;
close2;
donpcevent "StartEvent::onstartEvent";
end;
}

if($@start ==0){
mes "Эвент сейчас не проводится или уже начался.";
close;
}

mes "[Resident Evil]";
mes "Привет "+strcharinfo(0);
mes "Хочешь попасть на эвент Resident Evil?";
menu "Да, хочу",-,"Нет нехочу",lno;

resident(strcharinfo(0),1);
warp $@maps$,($@x2 + $@x1)/2,($@y2 + $@y1)/2;
percentheal 100,100;
sc_end sc_all;
setriding 0;
setcart 0;
nude;
set $@human$[getarraysize($@human$)],strcharinfo(0);

lno:
close;
OnClock1000:
OnClock2200:
if($@start == 1)
end;
set $@start, 1;
donpcevent "StartEvent::onstartEvent";
}
- script StartEvent -1,{
onstartEvent:
announce "[Resident Evil] Набор на эвент в течение 5 минут.",bc_all;
sleep 120000;
announce "[Resident Evil] Эвент начнется через 3 минуты.",bc_all;
sleep 120000;
announce "[Resident Evil] Эвент начнется через 1 минуту.",bc_all;
sleep 40000;
announce "[Resident Evil] Набор на эвент закончен.",bc_all;
set $@start,0;
if(getarraysize($@human$)<5){
announce "[Resident Evil] К сожалению, на эвент не собралось достаточного количества людей.",bc_all;
callfunc "Delete";
}

areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"[Resident Evil] Правила игры:",0;
sleep 1000;
areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"1 человек случайно выбирается для игры за зомби.",0;
sleep 3000;
areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"Если зомби догоняет человека, то оба персонажа продолжают игру за зомби.",0;
sleep 3000;
areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"Когда на карте остаётся 1 человек, игра заканчивается и выдаются призы за победу.",0;
sleep 5000;
areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"Эвент начнётся через -3-",0;
sleep 1000;
areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"Эвент начнётся через -2-",0;
sleep 1000;
areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"Эвент начнётся через -1-",0;
sleep 1000;
set .zomb,rand(getarraysize($@human$));
set $@zombie$[getarraysize($@zombie$)], $@human$[.zomb];
resident($@human$[.zomb],2);
deletearray $@human$[.zomb],1;

areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"[Resident Evil] В этот раз зомби будет: "+$@zombie$[0],0;
pvpon $@maps$;
set $@zombi$,$@zombie$[0];

for(set .i,0;.i<getarraysize($@human$);set .i, .i+1){
set .x,rand($@x1,$@x2);
set .y,rand($@y1,$@y2);
warpchar $@maps$,.x,.y,getcharid(0,$@human$[.i]);
}

for(set .i,0;.i<getarraysize($@zombie$);set .i, .i+1){
set .x,rand($@x1,$@x2);
set .y,rand($@y1,$@y2);
warpchar $@maps$,.x,.y,getcharid(0,$@zombie$[.i]);

}
end;
OnPCDieEvent:
OnPCLogoutEvent:
getmapxy(@map$,@x,@y,0);
if(@map$ == $@maps$)
{
for(set .i,0;.i<getarraysize($@human$);set .i, .i+1){
if($@human$[.i]==strcharinfo(0)){
deletearray $@human$[.i],1;
if(getarraysize($@human$)==1){
callfunc "Winner";
end;
}
}
}

for(set .i,0;.i<getarraysize($@zombie$);set .i, .i+1){
if($@zombie$[.i]==strcharinfo(0)){
deletearray $@zombie$[.i],1;
if(getarraysize($@zombie$)<1){
announce "[Resident Evil] Все зомби вышли с эвента. Эвент окончен.",bc_all;
callfunc "Delete";
end;
}
}
}
}
end;

OnPCDamage:
getmapxy(@map$,@x,@y,0);
if(@map$ == $@maps$)
{
for(set .i,0;.i<getarraysize($@human$);set .i, .i+1){
if($@human$[.i]==strcharinfo(0)){
set $@zombie$[getarraysize($@zombie$)],strcharinfo(0);
resident(strcharinfo(0),2);
deletearray $@human$[.i],1;
sleep2 100;
warp $@maps$,($@x2 + $@x1)/2,($@y2 + $@y1)/2;
if(getarraysize($@human$)==1){
callfunc "Winner";
end;
}
}
}
}
end;
}
function script Delete {
deletearray $@human$[0],getarraysize($@human$);
deletearray $@zombie$[0],getarraysize($@zombie$);
sleep 2000;
areawarp $@maps$,$@x1,$@y1,$@x2,$@y2,"aelfort",110,89;
pvpoff $@maps$;
end;
}
function script Winner {
attachrid getcharid(3,$@human$[0]);
getitem 31117,2; // ----------Приз-----------
announce "[Resident Evil] В эвенте победил(а) "+$@human$[0],bc_all;
if(attachrid(getcharid(3, $@zombi$)))
{
getmapxy(@map$,@x,@y,0);
if(@map$ == $@maps$)
getitem 31117,1; //---------- Утишительный приз первым зомби-----------------------
}

callfunc "Delete";
end;
}

Ошибка тут , Знает кто что здесь не так и что исправить?


resident($@human$[.zomb],2);
deletearray $@human$[.zomb],1;

areaannounce $@maps$,$@x1,$@y1,$@x2,$@y2,"[Resident Evil] В этот раз зомби будет: "+$@zombie$[0],0;
pvpon $@maps$;
set $@zombi$,$@zombie$[0];

2015-10-19_233112.png?x-email=ensurero%40mail.ru

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

Уверен что у тебя на сервере не установлена модификация для этого эвента.

А именно скрипт. команда resident.

Ясно спасибо) он есть просто забыл скомпилировать сервер)

Изменено пользователем BlackGold
Ссылка на комментарий
Поделиться на другие сайты

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