Назад

Авто-Эвент "РФУЛ".

Автор: aN00B1s: Дата: 03.13.2009

В последнее время заметил, что очень много людей ищут Авто-Эвент "РФУЛ", вот моя версия.
Написал качественно с нуля, максимум оптимизации, очень много проверок и аннонсов (Пеко-Пеко, на 0 человек, сколько осталось на карте), проверка на победителя идёт не по таймеру, а после смерти игрока, когда предпоследний умрёт - телепортируется в Пронтеру уже живым.
Не люблю в Авто-Эвентах всяких призовых монстров, сделал просто однощелчкового НПС с задержкой.В последнее время заметил, что очень много людей ищут Авто-Эвент "РФУЛ", вот моя версия.
Написал качественно с нуля, максимум оптимизации, очень много проверок и аннонсов (Пеко-Пеко, на 0 человек, сколько осталось на карте), проверка на победителя идёт не по таймеру, а после смерти игрока, когда предпоследний умрёт - телепортируется в Пронтеру уже живым.
Не люблю в Авто-Эвентах всяких призовых монстров, сделал просто однощелчкового НПС с задержкой.


[COLOR=#ff0000]Кучу всего сделал, что придумал: снятие умений при входе, проверка на мальчика/девочку, телепортирование в Пронтеру живым с оповещением при смерти и так далее.
Предлагайте идеи, допишу с удовольствием, хочется сделать лучший рфул.[/COLOR]

//---Авто-Эвент RFYL.---// 
//---Скрипт написал aN00B1s (ICQ: 722-45-30)---//

//---Объявление об эвенте.---//

- script announce_rfyl -1,{

//---Время, когда эвент будет начинаться.---//

OnClock1030:
OnClock1530:
OnClock2030:



//---Аннонс Эвента + проверки.---//

announce "Эвент 'Убеги от монстра' начнётся через 3 минуты!",0;
killmonsterall "quiz_01";
sleep 50000;
announce "В Пронтере появился НПС 'Убеги от монстра'!",0;
enablenpc "Убеги от монстра";
sleep 10000;
announce "Эвент 'РФУЛ' начнётся через 2 минуты!",0;
sleep 60000;
announce "Эвент 'РФУЛ' начнётся через 1 минуту!",0;
sleep 30000;
mapannounce "quiz_01","Через 30 секунд будет запущен монстр!",0;
sleep 25000;
announce "Эвент 'РФУЛ' начнётся через -5-",0;
sleep 1000;
announce "Эвент 'РФУЛ' начнётся через -4-",0;
sleep 1000;
announce "Эвент 'РФУЛ' начнётся через -3-",0;
sleep 1000;
announce "Эвент 'РФУЛ' начнётся через -2-",0;
sleep 1000;
announce "Эвент 'РФУЛ' начнется через -1-",0;
sleep 1000;
announce "Эвент 'Убеги от монстра' начался, пусть победит сильнейший!",0,0x00FF00;
monster "quiz_01",42,369,"Убийца",1640,1;
disablenpc "Убеги от монстра";
initnpctimer;
end;

OnTimer5000: // Каждые 5 секунд проверка на количество игроков + аннонс.
if ( getmapusers("quiz_01") == 0 )
{
killmonsterall "quiz_01"; // Если всех убили - эвент заканчивается.
announce "Эвент 'РФУЛ' закончился, так как игроков на Эвенте нет.",0;
disablenpc "Киса";
stopnpctimer;
end;
}
else if ( getmapusers("quiz_01") > 1 )
{
mapannounce "quiz_01",getmapusers("quiz_01") +" игрока(ов) всё ещё находятся на Эвенте.",0,0x00FF00; // Если 2+ игроков на эвенте - аннонс.
initnpctimer;
end;
}
initnpctimer;
end;



//---Выкидывание игрока с Эвента после смерти и проверка на победителя.---//

OnPCDieEvent:
getmapxy .@maprfyl$,.@xrfyl,.@yrfyl,0;
if ( .@maprfyl$ == "quiz_01") {
sleep2 1;
warp "prontera",156,223;
atcommand "@alive "+ strcharinfo(0);
dispbottom "К сожалению, Вы проиграли...";
}
sleep2 1000;
if ( .@maprfyl$ == "quiz_01" && getmapusers("quiz_01") == 1 ) {
killmonsterall "quiz_01";
mapannounce "quiz_01","Поздравляю, Вы выиграли, подойдите пожалуйста к Кисе.",0;
enablenpc "Киса";
stopnpctimer;
end;
}
end;
}



//---Выигрыш.---//

quiz_01,42,369,3 script Киса 876,{
if (sex == 1) { // Мальчик.
announce "В 'РФУЛе' победил "+ strcharinfo(0) +"! Поздравляем его!",0;
}
else { // Остальные (девочка).
announce "В 'РФУЛе' победила "+ strcharinfo(0) +"! Поздравляем её!",0;
};
getitem 7227,1; // Можно поставить свой приз.
warp "prontera",156,223;
sleep2 250;
disablenpc "Киса";
end;
}



//---Регистрация на Эвент.---//

prontera,147,147,3 script Убеги от монстра 736,{
mes "[^0000FFУбеги от монстра^000000]";
mes "Вы хотите попасть на Эвент '^FF0000Убеги от монстра^000000'?";
next;
switch(select("Да","Нет")) {
case 1:
if (checkriding()) { // Проверка на Пеко-Пеко.
mes "[^0000FFУбеги от монстра^000000]";
mes "Пожалуйста, снемите Пеко Пеко.";
close;
}
sc_end SC_ALL;
percentheal 100,100;
warp "quiz_01",42,369;
end;
break;

case 2:
mes "[^0000FFУбеги от монстра^000000]";
mes "Хорошо, приходите, когда захотите.";
close;
break;
}
OnInit: // При запуске сервера убераем НПС.
disablenpc "Убеги от монстра";
disablenpc "Киса";
end;
}



//---МапФлаги.---//

quiz_01 mapflag pvp off
quiz_01 mapflag noteleport
quiz_01 mapflag nosave SavePoint
quiz_01 mapflag nowarp
quiz_01 mapflag noreturn
quiz_01 mapflag nomemo
quiz_01 mapflag nowarpto
quiz_01 mapflag noskill
quiz_01 mapflag pvp noparty
quiz_01 mapflag restricted 5 // Не забывайте добавить зелья, которые нельзя кушать и спид потионы в db/item_noequip.txt

Автор: SergeiX: Дата: 05.01.2009

Супер!

Автор: Cole McCormick: Дата: 05.02.2009

aN00B1s ничего лишнего ненапишет

Автор: SergeiX: Дата: 05.02.2009

sergeidead есть skype нужна маленькая помошь)

Автор: SergeiX: Дата: 05.02.2009

м чтот типо того помошь нужна хД)

Автор: aN00B1s: Дата: 05.02.2009

[color=Red]Алёшка, скрипт повнимательнее изучите, поймёте.
[/color]

Автор: ArTuR: Дата: 05.11.2009

блин люди киньте по норму скрипт а то тут нада 100 сообшений!!!!!! пож!!!!!

Автор: hajikov: Дата: 05.11.2009

Ну а кому сейчас легко?? Это защита от тех, кто только клянчить умеет или тырит с чужих ресурсов и пытается выдать за свое.

Автор: Мяфк: Дата: 05.11.2009

Originally posted by hajikov;10097
Ну а кому сейчас легко?? Это защита от тех, кто только клянчить умеет или тырит с чужих ресурсов и пытается выдать за свое.

+1) в точь в точь, как я хотел сказать =)

Автор: 007asha: Дата: 05.21.2009

nnnnnnnn

Raf: предупреждение за флуд. затем бан.

Автор: hajikov: Дата: 05.21.2009

Такс, еще один флудераст начинающий. Будем знать до кого доё... в будущем))

Автор: Hatzel: Дата: 05.22.2009

Так, флудерасты.
Еще один лишний пост в этой теме - бан 3 дня.

Автор: Hatzel: Дата: 05.22.2009

Автору на заметку..

Тут баг, в код смотреть лень, но суть такова:
было 3 чара. Одного я убил, второй вышел из комнаты.. вобщем эвент, если верить анонсам, еще не начался, а приз я все же получил. Вобще я подумал что просто выиграл и всё, но через нпц продолжал регистрацию, и там какой-то парень выиграл 2й приз.. вобщем как-то так))

Автор: aN00B1s: Дата: 05.26.2009

[color=Red]Багов нет.
Код порой полезно смотреть.
@reloadscript пробовали?
[/color]

Автор: nomn: Дата: 05.26.2009

За этот Эвент Анубису спасибо, написан оч хорошо, со всеми проверками, анонсами и прочим. Лично его использую, нет неединного замечания к данному скрипту. Ищи у себя ошибки (если брал и ничего не менял - то чудеса (с) Raf....)

Автор: Hatzel: Дата: 05.27.2009

Originally posted by aN00B1s;11080
[color=Red]Багов нет.
Код порой полезно смотреть.
@reloadscript пробовали?
[/color]

Ну не баг, дыра.. )

Автор: aN00B1s: Дата: 05.27.2009

[color=Red]Hatzel, не вижу там дыр/багов вообще...
[/color]

Автор: 54546: Дата: 05.27.2009

Хочется задать Вопрос aN00B1s-у. Если убить моба который появляется. СИны его спокойно убьют, что тогда произойдет?

Автор: nomn: Дата: 05.28.2009

эвент не закончится и будет каждые 5 секунд писать сколько людей на карте осталось.


а если мозг подумать?) зачем mob_db? эвент расчитан на 99\70. Лично на моём сервере бегает кошка и убивает всех азурами и фо)))) у неё 100кк НР и полный анвиз к домагу :)))

Автор: Dante: Дата: 05.30.2009

Тру.

Автор: hajikov: Дата: 05.30.2009

Dante: Здесь не нужно писать свое личное мнение, а только по делу, перечитай еще раз правила форума на счет флуда и набивания счетчика сообщений, а ты именно его набиваешь, тк не можешь увидеть сам скрипт (у тебя только 6 сообщений, а нужно 100).
ЗЫ: Модератор, пожалуйста, удали мое сообщение. Надеюсь что он успеет его это прочесть.

Автор: jonikkk3: Дата: 06.10.2009

Мм а можно сделать так что при нажатий на нпц сразу тпешился на ивент!!! а то плохая дырочка получается там!!!

Автор: Eleidan: Дата: 06.20.2009

У меня евент не запускается(
Пишет error в 11 строке где
- script announce_rfyl -1,{
потом эту строку заменил на нахождение непися с координатами и с невидимым спрайтом, пишет ошибку в
OnClock1030:
Видимо афина тупая, или что такое?(

Автор: DiS[IP]: Дата: 06.20.2009

Табуляцию ставил?

Автор: Eleidan: Дата: 06.20.2009

Во ! Спасибо, помогло) Чот я и не подумал)

Автор: d[artiir]: Дата: 01.20.2011

//---Регистрация на Эвент.---// 

prontera,147,147,3 script Убеги от монстра 736,{
[COLOR="Red"]//mes "[^0000FFУбеги от монстра^000000]";
//mes "Вы хотите попасть на Эвент '^FF0000Убеги от монстра^000000'?";
//next;
//switch(select("Да","Нет")) {
//case 1: [/COLOR]
if (checkriding()) { // Проверка на Пеко-Пеко.
mes "[^0000FFУбеги от монстра^000000]";
mes "Пожалуйста, снемите Пеко Пеко.";
close;
}
sc_end SC_ALL;
percentheal 100,100;
warp "quiz_01",42,369;
end;
[COLOR="red"]//break;

//case 2:
//mes "[^0000FFУбеги от монстра^000000]";
//mes "Хорошо, приходите, когда захотите.";
//close;
//break;
//} [/COLOR]
OnInit: // При запуске сервера убераем НПС.
disablenpc "Убеги от монстра";
disablenpc "Киса";
end;
}


Выделенные строки, по моему мнению, являются лишние. Когда начинается эвент нпц прячется, а вот меню остаётся, если ты сидишь в 5 окон, можешь под конец со спокойной душой заходить и побеждать!

Автор: dimjke: Дата: 02.01.2011

Цитата d[artiir];30790:
//---Регистрация на Эвент.---// 

prontera,147,147,3 script Убеги от монстра 736,{
[COLOR="Red"]//mes "[^0000FFУбеги от монстра^000000]";
//mes "Вы хотите попасть на Эвент '^FF0000Убеги от монстра^000000'?";
//next;
//switch(select("Да","Нет")) {
//case 1: [/COLOR]
if (checkriding()) { // Проверка на Пеко-Пеко.
mes "[^0000FFУбеги от монстра^000000]";
mes "Пожалуйста, снемите Пеко Пеко.";
close;
}
sc_end SC_ALL;
percentheal 100,100;
warp "quiz_01",42,369;
end;
[COLOR="red"]//break;

//case 2:
//mes "[^0000FFУбеги от монстра^000000]";
//mes "Хорошо, приходите, когда захотите.";
//close;
//break;
//} [/COLOR]
OnInit: // При запуске сервера убераем НПС.
disablenpc "Убеги от монстра";
disablenpc "Киса";
end;
}


Выделенные строки, по моему мнению, являются лишние. Когда начинается эвент нпц прячется, а вот меню остаётся, если ты сидишь в 5 окон, можешь под конец со спокойной душой заходить и побеждать!


Можно сделать лучше, ввести глобальную переменную перед началом эвента,
присвоив значение 1 и вставить проверку перед варпом на нее,
если она не равна 1 то посылаем науйх. самое главное не забыть переменную обнулить, когда начнется эвент)