Назад

[Release] Dice event

Автор: Sanasol: Дата: 06.11.2010

Взял странно-дуратский кубик и переделал его.

Теперь работает на 6 цифр.

При вставании на не цифирные клетки выкидывает.

Пришлось переписать половинку от всего. :) И бегать координаты выписывать почти по-клеточно. :invalid:

На правах теста скрипта: Проверить его можно

Надо только переписать адрес варп портала.

//===== eAthena Скрипт=====//
//= Кубики =//
//===== By: ===== //
//= Sanasol && Mahina =//
//===== Сервер =====//
//= lightroserver.tk и live-metal.ru=//
//===== Версия: =====//
//= 2.0 =//
//===== Идет на: =====//
//= Эмуляторе eAthena =//
//===== Описание:===== //
//= Азартная игра=//
//== Комментарий авторов ==//
//= Скрипт работает только на хороших серверах. =//
//= Кто сотрет копирайты будет немедленно атаков ДДосом =//
//= со всех сторон. =//
//====Копирайты йухан====//


[spoiler=Скрипт]
-	script	Dice#announcer	-1,{

OnInit:
disablenpc "prtevent";
disablenpc "Кубик#dice_event";
end;

OnClock1402:
OnClock1400:
OnClock1700:
OnClock2000:
announce "Кубо-Человек: Cейчас начнется эвент 'Кубик'!.",0;
sleep2 10000;
announce "Кубо-Человек: Все желающие могут зайти в портал,который появится в центре пронтеры.",0;
sleep2 10000;
announce "Кубо-Человек: Через минуту после появления портала регистрация заканчивается и портал исчезает",0;
sleep2 10000;
announce "Кубо-Человек: Пожалуйста подойдите в центр пронтеры и зайдите в варп портал для принятия участия в эвенте!",0;
enablenpc "prtevent";
initnpctimer;
end;

OnTimer30000:
announce "Кубо-Человек: До начала осталось 30 секунд",0;
sleep2 5000;
announce "Кубо-Человек: Все желающие принять участие могут пройти в варп портал!",0;
end;

OnTimer50000:
announce "Кубо-Человек: До начала осталось 10 секунд!",0;
end;

OnTimer55000:
announce "Кубо-Человек: ~5~.",0;
end;

OnTimer56000:
announce "Кубо-Человек: ~4~.",0;
end;

OnTimer57000:
announce "Кубо-Человек: ~3~.",0;
end;

OnTimer58000:
announce "Кубо-Человек: ~2~.",0;
end;

OnTimer59000:
announce "Кубо-Человек: ~1~.",0;
end;

OnTimer60000:
announce "Кубо-Человек: Время вышло!",0;
end;

OnTimer61000:
disablenpc "prtevent";
donpcevent "Кубик#dice_event::OnEnable";
stopnpctimer;
end;

}

// Варп портал на эвент //

revencia,147,61,0 warp prtevent 2,2,quiz_00,18,117

// Получение приза //

quiz_00,20,116,6 script Кубик#dice_event 715,{
mes "[Кубо-Человек]";
mes "Назовите свое имя:";
next;
input .@name$;
if(.@name$ != strcharinfo(0)){
mes "[Кубо-Человек]";
mes "Вы уверены что это имя вашего персонажа?";
close;
}
mes "[Кубо-Человек]";
mes "Поздравляю!Вы победили!";
close2;
announce "Кубо-Человек: У нас есть победитель!Его имя: "+.@name$+"!",0;
getitem 7227,1;
warp "revencia",166,60;
disablenpc "Кубик#dice_event";
end;

OnEnable:
mapannounce "quiz_00","Кубо-Человек: Сейчас я расскажу правила эвента:",0;
sleep2 10000;
mapannounce "quiz_00","Кубо-Человек: Я бросаю кубик числом от 1 до 6",0;
sleep2 10000;
mapannounce "quiz_00","Кубо-Человек: Пример: Я бросил число 6.Игроки стоящие на клетке с номером от 1 до 5 варпаются обратно в город и считаются проигравшими!",0;
sleep2 10000;
mapannounce "quiz_00","Кубо-Человек: Игра продолжается до тех пор пока на карте не останется один человек.",0;
sleep2 10000;
mapannounce "quiz_00","Кубо-Человек: Вот и все!Начинаем эвент!",0;
sleep2 10000;
goto L_Start;
end;

L_Start:
if(getmapusers("quiz_00") == 1) goto L_Champ;
if(getmapusers("quiz_00") == 0) goto L_None;
if(getmapusers("quiz_00") > 1){
announce "Бросаю кубик!",0;
set $@number,rand(1,6);
sleep2 10000;
announce "Кубо-Человек: Я бросил кубик!Встаньте пожалуйста на любую клетку с числами!",0;
sleep2 1000;
announce "Кубо-Человек: ~3~",0;
sleep2 1000;
announce "Кубо-Человек: ~2~",0;
sleep2 1000;
announce "Кубо-Человек: ~1~",0;
sleep2 1000;
announce "Кубо-Человек: Время вышло!.",0;
donpcevent "evnt#1::OnEnable"; //Удаление стоящих не в положенном месте
announce "Кубо-Человек: Выиграшный номер: "+$@number+"!",0;
if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose1; // win 1
if(($@number != 1) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose2; // win 2
if(($@number != 2) && ($@number != 1) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose3; // win 3
if(($@number != 2) && ($@number != 3) && ($@number != 1) && ($@number != 5) && ($@number != 6)) goto L_Lose4; // win 4
if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 1) && ($@number != 6)) goto L_Lose5; // win 5
if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 1)) goto L_Lose6; // win 6

end;
}

L_Lose1:

//Warp 2
areawarp "quiz_00",24,123,25,122,"prontera",155,182;
areawarp "quiz_00",20,101,21,100,"prontera",155,182;

//Warp 3
areawarp "quiz_00",22,105,23,104,"prontera",155,182;
areawarp "quiz_00",12,123,13,122,"prontera",155,182;

//Warp 4
areawarp "quiz_00",10,123,11,122,"prontera",155,182;
areawarp "quiz_00",18,113,21,112,"prontera",155,182;

//Warp 5
areawarp "quiz_00",24,105,25,104,"prontera",155,182;
areawarp "quiz_00",18,115,19,114,"prontera",155,182;

//Warp 6
areawarp "quiz_00",16,125,17,124,"prontera",155,182;
areawarp "quiz_00",14,107,15,106,"prontera",155,182;
areawarp "quiz_00",22,103,23,102,"prontera",155,182;

goto L_Start;
end;

L_Lose2:

//Warp 1
areawarp "quiz_00",12,125,13,124,"prontera",155,182;
areawarp "quiz_00",24,125,25,124,"prontera",155,182;

//Warp 3
areawarp "quiz_00",22,105,23,104,"prontera",155,182;
areawarp "quiz_00",12,123,13,122,"prontera",155,182;

//Warp 4
areawarp "quiz_00",10,123,11,122,"prontera",155,182;
areawarp "quiz_00",18,113,21,112,"prontera",155,182;

//Warp 5
areawarp "quiz_00",24,105,25,104,"prontera",155,182;
areawarp "quiz_00",18,115,19,114,"prontera",155,182;

//Warp 6
areawarp "quiz_00",16,125,17,124,"prontera",155,182;
areawarp "quiz_00",14,107,15,106,"prontera",155,182;
areawarp "quiz_00",22,103,23,102,"prontera",155,182;

goto L_Start;
end;

L_Lose3:

//Warp 2
areawarp "quiz_00",24,123,25,122,"prontera",155,182;
areawarp "quiz_00",20,101,21,100,"prontera",155,182;

//Warp 1
areawarp "quiz_00",12,125,13,124,"prontera",155,182;
areawarp "quiz_00",24,125,25,124,"prontera",155,182;

//Warp 4
areawarp "quiz_00",10,123,11,122,"prontera",155,182;
areawarp "quiz_00",18,113,21,112,"prontera",155,182;

//Warp 5
areawarp "quiz_00",24,105,25,104,"prontera",155,182;
areawarp "quiz_00",18,115,19,114,"prontera",155,182;

//Warp 6
areawarp "quiz_00",16,125,17,124,"prontera",155,182;
areawarp "quiz_00",14,107,15,106,"prontera",155,182;
areawarp "quiz_00",22,103,23,102,"prontera",155,182;

goto L_Start;
end;

L_Lose4:

//Warp 2
areawarp "quiz_00",24,123,25,122,"prontera",155,182;
areawarp "quiz_00",20,101,21,100,"prontera",155,182;

//Warp 3
areawarp "quiz_00",22,105,23,104,"prontera",155,182;
areawarp "quiz_00",12,123,13,122,"prontera",155,182;

//Warp 1
areawarp "quiz_00",12,125,13,124,"prontera",155,182;
areawarp "quiz_00",24,125,25,124,"prontera",155,182;

//Warp 5
areawarp "quiz_00",24,105,25,104,"prontera",155,182;
areawarp "quiz_00",18,115,19,114,"prontera",155,182;

//Warp 6
areawarp "quiz_00",16,125,17,124,"prontera",155,182;
areawarp "quiz_00",14,107,15,106,"prontera",155,182;
areawarp "quiz_00",22,103,23,102,"prontera",155,182;

goto L_Start;
end;

L_Lose5:

//Warp 2
areawarp "quiz_00",24,123,25,122,"prontera",155,182;
areawarp "quiz_00",20,101,21,100,"prontera",155,182;

//Warp 3
areawarp "quiz_00",22,105,23,104,"prontera",155,182;
areawarp "quiz_00",12,123,13,122,"prontera",155,182;

//Warp 4
areawarp "quiz_00",10,123,11,122,"prontera",155,182;
areawarp "quiz_00",18,113,21,112,"prontera",155,182;

//Warp 1
areawarp "quiz_00",12,125,13,124,"prontera",155,182;
areawarp "quiz_00",24,125,25,124,"prontera",155,182;

//Warp 6
areawarp "quiz_00",16,125,17,124,"prontera",155,182;
areawarp "quiz_00",14,107,15,106,"prontera",155,182;
areawarp "quiz_00",22,103,23,102,"prontera",155,182;

goto L_Start;
end;

L_Lose6:

//Warp 2
areawarp "quiz_00",24,123,25,122,"prontera",155,182;
areawarp "quiz_00",20,101,21,100,"prontera",155,182;

//Warp 3
areawarp "quiz_00",22,105,23,104,"prontera",155,182;
areawarp "quiz_00",12,123,13,122,"prontera",155,182;

//Warp 4
areawarp "quiz_00",10,123,11,122,"prontera",155,182;
areawarp "quiz_00",18,113,21,112,"prontera",155,182;

//Warp 5
areawarp "quiz_00",24,105,25,104,"prontera",155,182;
areawarp "quiz_00",18,115,19,114,"prontera",155,182;

//Warp 1
areawarp "quiz_00",12,125,13,124,"prontera",155,182;
areawarp "quiz_00",24,125,25,124,"prontera",155,182;

goto L_Start;
end;


L_Champ:
mapannounce "quiz_00","Кубо-Человек: Подойдите к НПС и назовите свое имя.",0;
enablenpc "Кубик#dice_event";
end;

L_None:
disablenpc "Кубик#dice_event";
end;
}

- script evnt#1 -1,{

OnEnable:
areawarp "quiz_00",10,131,26,126,"prontera",155,182;

areawarp "quiz_00",26,125,27,124,"prontera",155,182;
areawarp "quiz_00",18,125,23,124,"prontera",155,182;
areawarp "quiz_00",14,125,15,124,"prontera",155,182;
areawarp "quiz_00",4,125,11,124,"prontera",155,182;

areawarp "quiz_00",4,123,9,122,"prontera",155,182;
areawarp "quiz_00",14,123,23,122,"prontera",155,182;
areawarp "quiz_00",26,123,27,122,"prontera",155,182;

areawarp "quiz_00",4,121,27,116,"prontera",155,182;

areawarp "quiz_00",10,115,17,114,"prontera",155,182;
areawarp "quiz_00",20,115,27,114,"prontera",155,182;

areawarp "quiz_00",10,112,17,113,"prontera",155,182;
areawarp "quiz_00",22,112,27,113,"prontera",155,182;

areawarp "quiz_00",4,111,27,108,"prontera",155,182;

areawarp "quiz_00",4,107,13,106,"prontera",155,182;
areawarp "quiz_00",16,107,27,106,"prontera",155,182;

areawarp "quiz_00",10,105,21,104,"prontera",155,182;
areawarp "quiz_00",26,105,26,104,"prontera",155,182;

areawarp "quiz_00",10,103,21,102,"prontera",155,182;
areawarp "quiz_00",24,103,26,102,"prontera",155,182;

areawarp "quiz_00",10,101,19,100,"prontera",155,182;
areawarp "quiz_00",22,101,25,100,"prontera",155,182;
end;
}
[/spoiler]

Автор: Sanasol: Дата: 06.11.2010

getitem 7227,1; => set #CASHPOINT,#CASHPOINT+40;

Переменную не помню вроде такая. Сам глянь в доки

Автор: Kill Spirit: Дата: 06.11.2010

Я уже пробовал, но там чтото про аттач говорится и нефига не дает

Автор: Sanasol: Дата: 06.11.2010

Странно. Если бы фнукцией выдавало тогда понятно. К нпц чар полюбому прилепляется. Скинь текст ошибки

Автор: Gr1nS1de: Дата: 06.11.2010

if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose1; // win 1
if(($@number != 1) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose2; // win 2
if(($@number != 2) && ($@number != 1) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose3; // win 3
if(($@number != 2) && ($@number != 3) && ($@number != 1) && ($@number != 5) && ($@number != 6)) goto L_Lose4; // win 4
if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 1) && ($@number != 6)) goto L_Lose5; // win 5
if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 1)) goto L_Lose6; // win 6 [/qoute]

Зачем это писать? Если можно сделать, например:
if($@number==1)goto L_Lose6; 0.о

Автор: Gr1nS1de: Дата: 06.11.2010

Цитата Sanasol:
if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose1; // win 1
if(($@number != 1) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose2; // win 2
if(($@number != 2) && ($@number != 1) && ($@number != 4) && ($@number != 5) && ($@number != 6)) goto L_Lose3; // win 3
if(($@number != 2) && ($@number != 3) && ($@number != 1) && ($@number != 5) && ($@number != 6)) goto L_Lose4; // win 4
if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 1) && ($@number != 6)) goto L_Lose5; // win 5
if(($@number != 2) && ($@number != 3) && ($@number != 4) && ($@number != 5) && ($@number != 1)) goto L_Lose6; // win 6


Зачем это писать? Если можно сделать, например:
if($@number==1)goto L_Lose1; 0.о

Автор: Sanasol: Дата: 06.11.2010

:dont_know:
Не смотрел тупо делал как было только на другие координаты и карту. Чтобы не открывали по 10 тем в неделю про кубики.