Array mit Startpositionen

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 bin gerade an einem Fun-Game bzw. einfach nen Rennen in der Arena die es gibt in GTA.


    Auf jeden Fall, wie kann ich es machen wenn ich in einem Array 8 mögliche Startpositionen habe,


    das wenn 2 Spieler sind die auf den Ersten 2 sind, bei 3 die ersten drei (damit mein ich damit nicht einer vorn ist und einer ganz hinten.


    Also wie kann ich Spieler eins der abgefragt wird position 1 geben, Spieler 2 Position 2 und so weiter.


    - Tomsen



    2 Mal editiert, zuletzt von Tomsen ()

  • Und wie?


    Ja klar ich könnt auch dem Spieler der schon drin ist die 1. Position geben und dem 2. der dazu kommt die 2.


    Ist aber nicht dynamisch und hilft mir bei mehr als 2 Spielern auch nicht weiter.


    - Tomsen



    Einmal editiert, zuletzt von Tomsen ()

  • // Global Defintion
    #define MAX_RACER 8
    new Racer[MAX_RACER];


    stock ResetRacingVars()
    {
    for (new id = 0; id < MAX_RACER; id++) Racer[id] = INVALID_PLAYER_ID;
    }


    stock SetPlayerRacing(playerid)
    {
    new id = GetFreeRacingSlot(); if (id < 0) return 0;
    Racer[id] = playerid;
    }


    stock DeleteRacer(playerid)
    {
    for (new id = 0; id < MAX_RACER; id++)
    {
    if (Racer[id] == playerid) {Racer[id] = INVALID_PLAYER_ID; return 1;}
    }
    return 0;
    }


    stock GetNumRacer()
    {
    new num = 0; for (new id = 0; id < MAX_RACER; id++) if (Racer[id] != INVALID_PLAYER_ID) num++;
    return num;
    }


    stock GetFreeRacingSlot()
    {
    for (new id = 0; id < MAX_RACER; id++) if (Racer[id] != INVALID_PLAYER_ID) return id;
    return -1;
    }


    PS:
    Update, ums dir leichter zu machen ;)

    3 Mal editiert, zuletzt von Woozie ()

  • ) gegen ] austauschen.



    LG RFT


    Uh, ja böser Fehler. Danke, daß dir das aufgefallen ist. Ich hab den Code nicht getestet und nur aus dem Kopf geschrieben. Beim Kompilieren wärs mir dann bestimmt erst aufgefallen ^^. Hab das mal gefixed, falls jemand anderes den Code verwenden möchte.


    Tomsen
    "Was bewirkt da jetzt SetPlayerRacing?" <-- in dieser Funktion kannst du einem Spieler Rechte für das Rennen z.B. zuweisen. Also dort wird im moment nur die Variable zugewiesen. Anhand dieser Variable kannst du prüfen, ob Spieler mit der ID <playerid> an diesem Rennen teilnimmt oder nicht.

  • Aber so richtig helfen tut mir das nicht. Ist zwar eine nette Sache allerdings brauch ich ja nen Lösungsvorschlag wie ich die 8 Positionen aus meinem bereits erstelltem Array nach ein ander an die 8 Spieler (evtl. zufällig) verteile, aber jeden nur einmal (ist ja logisch damit die nicht aufeinander spawnen)


    - Tomsen



    Einmal editiert, zuletzt von Tomsen ()