Wie setzte ich mehrere 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
  • Hallo Leute,


    Wenn ich jetzt in den 1.Checkpoint...

    Code
    SetPlayerCheckpoint(playerid, 1813.4314, -2072.8247, 13.2459, 5.0); //1. CHECKPOINT


    ..hinein Fahre soll der 2. erscheinen:

    Code
    public OnPlayerEnterCheckpoint(playerid){DisablePlayerCheckpoint(playerid);SetPlayerCheckpoint(playerid, 2056.1392, -1910.2928, 13.2740, 5.0); // 2. CHECKPOINT SendClientMessage(playerid,WEIS,"So jetzt geht die Tour los.");return 1;}


    aber was muss ich mchen wenn nach dem 2. Checpoint ein 3. Checkpoint usw erscheinen soll, weis es gibt ja nur einmal OnPlayerEnterCheckpoint


    Bitte um Hilfe...

  • Das geht glaube ich garnicht, und wenn dann nur mit Race-Checkpoints.


    //Verlesen: Dachte mehrere Checkpoints auf einmal.

  • leider kann man bei OnPlayerEnterCheckpoint nicht etwas wie
    Checkpointid == XX
    machen wie bei OnPlayerDialogResponse beispielsweise
    dialogid == XX


    Da musst du es folgendermassen machen:
    ganz oben bei den andern "new"s machst du folgendes:
    Bla[MAX_PLAYERS];


    Bei OnPlayerConnect:
    public OnPlayerConnect(playerid)
    {
    Bla[playerid] = 0;
    }


    Danach wenn du beim 1. Checkpoint bist:
    SetPlayerCheckpoint(playerid, 1813.4314, -2072.8247, 13.2459, 5.0); //1. CHECKPOINT
    Bla[playerid] = 1;


    Und nun bei OnPlayerEnterCheckpoint:
    public OnPlayerEnterCheckpoint(playerid)
    {
    if(Bla[playerid] == 1)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, 2056.1392, -1910.2928, 13.2740, 5.0); // 2. CHECKPOINT
    SendClientMessage(playerid,WEIS,"So jetzt geht die Tour los.");
    Bla[playerid] = 2;
    return 1;
    }
    if(Bla[playerid] == 2)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, x,y,z, 5.0); // 3. CHECKPOINT
    Bla[playerid] = 3;
    return 1;
    }
    if(Bla[playerid] == 3)
    {
    // und so weiter
    }
    return 1;
    }