Ich würde eine variable mit einem array machen, in der der abgespeichert wird, ob die virtuelle welt schon belegt ist.
Dazu brauchst du erstmal die var selbst, die du oben ins script schreibst, hier z.b.:
new bool:weltbelegt[MAX_PLAYERS];
Unter onplayerconnect musst du dann mittels for schleife überprüfen, welche virtuelle welt frei ist und musst ihn dann dieser zuteilen
for(new i = 0; i<MAX_PLAYERS; i++)
{
if(weltbelegt[i] == false)
{
SetPlayerVirtualWorld(playerid,i);
weltbelegt[i] = true;
break; //um die schleife jetzt zu beenden
}
}
Natürlich musst du die virtuelle welt nach verlassen des spielers unter onplayerdisconnect wieder "freigeben":
weltbelegt[GetPlayerVirtualWorld(playerid)] = false;
Ich hoffe ich konnte dir ein wenig helfen...sry wenns ned bugfrei is
Mfg