Pilotjob Problem

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
  • Guten Abend,
    es gibt ein kleinen Bug bei dem Piloten Job, ich kann den Fehler leider nicht finden.
    Der Textdraw und die SendClientMessang "Warte .. Sekunden" kommt ständig und geht beim entsprechenden Spieler nicht weg.
    Auch wenn er sich im Flugzeug befindet und auch wenn er den Flug beendet.


    An was könnte es liegen?


    public OnPlayerWaitPilot(playerid)
    {
    new stunde, minute, sekunde;
    gettime(stunde, minute, sekunde);
    if(IsPlayerConnected(playerid) && gPlayerLogged[playerid] == 1)
    {
    if(PilotTime[playerid] < 6)
    {
    PilotTime[playerid] ++;
    if(PilotTime[playerid] == 1)
    {
    PlayerTextDrawSetString(playerid, BusMessage[playerid], "~g~Warte ~w~... ~r~5 ~w~Sekunden");
    PlayerTextDrawShow(playerid, BusMessage[playerid]);
    return 1;
    }
    else if(PilotTime[playerid] == 2)
    {
    PlayerTextDrawSetString(playerid, BusMessage[playerid], "~g~Warte ~w~... ~r~4 ~w~Sekunden");
    PlayerTextDrawShow(playerid, BusMessage[playerid]);
    return 1;
    }
    else if(PilotTime[playerid] == 3)
    {
    PlayerTextDrawSetString(playerid, BusMessage[playerid], "~g~Warte ~w~... ~r~3 ~w~Sekunden");
    PlayerTextDrawShow(playerid, BusMessage[playerid]);
    return 1;
    }
    else if(PilotTime[playerid] == 4)
    {
    PlayerTextDrawSetString(playerid, BusMessage[playerid], "~g~Warte ~w~... ~r~2 ~w~Sekunden");
    PlayerTextDrawShow(playerid, BusMessage[playerid]);
    return 1;
    }
    else if(PilotTime[playerid] == 5)
    {
    PlayerTextDrawSetString(playerid, BusMessage[playerid], "~g~Warte ~w~... ~r~1 ~w~Sekunden");
    PlayerTextDrawShow(playerid, BusMessage[playerid]);
    return 1;
    }
    else if(PilotTime[playerid] == 6)
    {
    PlayerTextDrawHide(playerid, BusMessage[playerid]);
    PilotTime[playerid] = 0;
    }
    }
    for(new i=0;i<sizeof(flug);i++)
    {
    new vID = GetPlayerVehicleID(playerid);
    if(!(GetPlayerState(playerid) == PLAYER_STATE_DRIVER))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich in keinem Flugzeug!"); KillTimer(pilotwait[playerid]);
    if(vID == flug[i])
    {
    new pilotlog[128];
    new ort[24];
    GetPlayer2DZone(playerid, ort, 24);
    if(pCheckpoint[playerid] == CP_PILOT1)
    {
    SetPlayerCheckpointEx(playerid, -1650.4489,-157.8306,15.4847, 7.0, CP_PILOT2);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächster Flughafen: San Fierro Easter Bay Airport");
    UnfreezePlayer(playerid);
    KillTimer(pilotwait[playerid]);
    format(pilotlog, sizeof(pilotlog), "Name: %s - Ort: %s", GetName(playerid), ort);
    LogPilot(pilotlog);
    return 1;
    }
    else if(pCheckpoint[playerid] == CP_PILOT2)
    {
    SetPlayerCheckpointEx(playerid, 1476.7418,1694.5992,12.1470, 7.0, CP_PILOT3);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Nächster Flughafen: Las Venturas Airport");
    UnfreezePlayer(playerid);
    KillTimer(pilotwait[playerid]);
    format(pilotlog, sizeof(pilotlog), "Name: %s - Ort: %s", GetName(playerid), ort);
    LogPilot(pilotlog);
    return 1;
    }
    else if(pCheckpoint[playerid] == CP_PILOT3)
    {
    DisablePlayerCheckpointEx(playerid);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast durch diese Runde $8500 verdient. Fliege nun wieder zum LS-Airport");
    Spieler[playerid][pPayCheck] += 8500;
    UnfreezePlayer(playerid);
    KillTimer(pilotwait[playerid]);
    format(pilotlog, sizeof(pilotlog), "Name: %s - Ort: %s - Geld: 8500", GetName(playerid), ort);
    LogPilot(pilotlog);
    return 1;
    }
    }
    }
    SendClientMessage(playerid, COLOR_GREY, "Du befindest dich in keinem Flugzeug.");
    }
    return 1;
    }