Checkpoints

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
  • Wie kann ich das jetzt so machen, das man nach einem Befehl gefreezt wird(kann ich) dann nach einer Zeit ungefreezt wird und dann der erste Checkpoint angezeigt wird, wenn man in den rein fährt kommt der nächste!.
    Die Coords habe ich gesavt.
    Arbeite zum erstenmal mit Checkpoints :D
    mfg

  • S


    Wie geht das aber, das nach dem einer den ersten Checkpoint eingesammelt hat, das der nächste kommt? i.wie mit Variabeln hochzählen oder so?


    dazu kannst du eine array benutzen oder du hast all deine checkpointdaten in einer array . OnPlayerEnterCheckpoint wird sowieso aufgerufen wnen einer rein läuft daher gehst du da die ganzen einträge in deinem array durch bis du einen gefunden hast der zur position passt die solltest du auch abprüfen mit IsPlayerInRangeOfPoint nun gut du hast die jeweilige id da rechnest du noch i dazu und somit erstellst du
    den nächsten checkpoint.


    Beispielcode:



    public OnPlayerEnterCheckpoint(playerid)
    {
    new i;
    for(; i < MAX_CHECKPOINTS; ++i){
    if(IsPlayerInRangeOfPoint(playerid,4.0,Checkpoint[i][X],Checkpoint[i][Y],Checkpoint[i][Z])){
    SetPlayerCheckpoint(playerid, Checkpoint[++i][X],Checkpoint[i][Y],Checkpoint[i][Z], 3.0);
    break;
    }
    }
    return 1;
    }


    durch die präfix-version der inkrementation ist es nicht nötig bei den anderen i`s 1 dazu zu rechnen so wird das i automatisch erst um 1 erhöht so ist der wert +1 wenn der die funktion ausgeführt wird.