- script TownInvasion -1,{
OnMinute00:
if(gettime(3) % 2 == 1 && !agitcheck() && !agitcheck2()) {
for(.@i = 0; .@i < 4; .@i++) { //Spawn on 4 towns
do {
.@index = rand(.num_towns);
} while (.@temp_check[.@index]);
.@temp_check[.@index] = 1;
announce .Town$[.@index]+" Guard: Help us! Our town is being invaded!",bc_blue|bc_all;
for(.@ix = 0; .@ix < 5; .@ix++) { //MvP spawner
monster .Town$[.@index],0,0,"--ja--",.MvP[rand(getarraysize(.MvP))],1,strnpcinfo(1)+"::OnInvadeDeath";
}
for(.@iy = 0; .@iy < 100; .@iy++) { //Mob spawner
monster .Town$[.@index],0,0,"--ja--",-1,1,strnpcinfo(1)+"::OnMobsDeath";
}
}
}
end;
OnInvadeDeath:
.@RandMvP = rand(getarraysize(.Prize));
getitem .Prize[.@RandMvP],.PAmt[.@RandMvP];
goto CheckWipe;
end;
OnMobsDeath:
.@RandMob = rand(getarraysize(.Prize2));
getitem .Prize2[.@RandMob],.PAmt2[.@RandMob];
goto CheckWipe;
end;
CheckWipe:
if(mobcount(strcharinfo(3),"OnInvadeDeath") < 1 && mobcount(strcharinfo(3),"OnMobsDeath") < 1)
Saved++;
if(Saved >= 4) {
announce "Thank you! All the cities have been saved!",bc_blue|bc_all;
Saved = 0;
}
end;
OnInit:
//Towns to Invade
setarray .Town$[0],"prontera","izlude","geffen","payon","alberta","aldebaran","yuno","lighthalzen","einbroch","einbech","comodo","umbala","amatsu","gonryun","ayothaya","louyang","hugel","rachel","veins";
set .num_towns, getarraysize(.Town$);
//MvPs to summon
setarray .MvP[0],1583,1832,1312;
//Prize to give MVP
setarray .Prize[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512;
setarray .PAmt[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
//Prize to give Mobs
setarray .Prize2[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512;
setarray .PAmt2[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
end;
}