BlackGold Опубликовано 19 октября, 2015 Жалоба Поделиться Опубликовано 19 октября, 2015 Здравствуйте! вот нашёл одного нпц в забытом богом месте , решил вернуть его к жизни но не тут то было) Вот сам Нпц pvp_n_1-5 mapflag noskillpvp_n_1-5 mapflag nocommandpvp_n_1-5 mapflag nosavepvp_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]; Ссылка на комментарий Поделиться на другие сайты Поделиться
ocelote Опубликовано 19 октября, 2015 Жалоба Поделиться Опубликовано 19 октября, 2015 Уверен что у тебя на сервере не установлена модификация для этого эвента.А именно скрипт. команда resident. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
BlackGold Опубликовано 19 октября, 2015 Автор Жалоба Поделиться Опубликовано 19 октября, 2015 (изменено) Уверен что у тебя на сервере не установлена модификация для этого эвента.А именно скрипт. команда resident.Ясно спасибо) он есть просто забыл скомпилировать сервер) Изменено 19 октября, 2015 пользователем BlackGold Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения