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

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


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

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

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

 

Цитата

 

prontera,136,204,5    script    Abracadabra    924,{
if(getgmlevel()<99){
if ( .event == 2 || .event == 0 ) end;
for(set .@i,0;.@i<getarraysize(.aid);set .@i, .@i+1){
if(getcharid(3)==.aid[.@i]){
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[.@i], 1;
set .event,0;
end;
}
announce "Registration is complete. The event started.", 8;
while ( getarraysize(.aid) > 1 ) {
if (!isloggedin(.aid[.@i])){
deletearray .aid[.@i], 1;
set .@i, .@i -1;
}
sleep 1000;
mapannounce "event", "~ "+ rid2name(.aid[.@i]), 8;
attachrid .aid[.@i];
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[.@i], 1;
set .@i, .@i -1;
}
else
set hp, hp - 1000000;
break;
}
set .@i, .@i +1 ;
if ( .@i == getarraysize(.aid) ) {
set .@i, 0;
set .@round, .@round +1 ;
mapannounce "event", "Round ? "+ .@round, 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
  • Upvote 4
Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Jeagerjaques сказал:

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

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

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

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