[Pawno} Hilfe -> Eine DM Arena mit begrenzter Spieleranzahl ? Wie ?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,
    ich wollte einmal fragen, wie ich eine Arena hinbekomme, in der nur eine bestimmte Anzahl von Spieler kommen können. Also z.B. das nur 2 in eine Arena rein können.
    Schonmal Danke im vorraus !


    Viele Grüße
    Henni

    • Offizieller Beitrag

    Für die Arena eine Variable erstellen, beim "Betreten" - Pickup/CMD prüfen ob der Wert 2 erreicht hat, wenn ja Meldung ausgeben und Spieler nicht rein lassen, wenn nein den Spieler in die Arena porten und den Wert der Variable um eins hochzählen, beim Verlassen Pickup/CMD einfach nur die Variable um eins herunterzählen


    „Nicht das, was du nicht weißt, bringt dich in Schwierigkeiten, sondern dass, was du sicher zu wissen glaubst, obwohl es gar nicht wahr ist.“
    Mark Twain

    ---
    ICH BIN NUR HIER UM LEUTE ANZUSCHREIEN

  • Hallo,


    das ist recht einfach, du musst lediglich eine neue Variable mein betreten der Arena auf +1 setzen sprich:
    ArenaVariable++;


    ganz oben brauchen wir folgendes:
    #define MAX_ARENA_SPIELER 2
    new ArenaVariable;
    new bool:IsPlayerArenaMember[MAX_PLAYERS] = false;


    Und in dem Befehl wo die Arena betreten wird eine Abfrage oben haben:

    if(ArenaVariable+1 > MAX_ARENA_SPIELER) return SendClientMessage(playerid, -1, "Zurzeit können keine weiteren Spieler in die Arena!");
    ArenaVariable++;
    IsPlayerArenaMember[playerid] = true;

    Das +1 bei der ArenaVariable soll den jetzigen Spieler die die Arena betreten möchte dazuzählen ob dann das Limit überschritten ist.


    Unter OnPlayerConnect die Variable reseten!
    IsPlayerArenaMember[playerid] = false;


    Jetzt muss man nur noch beim rausgehen der arena die Variable -1 abziehen:
    ArenaVariable--;
    IsPlayerArenaMember[playerid] = false;


    und beim Verlassen des Server's falls man noch in der Arena ist ebenfalls.



    if(IsPlayerArenaMember[playerid] == true) ArenaVariable--;


    Grüße.