SetPlayerRaceCheckpoint

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
  • Hallo,
    Ich habe ein kleines "Renn"-System oder zumindest etwas ähnliches. Dabei möchte ich, dass automatisch der erste freie Checkpoint (eine Art Position belegt, dann nächste Position) als nächster ausgewählt wird. Das klappt auch in 2 Fällen, aber beim dritten Fall klappt es nicht.

    position[id] = "lv"; // id = GetPlayerVehicleID(playerid)
    if(gatebelegt[5] == false)
    {
    SetPlayerRaceCheckpoint(playerid, 1, checkpoint[8][0], checkpoint[8][1], checkpoint[8][2], checkpoint[8][0], checkpoint[8][1], checkpoint[8][2], 15);
    cp[playerid] = 2;
    gate[id] = 5;
    gatebelegt[5] = true;
    }
    else if(gatebelegt[5] == true && gatebelegt[6] == false)
    {
    SetPlayerRaceCheckpoint(playerid, 1, checkpoint[9][0], checkpoint[8][1], checkpoint[9][2], checkpoint[9][0], checkpoint[9][1], checkpoint[1][2], 15);
    cp[playerid] = 2;
    gate[id] = 6;
    gatebelegt[6] = true;
    }
    else if(gatebelegt[6] == true)
    {
    SetPlayerRaceCheckpoint(playerid, 1, checkpoint[10][0], checkpoint[10][1], checkpoint[10][2], checkpoint[10][0], checkpoint[10][1], checkpoint[10][2], 15);
    cp[playerid] = 2;
    gate[id] = 7;
    gatebelegt[7] = true;
    }


    // Das hier ist die Funktion zum Starten der Checkpoints:
    case 3:
    {
    if(gatebelegt[5] == true && gatebelegt[6] == true && gatebelegt[7] == true) return SendClientMessage(playerid, COLOR_RED, "Alle Positionen belegt.");
    ziel[playerid] = 3;
    ImRennen[playerid] = true;
    cp[playerid] = 1;
    SetPlayerRaceCheckpoint(playerid, 0, checkpoint[7][0], checkpoint[7][1], checkpoint[7][2], checkpoint[8][0], checkpoint[8][1], checkpoint[8][2], 30);
    }

    Das ist bei OnPlayerLeaveRaceCheckpoint. Wie gesagt, das ist der 3. Fall. (die anderen beiden laufen genauso, funktionieren aber. Hier wird jedesmal Checkpoint[8] angezeigt. Ich verstehe aber nicht, wieso.


    Mit freundlichen Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

    Einmal editiert, zuletzt von Padarom () aus folgendem Grund: Codesnippet erweitert