Racingmap

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
  • Hi,
    ich habe eien Racingmap erstellt.
    Jetzt will ich gerne Checkpoints drauf machen.
    Wenn man /start macht kommt ein Checkpoint auf der Kartewenn man in den
    Checkpoint rein fährt get das Rennen los.
    Es gibt eine TOP5 Highscore von jedem Racer. Mit der Zeit
    Wenn man durch einen Checkpoint gefahren ist
    sol der nächste an der beliebigen Stelle kommen
    und imemr so weiter.


    MfG ~Luka~

  • Was du dazu benötigst ist
    SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:size); /* Normaler roter Checkpoint */
    oder
    SetPlayerRaceCheckpoint(playerid, type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size); /* Renncheckpoint mit Pfeil zum nächsten Checkpoint */
    im "/start" Befehl sowie im Callback "OnPlayerEnterCheckpoint(playerid)"
    Um beim reinfahren einen neuen Chckpoint anzeigen zu lassen benötigst du zum Beispiel eine Variable dir hochgezählt wird (Eine PlayerToPoint Variante würd auch funktionieren, würde ich aber nicht empfehlen)
    /* Ganz oben */


    new RaceCheckpoint[MAX_PLAYERS];


    /* in OnPlayerConnect(playerid) */


    RaceCheckpoint[playerid] = 0;


    /* Im /start Befehl */


    SetPlayerCheckpoint(...); //Dein erster Checkpoint
    RaceCheckpoint[playerid] = 1; // Variable auf 1 setzen - zum späteren überprüfen


    /* in OnPlayerEnterCheckpoint(playerid) */
    if(RaceCheckpoint[playerid] > 0)
    {
    switch(RaceCheckpoint[playerid])
    {
    case 1:
    {
    SetPlayerCheckpoint(...); // Dein zweiter Checkpoint
    }
    case 2:
    {
    SetPlayerCheckpoint(...); // Dein dritter Checkpoint
    }
    // [...]
    case 10: /* Je nachdem wie viele Checkpoints du willst - in diesem Fall ist der 11. (10+1) der Letze*/
    {
    DisablePlayerCheckpoint(playerid);
    // Der Rest deines Codes am Ende
    RaceCheckpoint[playerid] = 0; // Variable zurücksetzen
    return 1; // hochzählen überspringen
    }


    }
    RaceCheckpoint[playerid]++;
    }


    So sollte es funktionieren, hab es nicht getestet und auf die Schnelle geschrieben. Was du mit Highscore meinst, versteh ich nicht richtig...