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

Ошибка скрипта


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

Имеется данный скрипт, использую eathena последней ревизии. Не могу понять в чем ошибка.

guild_vs2,88,52,3 script Party 100,{

if ( .Event ) {

mes .npc$;

mes "An event is ongoing. Please wait for them to finish";

close;

}

if ( #timer > gettimetick( 2 ) ) {

mes .npc$;

mes "Please wait 12 hours to have wave event again";

close;

}

if ( !getcharid( 1 ) ) {

mes .npc$;

mes "You don't have party";

close;

}

if ( getpartyleader( getcharid( 1 ), 2 ) != getcharid( 0 ) ) {

mes .npc$;

mes "You must be the leader of your party";

close;

}

getpartymember getcharid( 1 );

if ( 5 > $@partymembercount ) {

mes .npc$;

mes "You must have at least 5 members in the party to have the wave event";

close;

}

if ( 600 > countitem( 674 ) ) {

mes .npc$;

mes "You must have at least 600 " + getitemname( 674 ) + " in order to have the wave event";

close;

}

close2;

.Event = 1;

delitem 674, 600;

warpparty "guild_vs5", 0, 0, getcharid( 1 );

donpcevent strnpcinfo( 1 ) + "::onstart";

end;

onstart:

sleep 60000;

//* 1002 is poring ( 50x ) */

.wave++;

if ( .wave < 5 )

monster "guild_vs5", 0, 0, "--ja--", .MiniBoss[ .wave - 1 ], .MiniBossAmount[ .wave - 1 ], strnpcinfo( 1 ) + "::OnKilledMob";

else {

for ( .@i = 0; .@i < getarraysize( .Boss ); .@i++ )

monster "guild_vs5", 0, 0, "--ja--", .Boss[ .@i ], 1, strnpcinfo( 1 ) + "::OnKilledBoss";

}

addtimer ( .Timer[ .wave - 1 ] * 60000 ), strnpcinfo( 1 ) + "::OnTimeOut";

end;

OnKilledMob:

if ( mobcount( "guild_vs5", strnpcinfo( 1 ) + "::OnKilledMob" ) ) end;

donpcevent strnpcinfo( 1 ) + "::onstart";

end;

OnKilledBoss:

if ( mobcount( "guild_vs5", strnpcinfo( 1 ) + "::OnKilledBoss" ) ) end;

announce "Congrats ! The party " + getpartyname( getcharid( 1 ) ) + " with " + rid2name( getpartyleader( getcharid( 1 ), 1 ) ) + " has finish the Wave Event",0;

.Event = 0; .wave = 0;

getpartymember getcharid( 1 ), 1;

getpartymember getcharid( 1 ), 2;

for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {

if ( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) {

getitem .CastleDrops[ rand( getarraysize( .CastleDrops ) ) ], 1;

#timer = gettimetick( 2 ) + ( 12 * 3600000 );

}

}

end;

OnTimeOut:

if ( !mobcount( "guild_vs5", "all" ) ) end;

.Event = 0; .wave = 0;

warpparty "prontera", 150, 150, getcharid( 1 );

end;

OnInit:

.npc$ = "[ ^FF0000" + strnpcinfo( 1 ) + "^000000 ]";

setarray .MiniBoss[0], 1002, 1002, 1002, 1002;

setarray .MiniBossAmount[0], 10, 20, 30, 50;

setarray .Timer[0], 2, 3, 5, 10, 20;

setarray .Boss[0], 1002, 1002, 1002; //* Put all your MVP id's here */

setarray .CastleDrops[0], 607, 7227, 7179; //* Put all your castle drops here */

end;

}

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

Скрин ошибки

Если бы я мог его выложить я бы выложил.

Проверил скрипт, выяснилось что ошибка где-то тут:

onstart:

sleep 60000;

//* 1002 is poring ( 50x ) */

.wave++;

if ( .wave < 5 )

monster "guild_vs5", 0, 0, "--ja--", .MiniBoss[ .wave - 1 ], .MiniBossAmount[ .wave - 1 ], strnpcinfo( 1 ) + "::OnKilledMob";

else {

for ( .@i = 0; .@i < getarraysize( .Boss ); .@i++ )

monster "guild_vs5", 0, 0, "--ja--", .Boss[ .@i ], 1, strnpcinfo( 1 ) + "::OnKilledBoss";

}

addtimer ( .Timer[ .wave - 1 ] * 60000 ), strnpcinfo( 1 ) + "::OnTimeOut";

end;

OnKilledMob:

if ( mobcount( "guild_vs5", strnpcinfo( 1 ) + "::OnKilledMob" ) ) end;

donpcevent strnpcinfo( 1 ) + "::onstart";

end;

OnKilledBoss:

if ( mobcount( "guild_vs5", strnpcinfo( 1 ) + "::OnKilledBoss" ) ) end;

announce "Congrats ! The party " + getpartyname( getcharid( 1 ) ) + " with " + rid2name( getpartyleader( getcharid( 1 ), 1 ) ) + " has finish the Wave Event",0;

.Event = 0; .wave = 0;

getpartymember getcharid( 1 ), 1;

getpartymember getcharid( 1 ), 2;

for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {

if ( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) {

getitem .CastleDrops[ rand( getarraysize( .CastleDrops ) ) ], 1;

#timer = gettimetick( 2 ) + ( 12 * 3600000 );

}

}

end;

OnTimeOut:

if ( !mobcount( "guild_vs5", "all" ) ) end;

.Event = 0; .wave = 0;

warpparty "prontera", 150, 150, getcharid( 1 );

end;

OnInit:

.npc$ = "[ ^FF0000" + strnpcinfo( 1 ) + "^000000 ]";

setarray .MiniBoss[0], 1002, 1002, 1002, 1002;

setarray .MiniBossAmount[0], 10, 20, 30, 50;

setarray .Timer[0], 2, 3, 5, 10, 20;

setarray .Boss[0], 1002, 1002, 1002; //* Put all your MVP id's here */

setarray .CastleDrops[0], 607, 7227, 7179; //* Put all your castle drops here */

end;

}

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

Я может и ошибаюсь, но это точно скрипт на eA?

т.к. я увидел такое:

.wave, ++ изменил set .wave, +1; вроде не читал как ошибку.

.Event = 1 изменил set .Event, 1;

if ( .wave < 5 ) фигур скобки тыкнул

теперь показывает проблему в


for ( .@i = 0; .@i < getarraysize( .Boss ); .@i++ )

вот весь

else {

for ( .@i = 0; .@i < getarraysize( .Boss ); .@i++ )

monster "guild_vs5", 0, 0, "--ja--", .Boss[ .@i ], 1, strnpcinfo( 1 ) + "::OnKilledBoss";

addtimer ( .Timer[ .wave - 1 ] * 60000 ), strnpcinfo( 1 ) + "::OnTimeOut";

end;

}

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

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