Sziasztok!
Szeretném megoldani,hogy ha valaki beír egy parancsot,akkor az illetőt elteleportálja \"A1 koordinátára,,.
Azonban ha valaki utána beírja szintén ugyan azt a parancsot,akkor őt már az \"A2 koordinátára,, teleportálja el.
Tehát ne egymásra teleportálódjanak,hanem mindig egy másik megadott koordinátára.
CMD:dm(playerid,params[])
{
if(IsPlayerInDM[playerid] == false)
{
IsPlayerInDM[playerid] = true;
}
else
{
SendClientMessage(playerid,-1,\"Már csatlakoztál a DM-be!\");
}
new slot = 0;
switch(slot)
{
case 0:
{
SetPlayerPos(playerid,A1);
slot ++;
}
case 1:
{
SetPlayerPos(playerid,A2);
slot ++;
}
case 2:
{
SetPlayerPos(playerid,A3);
slot ++;
}
case 3:
{
SetPlayerPos(playerid,A4);
slot ++;
}
case 4:
{
SendClientMessage(playerid,-1,\"Nincs több hely!\");
}
}
return 1;
}
Így próbáltam megoldani,viszont ha valaki elhagyja a DM-et,akkor az ő helye üres lesz,és oda már nem tudnak akkor belépni.
Kivéve ha kilépésnél levonok egyet a változó értékéből..
Viszont akkor meg az a probléma áll fenn,hogy ha már négyen vannak bent,és a második kilép,akkor a változó értéke így 3-lesz és akkor ha ismét belép valaki,akkor a 3. helyen már ketten lesznek.
Hogy lehetne megoldani,hogy mindig az üres helyre tegye a játékost?