that script doesn't need npc
to check how many player on pvp map you must create pvp warper, you could try this
prontera.gat,148,192,4 script Ultimate PvP Warper 417,{
if (.pvp_square$=="") donpcevent "Ultimate PVP warper::OnClock0000";
mes "[PvP Warper]";
mes "Which arena do you want to enter ?";
switch(select("All Job ["+getmapusers(.pvp_square$)+"/128]:Max lvl 99 ["+getmapusers("pvp_y_2-2")+"/128]:3rd Baby Class ["+getmapusers("pvp_y_1-2")+"/128]")) {
case 1: // PVP Square
if (getmapusers(.pvp_square$) > 127) callsub S_full;
warp .pvp_square$,0,0;
announce "Player "+strcharinfo(0)+" enter PVP All Job !!",bc_all;
end;
case 2: // PVP Low Level
if (getmapusers("pvp_y_2-2") > 127) callsub S_full;
if (BaseLevel > 99) { // Edit 150 to any maximum Lvl of a player can enter this room
mes "only player with Level 1 - 99 can enter this arena";
close;
}
warp "pvp_y_2-2",0,0;
announce "Player "+strcharinfo(0)+" enter PVP Max lvl 99 !!",bc_all;
end;
Case 3: // Baby Class
if (getmapusers("pvp_y_1-2") > 127) callsub S_full;
if (class < 4096 || class > 4112) goto L_NotBaby;
warp "pvp_y_1-2",0,0;
announce "Player "+strcharinfo(0)+" enter PVP 3rd Baby Class !!",bc_all;
end;
L_NotBaby:
mes "This room only for 3rd baby class";
close;
}
S_full:
mes "Sorry, this arena already full. please wait a while...";
close;
OnInit:
OnTimer5000:
delwaitingroom;
switch(rand(1,3)) {
Case 1:
waitingroom getmapusers(.pvp_square$)+" player"+( getmapusers(.pvp_square$) > 1 ? "s":"") +" in the arena All Job", 0;
goto Timer;
end;
break;
Case 2:
waitingroom getmapusers("pvp_y_2-2")+" player"+( getmapusers("pvp_y_2-2") > 1 ? "s":"") +" in the arena Max lvl 99", 0;
goto Timer;
end;
break;
Case 3:
waitingroom getmapusers("pvp_y_1-2")+" player"+( getmapusers("pvp_y_1-2") > 1 ? "s":"") +" in the arena 3rd Baby Class", 0;
goto Timer;
end;
break;
Timer:
initnpctimer;
}
OnClock0000:
// set the "PVP Square" map, based on day of the weeek
switch(gettime(4)) {
case 0: // Sunday
case 1: // Monday
set .pvp_square$, "pvp_y_7-2";
break;
case 2: // Tuesday
case 3: // Wednesday
set .pvp_square$, "guild_vs3";
break;
case 4: // Thursday
case 5: // Friday
set .pvp_square$, "pvp_y_7-2";
break;
case 6: // Saturday
set .pvp_square$, "guild_vs3";
break;
}
}