Перейти к содержанию

Рулетка


Рекомендуемые сообщения

Помогите в чем проблема все время после ставки пишет пистолет не выстрелил.

Вот сам скрипт.

prontera,156,223,4	script	Рулетка	810,{
if(getgmlevel() >= 20)
{
if($@nachalo>0)
{
mes "Эвент уже идет, хочешь закончить регистрацию и приступить к эвенту?";
switch(select("Нет:Да, приступить:Хочу остановить эвент"))
{
case 1:
close;
case 2:
stopnpctimer;

close2;
goto st;
close;
case 3:
close2;
stopnpctimer;
areaannounce "prontera",144,211,170,236,"Ставка отменена Администратором.",0;
for(set .i,0;.i<getarraysize($@reg$);set .i, .i+1)
{
attachrid getcharid(3,$@reg$[.i]);
if($@nachalo==1)
set zeny, zeny+$@stavka;
if($@nachalo==2)
getitem $@loot,$@stavka;
}
goto the_end;
close;
}
}
mes "В чем сделать ставку?";
switch(select("Деньги:Крупные ставки(больше 10кк):Лут:Передумал"))
{
case 1:
stavk1:
mes "Какая будет ставка?";
input $@stavka;
if($@stavka<1)
{
mes "Ставка должна быть больше 0";
next;
goto stavk1;
}
next;
kol1:
mes "Введи максимальное количество человек, которые смогут участвовать в эвенте.";
input $@kol;
if($@kol<3)
{
mes "Количество человек должно быть не меньше 3";
next;
goto kol1;
}
chance1:
mes "Введи шанс.";
input $@chance;
if($@chance<2)
{
mes "Шанс не должно быть не меньше чем 1к2";
next;
goto chance1;
}
set $@nachalo, 1;
set $@name$, "zeny";
close2;
donpcevent "Рулетка::onstart";
close;

case 2:
stavk3:
mes "Какая будет ставка?";
mes "То что ты введешь будет умножено на 1кк";
input $@stavka;
set $@stavka, $@stavka*1000000;
if($@stavka<1)
{
mes "Ставка должна быть больше 0";
next;
goto stavk3;
}
next;
kol3:
mes "Введи максимальное количество человек, которые смогут участвовать в эвенте.";
input $@kol;
if($@kol<3)
{
mes "Количество человек должно быть не меньше 3";
next;
goto kol3;
}
chance3:
mes "Введи шанс.";
input $@chance;
if($@chance<2)
{
mes "Шанс не должно быть не меньше чем 1к2";
next;
goto chance3;
}
set $@nachalo, 1;
set $@name$, "zeny";
close2;
donpcevent "Рулетка::onstart";
close;

case 3:
loot:
mes "Введи id вещи, какой лут будет выставлен на ставку.";
input $@loot;
if(getitemname($@loot)=="null")
{
mes "Вы не правильно ввели id вещи";
next;
goto loot;
}
next;
stavk2:
mes "Какая будет ставка?";
input $@stavka;
if($@stavka<1)
{
mes "Ставка должна быть больше 0";
next;
goto stavk2;
}
next;
kol2:
mes "Введи максимальное количество человек, которые смогут участвовать в эвенте.";
input $@kol;
if($@kol<3)
{
mes "Количество человек должно быть не меньше 3";
next;
goto kol2;
}
chance2:
mes "Введи шанс.";
input $@chance;
if($@chance<2)
{
mes "Шанс не должно быть не меньше чем 1к2";
next;
goto chance2;
}
set $@nachalo, 2;
set $@name$, getitemname($@loot);
close2;
donpcevent "Рулетка::onstart";
close;

case 4:
close;
}
}
else
{
if($@regend>0)
{
mes "Эвент уже начался.";
close;
}
for(set .i,0;.i<getarraysize($@reg$);set .i, .i+1)
{
if(strcharinfo(0)==$@reg$[.i])
{
mes "Ты уже зарегистрирован.";
close;
}
}
mes "Хочешь сделать ставку?";
mes "Ставка: ^FF0000"+$@stavka+" "+$@name$+"^000000";
menu "Да хочу",-,"Нет, я передумал",lno;
switch($@nachalo)
{
case 0:
mes "Эвент сейчас не идет.";
close;

case 1:
if(zeny < $@stavka)
{
mes "Ставка: ^FF0000"+$@stavka+"^000000";
close;
}
set zeny,zeny - $@stavka;
goto reg;
close;

case 2:
if(countitem($@loot) < $@stavka)
{
mes "Ставка: ^FF0000"+$@stavka+" "+getitemname($@loot)+"^000000";
close;
}
delitem $@loot,$@stavka;
goto reg;
close;
}

reg:
if(getarraysize($@reg$)<$@kol)
{
set $@reg$[getarraysize($@reg$)],strcharinfo(0);
areaannounce "prontera",144,211,170,236,getarraysize($@reg$)+" - "+strcharinfo(0),0;
if(getarraysize($@reg$)==$@kol)
{
stopnpctimer;
close2;
goto st;
close;
}
}
else
{
mes "Ты опоздал, места закончились.";
close;
}
lno:
close;
}
close;

onstart:
announce "Рулетка началась! НПЦ сверху от фонтана.",bc_all;
areaannounce "prontera",144,211,170,236,"Ставка: "+$@stavka+" "+$@name$+"! Шанс 1 к "+$@chance+"! Максимальное количество людей: "+$@kol,0,0x00FF00;
initnpctimer;
end;
OnTimer180000:
st:
announce "Регистрация закончена. Начинаем!",bc_all;
sleep 1000;
set $@regend, 1;
set $@kolich, getarraysize($@reg$);
if($@kolich < 2)
{
announce "Участников не набралось",bc_all;
for(set .i,0;.i<getarraysize($@reg$);set .i, .i+1)
{
attachrid getcharid(3,$@reg$[.i]);
if($@nachalo==1)
set zeny, zeny+$@stavka;
if($@nachalo==2)
getitem $@loot,$@stavka;
}
goto the_end;
close;
}
while(getarraysize($@reg$)>1){
sleep 200;
set $@i,0;
while($@i<getarraysize($@reg$))
{
sleep 100;
set .chance,$@chance;
set .random, rand(1,.chance);
if(.random>1)
{
sleep 200;
areaannounce "prontera",144,211,170,236,$@reg$[$@i]+" - пистолет не выстрелил.",0,0x2DC3FF;
}
else
{
attachrid getcharid(3,$@reg$[$@i]);
sleep 200;
percentheal -100,0;
specialeffect2 266;
specialeffect2 183;
areaannounce "prontera",144,211,170,236,$@reg$[$@i]+" погибает.",0,0xAD030B;
deletearray $@reg$[$@i],1;
if(getarraysize($@reg$)==1)
goto one;
set $@i, $@i-1;
}
set $@i, $@i+1;
}
}
if(getarraysize($@reg$)==1)
{
one:
areaannounce "prontera",144,211,170,236,"Победил "+$@reg$[0]+". Он выиграл "+$@kolich*$@stavka+" "+$@name$,0,0xB200FF;
attachrid getcharid(3,$@reg$[0]);
if($@nachalo==1)
set zeny, zeny + $@kolich*$@stavka;
if($@nachalo==2)
getitem $@loot,$@kolich*$@stavka;
the_end:
deletearray $@reg$[0],getarraysize($@reg$);
atcommand "@raisemap";
set $@nachalo,0;
set $@regend,0;
set .raund,0;
close;
}
}

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

×
×
  • Создать...
Яндекс.Метрика