Flitemaster

Abracadabra (Auto Event) v2 для (eAthena/eAmod)

3 сообщения в этой теме

Вообщем переписал абру, теперь не должна выбивать ошибки... кому надо добавляй свои эффекты , свою локацию и свой приз.

за 4 часа тестов не одной ошибки не выбило.

 

Цитата

 

prontera,136,204,5    script    Abracadabra    924,{
if(getgmlevel()<99){
if ( .event == 2 || .event == 0 ) end;
for(set [email protected],0;[email protected]<getarraysize(.aid);set [email protected], [email protected]+1){
if(getcharid(3)==.aid[[email protected]]){
end;
}
}
if ( .event == 1 ) {
set .aid[ getarraysize(.aid) ], getcharid(3);
mapannounce "event", strcharinfo(0) +" joined the game", 8;
sc_end sc_ALL;
warp "event",101,109;
end;
}
}


OnClock1925:


if ( .event == 1 || .event == 2){end;}
announce "Event 'Abracadabra' Begins! NPC to the left of the fountain.", 8;
announce "You have 60 seconds to register",0;
set .event, 1;
deletearray .aid;
sleep 60000;
set .event, 2;
if ( getarraysize(.aid) < 2 ){
announce "Event canceled, because it did not have enough people", 8;
mapwarp "event","prontera",156,181;
deletearray .aid[[email protected]], 1;
set .event,0;
end;
}
announce "Registration is complete. The event started.", 8;
while ( getarraysize(.aid) > 1 ) {
if (!isloggedin(.aid[[email protected]])){
deletearray .aid[[email protected]], 1;
set [email protected], [email protected] -1;
}
sleep 1000;
mapannounce "event", "~ "+ rid2name(.aid[[email protected]]), 8;
attachrid .aid[[email protected]];
switch ( rand(25,32) ) {
case 25:
specialeffect2 380;
set sp, 0;
break;
case 26:
sc_start SC_STONE,10000,0;
specialeffect2 23;
break;
case 27:
sc_start SC_FREEZE,10000,0;
break;
case 28:
sc_start SC_Poison,10000,0;  
break;
case 29:
sc_start SC_SLEEP,10000,0;  
break;
case 30:
sc_start SC_CURSE,10000,0;  
break;
case 31:
sc_start SC_COMA,10000,0;  
break;
case 32:
specialeffect2 30;
if ( hp - 1000000 < 0 ) {
unitkill getcharid(3);
deletearray .aid[[email protected]], 1;
set [email protected], [email protected] -1;
}
else
set hp, hp - 1000000;
break;
}
set [email protected], [email protected] +1 ;
if ( [email protected] == getarraysize(.aid) ) {
set [email protected], 0;
set [email protected], [email protected] +1 ;
mapannounce "event", "Round ? "+ [email protected], 8;
}
}
if ( .aid == 0 )
announce "No winners", 8;
else {
announce "Event won "+ rid2name(.aid) , 8;
attachrid .aid;
getitem 25112, 1;   // Свой приз сюда
atcommand "@raisemap";
mapwarp "event","prontera",156,181;
}
set .event, 0;
end;
}


event    mapflag    nowarp
event    mapflag    nowarpto
event    mapflag    noteleport
event    mapflag    noreturn
event    mapflag    nosave
event    mapflag    nomemo
event    mapflag    nobranch
event    mapflag    nodrop
event    mapflag    noloot
event    mapflag    noskill
event    mapflag    nopenalty
event    mapflag    nogo

 

 

Изменено пользователем Flitemaster
4

Поделиться сообщением


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

.

Изменено пользователем Grimmjow
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, Jeagerjaques сказал:

+ за старание, я использую Herculer и по твоей теме .aid заменил на .rid и все отлично. Мб у тебя просто другой эмуль и там показывает что-то другое.

угу на афиночке сижу :)

0

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас