Auto führerschein mit 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
    Ich habe einen befehl gescriptet klappt wunderbar jedoch will ich es mit checkpoints haben und das er mit einem Sofort Spawnt


    Hier meinen Befehl
    if(strcmp(cmd,"/fsauto",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!IsPlayerInRangeOfPoint(playerid,3.0,1378.3540,-1643.2848,13.5469))
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist nicht am Punkt, um den Führerschein zu bekommen!");
    }
    else if(PlayerInfo[playerid][pCarLic] == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast bereits einen Führerschein!");
    }
    else if(GetPlayerMoney(playerid) < 30000)
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast keine 30000$ für den Führerschein!");
    }
    else
    {

  • du setzt ihm den ersten checkpoint und speicherst in eine playervariable den derzeitigen cp, dann kannst du bei onplayeretercp über die playervariable bestimmen, welchen checkpoint du als nächstes setzen musst

  • new CLic[MAX_PLAYERS];


    new Float:LicCPs[10][3] = {
    {Checkpoint1},
    {Checkpoint2},
    {usw.}
    };


    if(strcmp(cmd,"/fsauto",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!IsPlayerInRangeOfPoint(playerid, 3.0, 1378.3540,-1643.2848,13.5469))
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist nicht am Punkt, um den Führerschein zu bekommen!");
    }
    else if(PlayerInfo[playerid][pCarLic] == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast bereits einen Führerschein!");
    }
    else if(GetPlayerMoney(playerid) < 30000)
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast keine 30000$ für den Führerschein!");
    }
    else
    {
    CLic[playerid] = 1;
    SetPlayerCheckpoint(playerid, LicCPs[0][0], LicCps[0][1]. LicCPs[0][2], 3.0);
    SendClientMessage(playerid, COLOR_RED, "FS Prüfung gestartet, blabla!");
    }
    }
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    if(CLic[playerid] > 0)
    {
    DisablePlayerCheckpoint(playerid);
    if(CLic[playerid] <sizeof(LicCPs))
    {
    LicCPs[playerid]++;
    SetPlayerCheckpoint(playerid, LicCPs[CLic[playerid]-1[0], LicCPs[CLic[playerid]-1[1], LicCPs[CLic[playerid]-1[2], 3.0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Bestanden!");
    CLic[playerid] = 0;
    PlayerInfo[playerid][pCarLic] = 1;
    }
    }
    return 1;
    }


    Nicht getestet, wenn was nicht geht, bescheid sagen.