BlackGold

event resident

3 сообщения в этой теме

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

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

Вот сам Нпц


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

0

Поделиться сообщением


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

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

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

1

Поделиться сообщением


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

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

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

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

Изменено пользователем BlackGold
0

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас