Hi All, anyone knows why this script not showing and not getting the reward if you're the only 1 in the map? There is no announcement too that you're the winner.
In this screenshot, I already killed my 2nd account and I am the only one in the map:
- script event_start -1,{
OnMinute00:
announce "Death Match Event starts in a few minutes!",0;
sleep 5000;
announce "Register at the NPC 'Death Match'. You have 2 minutes to sign up!",0;
pvpoff "guild_vs2";
enablenpc "Death Match";
donpcevent "agasper_dm::OnDM";
end;
}
prontera,150,170,5 script Death Match 811,{
mes "[ Death Match ]";
mes "Hi, "+strcharinfo(0)+"!";
mes "Cost of registration: ^ff0000"+.reg_price+"^000000 Zeny!";
if (select("I agree:Exit") == 2)
close;
if (BaseClass == Job_Novice) {
next;
mes "[ Death Match ]";
mes "Beginners can not participate in the event!";
close;
}
if (Zeny < .reg_price){
next;
mes "[ Death Match ]";
mes "Where's the money?";
close;
}
set Zeny, Zeny - .reg_price;
set .@index, getarraysize(.player_list);
if (.@index == 0)
set .@index, 1;
set .player_list[.@index], getcharid(3);
set deathmatch_index, .@index;
warp "guild_vs2", 50, 50;
close;
OnInit:
set .reg_price, 500000;
disablenpc "Death Match";
end;
}
- script agasper_dm -1,{
OnClear:
deletearray getvariableofnpc(.player_list[0], "Death Match"), getarraysize(getvariableofnpc(.player_list, "Death Match"));
return;
OnDM:
sleep 120000;
disablenpc "Death Match";
if(getmapusers("guild_vs2") < 2){
announce "In the Event gathered less than 2-man! Event is canceled!",0;
callsub(OnClear);
mapwarp "guild_vs2", "prontera", 150, 170;
end;
}
announce "Event 'Death Match' is start!",0;
pvpon "guild_vs2";
initnpctimer;
end;
OnPCDieEvent:
set .@dead, 1;
OnPCLogoutEvent:
if (strcharinfo(3) != "guild_vs2")
end;
if (deathmatch_index < 1)
end;
set getvariableofnpc(.player_list[deathmatch_index], "Death Match"), -1;
if (.@dead == 1) {
warp "SavePoint", 0, 0;
atcommand "@alive"+strcharinfo(0);
dispbottom "[Death Match]: You lose =(";
}
end;
OnTimer5000:
switch(getmapusers("guild_vs2")) {
case 0:
announce "Event 'Death Match' end as the players in the event is not!", 0;
stopnpctimer;
callsub(OnClear);
break;
case 1:
callsub(OnWin);
break;
default:
mapannounce "guild_vs2", getmapusers("guild_vs2")+" Player(s) are still in the event!", 0;
initnpctimer;
break;
}
end;
OnWin:
for(set .@i, 0; .@i < getarraysize(getvariableofnpc(.player_list, "Death Match")); set .@i, .@i + 1) {
if (getvariableofnpc(.player_list[.@i], "Death Match") != -1) {
set .@account_id, .player_list[.@i];
break;
}
}
if (attachrid(.@account_id)) {
callsub(OnPCKillEvent);
}
end;
OnPCKillEvent:
.@players = getarraysize(getvariableofnpc(.player_list, "Death Match"));
if(strcharinfo(3) == "guild_vs2" && getmapusers("guild_vs2") < 2) {
stopnpctimer;
announce "Player "+strcharinfo(0)+" won the event 'Death Match' and get "+ .reg_price * .@players +" Zeny!",0;
set Zeny, Zeny + .reg_price * .@players;
message strcharinfo(0),"You get "+ .reg_price*.@players +" Zeny!";
warp "SavePoint",0,0;
callsub(OnClear);
}
end;
}
guild_vs2 mapflag noteleport
guild_vs2 mapflag nowarp
guild_vs2 mapflag nowarpto
guild_vs2 mapflag nobranch
guild_vs2 mapflag noicewall
guild_vs2 mapflag pvp_noguild
guild_vs2 mapflag pvp_noparty
guild_vs2 mapflag nomemo
guild_vs2 mapflag nodrop