Назад

Вопрос по автоэвенту стоп клок

Автор: Respect: Дата: 08.30.2009

Проблема почему он невыдает автоматически приз после окончания


prontera.gat,130,174,4 script Stop The Clock::Ev_StopClock 924,{

if (getgmlevel() == 99) goto L_GM;
if ($@kc > 0 && @kcid != $@kcid) goto L_eventstarted;
mes "[Stop The Clock]";
mes "Здравствуй ^FF0000"+strcharinfo(0)+"^000000, чем могу помочь?";
menu "^FF0000[Stop The Clock]^000000 информация",L_info,"Выход",-;
close;

L_info:
next;
mes "[Stop The Clock]";
mes "^FF0000Stop the clock^000000 это игра, где нужно кликать на нпц";
next;
mes "[Stop The Clock]";
mes "Человек, который часы ближе к 1000 остановит, победит!";
mes "^FF0000[Note] Чтобы иметь шанс к победе нужно оставить часы от 950 до 1000^000000";
next;
mes "[Stop The Clock]";
mes "Приз: ^FF0000["+getitemname($itemid)+"]^000000";
close;

L_eventstarted:
set @kcid,$@kcid;
setd ".timing_" + .number, $@kc;
setd ".player_" + .number + "$", strcharinfo(0);
set .number, .number+1;
if ($@kc == 1000) {
announce "ДжекПот! "+strcharinfo(0)+" остановил часы на "+$@kc+".",0,0x00EEFF;
} else {
announce ""+strcharinfo(0)+" остановил часы на "+$@kc+".",0,0x00EEFF;
}
end;

L_GM:
mes "[Stop The Clock]";
mes "Дарова Администратор, что хотели?";
mes "Приз: ^FF0000["+getitemname($itemid)+"]^000000";
menu "Изменить приз",L_configure,"Начать эвент",-,"Остановить эвент",L_stop;
if (.start == 1) goto L_started;
next;
mes "[Stop The Clock]";
mes "Эвент стартовал";
close2;

L_startevent:
set .start, 1;
announce "[Stop The Clock] Старт через 1 минуту!",0,0xE38217;
initnpctimer;
end;
OnTimer30000:
if (.start == 0) goto L_suddenstop;
announce "[Stop The Clock] Старт через 30 секунд!",0,0xE38217;
end;
OnTimer50000:
if (.start == 0) goto L_suddenstop;
announce "[Stop The Clock] Старт через 10 секунд!",0,0xE38217;
end;
OnTimer55000:
if (.start == 0) goto L_suddenstop;
announce "[Stop The Clock] Старт через 5 секунд!",0,0xE38217;
OnTimer60000:
if (.start == 0) goto L_suddenstop;
announce "[Stop The Clock] Начался! Клик, клик!",0,0xE38217;
stopnpctimer;
set .number, 1;
set .count, 1000;
set .winner, 0;
set $@kc,0;
set $@kci,0;
set $@kcid,rand(100000,999999);
while ($@kc < 1100) {
set $@kc,$@kc+1;
set $@kci,$@kci+1;
if ($@kci == 100 || ($@kci == 10 && $@kc > 600) || ($@kci == 1 && $@kc >= 950 && $@kc < 1050)) {
if (.start == 0) goto L_suddenstop;
announce $@kc,0;
set $@kci,0;
specialeffect 18;
}
sleep 10;
}
set $@kc,0;
set .start, 0;
set .players, .number+1;

OnFinish:
sleep 1;
if (.count == 949) goto OnFinish3;
if (getd(".timing_" + .number) == .count) goto L_winner1;
set .number, .number-1;
if (.number != 0) goto OnFinish;
set .number, 1;
if (.winner == 1) goto OnFinish3;
set .count, .count-1;

OnFinish2:
sleep 1;
if (.count == 949) goto OnFinish3;
if (getd(".timing_" + .number) == .count) goto L_winner2;
set .number, .number+1;
if (.number != .players) goto OnFinish2;
set .number, .number-1;
if (.winner == 1) goto OnFinish3;
set .count, .count-1;
goto OnFinish;

L_winner1:
if (getd(".timing_" + .number) == 1000) {
announce ""+getd(".player_" + .number + "$")+" wins! (Prize x2 for stopping exactly on 1000)",0;
charcommand "#item " + $itemid + " 2 " + getd(".player_" + .number + "$");
} else {
announce ""+getd(".player_" + .number + "$")+" wins!",0;
charcommand "#item " + $itemid + " 1 " + getd(".player_" + .number + "$");
}
set .number, .number-1;
set .winner, 1;
goto OnFinish;

L_winner2:
if (getd(".timing_" + .number) == 1000) {
announce ""+getd(".player_" + .number + "$")+" wins! (Prize x2 for stopping exactly on 1000)",0;
charcommand "#item " + $itemid + " 2 " + getd(".player_" + .number + "$");
} else {
announce ""+getd(".player_" + .number + "$")+" wins!",0;
charcommand "#item " + $itemid + " 1 " + getd(".player_" + .number + "$");
}
set .number, .number+1;
set .winner, 1;
goto OnFinish2;

OnFinish3:
sleep 1;
set .number, .players-1;
while (.number != 0) {
set getd(".timing_" + .number), 0;
set .number, .number-1;
}
end;

L_started:
next;
mes "[Stop The Clock]";
mes "Эвент уже стартовал!";
close;

L_configure:
next;
mes "[Stop The Clock]";
mes "Пожалуйста введите id приза.";
input $itemid;
next;
mes "[Stop The Clock]";
mes "Уверены что хотите ^FF0000"+getitemname($itemid)+"^000000 изменить приз эвента?";
menu "Да",-,"Нет",L_no;
next;
mes "[Stop The Clock]";
mes "Приз изменен на ^FF0000["+getitemname($itemid)+"]^000000.";
next;
goto L_GM;

L_no:
goto L_configure;

L_stop:
next;
if (.start == 1) {
mes "[Stop The Clock]";
mes "Эвент стартовал, уверены что хотите остановить эвент?";
menu "Да",-,"Нет",-;

if (@menu == 1) {
next;
set .start, 0;
mes "[Stop The Clock]";
mes "Эвент остановлен";
next;
goto L_GM;
} else {
next;
goto L_GM;
}
} else {
mes "[Stop The Clock]";
mes "Эвент уже начался!";
close;
}

L_suddenstop:
announce "[Stop The Clock] Эвент остановлен администрацией",0,0xE38217;
end;

OnClock100:
OnClock200:
OnClock300:
OnClock400:
OnClock500:
OnClock600:
OnClock700:
OnClock800:
OnClock900:
OnClock1000:
OnClock1100:
OnClock1200:
OnClock1300:
OnClock1400:
OnClock1500:
OnClock1600:
OnClock1700:
OnClock1800:
OnClock1900:
OnClock2000:
OnClock2100:
OnClock2200:
OnClock2300:

if (gettime(4) == 1 || gettime(4) == 3 || gettime(4) == 5 || gettime(4) == 7) end;
goto L_startevent;
}

Автор: Extez1: Дата: 09.01.2009

там ставиш id при3а и всё выдаёт

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

дополз я до этого скрипта. мда друзья, вы наверно забыли, что чар команды юзаются в следующей последовательности: ник чара команда значение.....

вот ваш фикс....



L_winner1:
if (getd(".timing_" + .number) == 1000) {
announce ""+getd(".player_" + .number + "$")+" wins! (Prize x2 for stopping exactly on 1000)",0;
charcommand "#item "+getd(".player_" + .number + "$")+" "+$itemid+" 2";
} else {
announce ""+getd(".player_" + .number + "$")+" wins!",0;
charcommand "#item "+getd(".player_" + .number + "$")+" "+$itemid+" 1";
}
set .number, .number-1;
set .winner, 1;
goto OnFinish;

L_winner2:
if (getd(".timing_" + .number) == 1000) {
announce ""+getd(".player_" + .number + "$")+" wins! (Prize x2 for stopping exactly on 1000)",0;
charcommand "#item "+getd(".player_" + .number + "$")+" "+$itemid+" 2";
} else {
announce ""+getd(".player_" + .number + "$")+" wins!",0;
charcommand "#item "+getd(".player_" + .number + "$")+" "+$itemid+" 1";
}



проверено: работает.

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

Раф, тема уже давно не актуальна.

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

@Мяфк: честно - плевать на актуальность. Я обещал, но забыл. Вчера мне напомнил другой человек, попросивший тоже самое, я сделал что обещал. Выходит - всё актуально.

Автор: sin4ik: Дата: 10.03.2009

Raff
или я туплю , или у тебя L_Winner1 и L_Winner2 абсолютно одинаковые, т е приз дадут в том случае , если ты остановил часы на показателе 1000 оО


Короч я попробовал этот скрипт нефига он не пашет

З.Ы. есть у кого нормальный Стоп зе Клок оО ???

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

этот скрипт 100% пашет. выставляй приз и радуйся жизни. это не мой скрипт, но проверен мною на eA транк 14+ и 13,5 - работает на ура.

Автор: sin4ik: Дата: 10.04.2009

prontera,156,175,4 script Stop The Clock::Ev_StopClock 924,{

if (getgmlevel() == 99) goto L_GM;
if ($@kc > 0 && @kcid != $@kcid) goto L_eventstarted;
mes "[Stop The Clock]";
mes "Здравствуй ^FF0000"+strcharinfo(0)+"^000000, чем могу помочь?";
menu "^FF0000[Stop The Clock]^000000 информация",L_info,"Выход",-;
close;

L_info:
next;
mes "[Stop The Clock]";
mes "^FF0000Stop the clock^000000 это игра, где нужно кликать на нпц";
next;
mes "[Stop The Clock]";
mes "Человек, который часы ближе к 1000 остановит, победит!";
mes "^FF0000[Note] Чтобы иметь шанс к победе нужно оставить часы от 950 до 1000^000000";
next;
mes "[Stop The Clock]";
mes "Приз: ^FF0000["+getitemname($itemid)+"]^000000";
close;

L_eventstarted:
set @kcid,$@kcid;
setd ".timing_" + .number, $@kc;
setd ".player_" + .number + "$", strcharinfo(0);
set .number, .number+1;
if ($@kc == 1000) {
announce "ДжекПот! "+strcharinfo(0)+" остановил часы на "+$@kc+".",0,0x00EEFF;
} else {
announce ""+strcharinfo(0)+" остановил часы на "+$@kc+".",0,0x00EEFF;
}
end;

L_GM:
mes "[Stop The Clock]";
mes "Дарова Администратор, что хотели?";
mes "Приз: ^FF0000["+getitemname($itemid)+"]^000000";
menu "Изменить приз",L_configure,"Начать эвент",-,"Остановить эвент",L_stop;
if (.start == 1) goto L_started;
next;
mes "[Stop The Clock]";
mes "Эвент стартовал";
close2;

L_startevent:
set .start, 1;
announce "[Stop The Clock] Старт через 1 минуту!",0,0xE38217;
initnpctimer;
end;
OnTimer30000:
if (.start == 0) goto L_suddenstop;
announce "[Stop The Clock] Старт через 30 секунд!",0,0xE38217;
end;
OnTimer50000:
if (.start == 0) goto L_suddenstop;
announce "[Stop The Clock] Старт через 10 секунд!",0,0xE38217;
end;
OnTimer55000:
if (.start == 0) goto L_suddenstop;
announce "[Stop The Clock] Старт через 5 секунд!",0,0xE38217;
OnTimer60000:
if (.start == 0) goto L_suddenstop;
announce "[Stop The Clock] Начался! Клик, клик!",0,0xE38217;
stopnpctimer;
set .number, 1;
set .count, 1000;
set .winner, 0;
set $@kc,0;
set $@kci,0;
set $@kcid,rand(100000,999999);
while ($@kc < 1100) {
set $@kc,$@kc+1;
set $@kci,$@kci+1;
if ($@kci == 100 || ($@kci == 10 && $@kc > 600) || ($@kci == 1 && $@kc >= 950 && $@kc < 1050)) {
if (.start == 0) goto L_suddenstop;
announce $@kc,0;
set $@kci,0;
specialeffect 18;
}
sleep 10;
}
set $@kc,0;
set .start, 0;
set .players, .number+1;

OnFinish:
sleep 1;
if (.count == 949) goto OnFinish3;
if (getd(".timing_" + .number) == .count) goto L_winner1;
set .number, .number-1;
if (.number != 0) goto OnFinish;
set .number, 1;
if (.winner == 1) goto OnFinish3;
set .count, .count-1;

OnFinish2:
sleep 1;
if (.count == 949) goto OnFinish3;
if (getd(".timing_" + .number) == .count) goto L_winner2;
set .number, .number+1;
if (.number != .players) goto OnFinish2;
set .number, .number-1;
if (.winner == 1) goto OnFinish3;
set .count, .count-1;
goto OnFinish;

L_winner1:
if (getd(".timing_" + .number) == 1000) {
announce ""+getd(".player_" + .number + "$")+" wins! (Prize x2 for stopping exactly on 1000)",0;
charcommand "#item "+getd(".player_" + .number + "$")+" "+$itemid+" 2";
} else {
announce ""+getd(".player_" + .number + "$")+" wins!",0;
charcommand "#item "+getd(".player_" + .number + "$")+" "+$itemid+" 1";
}
set .number, .number-1;
set .winner, 1;
goto OnFinish;

L_winner2:
if (getd(".timing_" + .number) == 1000) {
announce ""+getd(".player_" + .number + "$")+" wins! (Prize x2 for stopping exactly on 1000)",0;
charcommand "#item "+getd(".player_" + .number + "$")+" "+$itemid+" 2";
} else {
announce ""+getd(".player_" + .number + "$")+" wins!",0;
charcommand "#item "+getd(".player_" + .number + "$")+" "+$itemid+" 1";
}

OnFinish3:
sleep 1;
set .number, .players-1;
while (.number != 0) {
set getd(".timing_" + .number), 0;
set .number, .number-1;
}
end;

L_started:
next;
mes "[Stop The Clock]";
mes "Эвент уже стартовал!";
close;

L_configure:
next;
mes "[Stop The Clock]";
mes "Пожалуйста введите id приза.";
input $itemid;
next;
mes "[Stop The Clock]";
mes "Уверены что хотите ^FF0000"+getitemname($itemid)+"^000000 изменить приз эвента?";
menu "Да",-,"Нет",L_no;
next;
mes "[Stop The Clock]";
mes "Приз изменен на ^FF0000["+getitemname($itemid)+"]^000000.";
next;
goto L_GM;

L_no:
goto L_configure;

L_stop:
next;
if (.start == 1) {
mes "[Stop The Clock]";
mes "Эвент стартовал, уверены что хотите остановить эвент?";
menu "Да",-,"Нет",-;

if (@menu == 1) {
next;
set .start, 0;
mes "[Stop The Clock]";
mes "Эвент остановлен";
next;
goto L_GM;
} else {
next;
goto L_GM;
}
} else {
mes "[Stop The Clock]";
mes "Эвент уже начался!";
close;
}

L_suddenstop:
announce "[Stop The Clock] Эвент остановлен администрацией",0,0xE38217;
end;

OnClock100:
OnClock200:
OnClock300:
OnClock400:
OnClock500:
OnClock600:
OnClock700:
OnClock800:
OnClock900:
OnClock1000:
OnClock1143:
OnClock1200:
OnClock1300:
OnClock1400:
OnClock1500:
OnClock1600:
OnClock1700:
OnClock1800:
OnClock1939:
OnClock2000:
OnClock2100:
OnClock2200:
OnClock2300:

if (gettime(4) == 1 || gettime(4) == 3 || gettime(4) == 5 || gettime(4) == 7) end;
goto L_startevent;
}







Raf вот код, не мог ли бы ты сделать что б приз постоянный был ТЦГ (айди 722)

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

id tcg не 722 а 7227...


L_winner1:
if (getd(".timing_" + .number) == 1000) {
announce ""+getd(".player_" + .number + "$")+" wins! (Prize x2 for stopping exactly on 1000)",0;
charcommand "#item "+getd(".player_" + .number + "$")+" 7227 2";
} else {
announce ""+getd(".player_" + .number + "$")+" wins!",0;
charcommand "#item "+getd(".player_" + .number + "$")+" 7227 1";
}
set .number, .number-1;
set .winner, 1;
goto OnFinish;

L_winner2:
if (getd(".timing_" + .number) == 1000) {
announce ""+getd(".player_" + .number + "$")+" wins! (Prize x2 for stopping exactly on 1000)",0;
charcommand "#item "+getd(".player_" + .number + "$")+" 7227 2";
} else {
announce ""+getd(".player_" + .number + "$")+" wins!",0;
charcommand "#item "+getd(".player_" + .number + "$")+" 7227 1";
}

Автор: sin4ik: Дата: 10.05.2009

спс помогло-)

Автор: DarkWolf: Дата: 01.04.2010

raff я не пойму но у мя не идут анонсы,ну отсчет и типо евент начался,вообще не пойму что за х..

Автор: Skllip: Дата: 01.09.2010

Вот скрипт попробуй.