kein cp erscheint...

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 an alle
    ich hab ein problem und zwar mache ich gerade ein fahrschul script mit theorie und praxis. theorie funzt aber die praxis buggt...
    normaler weise sollte ein checkpoint erscheinen wen ich mit der theori fertig bin und in das fahrschul auto einsteige. nun steig ich ein und dann kommt für 2 millisekunden kurz der cp zum vorschein und verschwindet wieder....


    heir der code von OnPlayerStateChange:


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new getthecar;
    getthecar = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(IsAFsAutoCar(getthecar))
    {
    if(praxis == 1)
    {
    SetPlayerCheckpoint(playerid,-2044.6627,-80.5275,34.7249,5.0);
    SetPVarInt(playerid,"fscpid",fsautocp1);
    if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp1)
    {
    SetPlayerCheckpoint(playerid,-2068.6460,-67.1663,34.7388, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp2);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp2)
    {
    SetPlayerCheckpoint(playerid,-2084.4258,-39.6488,34.8046, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp3);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp3)
    {
    SetPlayerCheckpoint(playerid,-2098.1326,33.0348,34.7386, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp4);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp4)
    {
    SetPlayerCheckpoint(playerid,-2170.4895,17.3659,34.7388, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp5);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp5)
    {
    SetPlayerCheckpoint(playerid,-2169.7625,-85.7253,34.7394, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp6);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp6)
    {
    SetPlayerCheckpoint(playerid,-2210.8586,-201.9729,34.8878, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp7);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp7)
    {
    SetPlayerCheckpoint(playerid,-2212.0488,-269.3461,34.8874, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp8);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp8)
    {
    SetPlayerCheckpoint(playerid,-2135.2651,-295.4728,34.9892, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp9);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp9)
    {
    SetPlayerCheckpoint(playerid,-2020.2981,-306.8248,35.0506, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp10);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp10)
    {
    SetPlayerCheckpoint(playerid,2017.7922,-351.4568,35.4342, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp11);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp11)
    {
    SetPlayerCheckpoint(playerid,-1894.4445,-311.0135,49.7420, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp12);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp12)
    {
    SetPlayerCheckpoint(playerid,1882.3644,-137.3632,37.8125, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp13);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp13)
    {
    SetPlayerCheckpoint(playerid,-1867.6086,149.9409,37.8061, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp14);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp14)
    {
    SetPlayerCheckpoint(playerid,-1811.1119,375.7741,16.5826, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp15);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp15)
    {
    SetPlayerCheckpoint(playerid,-1873.1676,407.7683,16.5849, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp16);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp16)
    {
    SetPlayerCheckpoint(playerid,-1924.8292,345.3977,30.8567, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp17);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp17)
    {
    SetPlayerCheckpoint(playerid,-2007.0159,330.2274,34.5790, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp18);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp18)
    {
    SetPlayerCheckpoint(playerid,-2009.0729,182.1045,27.1061, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp19);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp19)
    {
    SetPlayerCheckpoint(playerid,-2009.9824,18.8068,32.4147, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp20);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp20)
    {
    SetPlayerCheckpoint(playerid,-2021.0760,-67.0987,34.7389, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp21);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp21)
    {
    SetPlayerCheckpoint(playerid,-2050.6897,-81.1403,34.5095, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp22);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp22)
    {
    SetPlayerCheckpoint(playerid,-2032.5564,-99.9289,34.7310, 5.0);
    SetPVarInt(playerid,"fscpid",fsautocp23);
    }
    else if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"fscpid") == fsautocp23) // Hier auch um 1 Erhöhen
    {
    gLicenseC[playerid] = 1;
    SendClientMessage(playerid, COLOR_YELLOW2, "Sie haben die Praxis Bestanden Viel Spaß bein Zukünftigen fahren.");
    praxis = 0;
    }
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast keine Berechtigung in dieses Auto einzusteigen");
    }


    }
    if(IsHeli(playerid,getthecar))
    {
    if(gLicenseF[playerid] == 0)
    {
    SendClientMessage(playerid,0xDB0000F6,"Du hast keinen Piloten-Schein! Wen dich die Cops so sehen gibt es Ärger!");
    }
    }
    //
    if(IsPlane(playerid,getthecar))
    {
    if(gLicenseF[playerid] == 0)
    {
    SendClientMessage(playerid,0xDB0000F6,"Du hast keinen Piloten-Schein! Wen dich die Cops so sehen gibt es Ärger!");
    }
    }
    //
    if(IsCar(playerid,getthecar))
    {
    if(gLicenseC[playerid] == 0)
    {
    SendClientMessage(playerid,0xDB0000F6,"Du hast keinen Führerschein! Wen dich die Cops so sehen gibt es Ärger!");
    }
    }
    //
    if(IsBoat(playerid,getthecar))
    {
    if(gLicenseB[playerid] == 0)
    {
    SendClientMessage(playerid,0xDB0000F6,"Du hast keinen Boots-Schein! Wen dich die Cops sehen gibt es Ärger!");
    }
    }
    //
    if(IsBike(playerid,getthecar))
    {
    if(gLicenseZ[playerid] == 0)
    {
    SendClientMessage(playerid,0xDB0000F6,"Du hast keinen Motorrad-Schein! Wen dich die Cops so sehen gibt es Ärger!");
    }
    }
    }
    return 1;


    }


    hoffe es kann jemand helfen

  • Du hast eh schon die Lösung gesagt. Es liegt wohl an einem Timer der die Checkpoints verschwinden lässt. Schau dir mal die Timer an die am Laufen sind

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • aber jeder erstellte timer ist so definiert das er meilen weit nix damit zu tun hat....


    wen du irgentwelche stellen ausm script brauchst damit du die lösung findest bitte aber wie gerade gesagt alle timer haben ihre funktion und mach das auch perfekt


    Kann mir keiner helfen?

    Einmal editiert, zuletzt von GTA0071 ()

  • Such mal in einem Timer nach DisablePlayerCheckpoint und füge diese Code Abschnitte von den Timer hier hinein! Wenns möglich ist, die ganze Abfrage was damit zu tun hat.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • ... ich sagte doch das kein timer irgentwas mit checkpoints zu tun hat hier meine ganzen timer mit ihren funktionen:
    SetTimerEx("theori2", 10000, 0, "d", playerid);
    SetTimerEx("theori3", 20000, 0, "d", playerid);
    SetTimerEx("theori4", 30000, 0, "d", playerid);
    SetTimerEx("theori5", 40000, 0, "d", playerid);
    SetTimerEx("theori6", 50000, 0, "d", playerid);
    SetTimerEx("theori7", 60000, 0, "d", playerid);


    public theori2(playerid)
    {
    //ClearChatbox(playerid, 12);
    SendClientMessage(playerid, COLOR_RED, "|____ Geschwindigkeit ____|");
    SendClientMessage(playerid, COLOR_RED, "________________________________________________________________________________________________________");
    SendClientMessage(playerid, COLOR_YELLOW2, "Hier gilt eine Richtgeschwindigkeit von 100 km/h. In der Stadt sind Polizisten die alles sehen, also aufpassen.");
    }
    public theori3(playerid)
    {
    //ClearChatbox(playerid, 12);
    SendClientMessage(playerid, COLOR_RED, "|____ Fahrspur ____|");
    SendClientMessage(playerid, COLOR_RED, "_____________________________________________________________________________________________________");
    SendClientMessage(playerid, COLOR_YELLOW2, "Hier wird grundsätzlich auf der rechten Straßenseite gefahren, außer es ist ein Hindernis im Weg.");
    SendClientMessage(playerid, COLOR_YELLOW2, "Dann darf auf die andere Straßenseite gewechselt werden, um das Hindernis zu umfahren.");
    SendClientMessage(playerid, COLOR_YELLOW2, "Es muss nicht auf Ampeln geachtet werden, sondern es gilt rechts vor links.");
    }




    public theori4(playerid)
    {
    //ClearChatbox(playerid, 12);
    SendClientMessage(playerid, COLOR_RED, "|____ Einsatzfahrzeuge ____|");
    SendClientMessage(playerid, COLOR_RED, "_____________________________________________________________________________________________________________________");
    SendClientMessage(playerid, COLOR_YELLOW2, "Falls ein Einsatzfahrzeug, z.B. Polizei, mit eingeschalteter Sirene an euch vorbei fahren, oder sich euch nähern,");
    SendClientMessage(playerid, COLOR_YELLOW2, "habt ihr die Pflicht an den Straßenrand zu fahren und somit dem Fahrzeug Platz zu machen");
    }




    public theori5(playerid)
    {
    //ClearChatbox(playerid, 12);
    SendClientMessage(playerid, COLOR_RED, "|____ Parken ____|");
    SendClientMessage(playerid, COLOR_RED, "____________________________________________________________________________________________________");
    SendClientMessage(playerid, COLOR_YELLOW2, "Geparkt werden darf nur am Straßenrand oder auf gekennzeichneten Flächen, z.B. Parkplätzen.");
    SendClientMessage(playerid, COLOR_YELLOW2, "Wer mitten auf der Straße oder vor einer Einfahrt von Polizei,FBI etc., parkt und erwischt wird,");
    SendClientMessage(playerid, COLOR_YELLOW2, "muss mit einem Bußgeld rechnen. Es ist es verboten vor Staatsfraktionen-Bases zu parken.");
    SendClientMessage(playerid, COLOR_YELLOW2, "Wer da parkt muss damit rechnen abgeschleppt zu werden.");
    }




    public theori6(playerid)
    {
    //ClearChatbox(playerid, 12);
    SendClientMessage(playerid, COLOR_RED, "|____ Ende Der Infos ____|");
    SendClientMessage(playerid, COLOR_RED, "____________________________________________________________________________________________________________");
    SendClientMessage(playerid, COLOR_YELLOW2, "Wir hoffen, dass du gut aufgepasst hast, denn nun folgen die Fragen.");
    SendClientMessage(playerid, COLOR_YELLOW2, "Die Frage und Antworten werden angezeigt ! Per Menü wählst du dann A,B oder C aus.");
    SendClientMessage(playerid, COLOR_YELLOW2, "Bitte kein [ENTER] drücken, da das den Test beendet. Bestätige jede Frage mit der [Leertaste9.");
    }




    public theori7(playerid)
    {
    //ClearChatbox(playerid, 12);
    ShowMenuForPlayer(test1,playerid);
    testt1(playerid);
    }


    und die das einzigste was in das OnPlayerStateChange eingreift ist das da hier:


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    if(GetPlayerMenu(playerid) == test4)
    {
    switch(row)
    {
    case 0:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 1:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 2:
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Gratuliere, jetzt folgt die praktische Prüfung.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Steigen Sie bitte in das weiße Fahrzeug vor der Fahrschule und fahren Sie die Checkpoints ab.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Fahren Sie dabei nicht schneller als 100 km/h.");
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid, COLOR_YELLOW2, "Bitte fahren sie vorsichtig die Checkpoints ab.");
    SetPlayerInterior(playerid,0);
    praxis = 1;
    }


    case 3:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 4:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);
    }


    case 5:
    {
    SendClientMessage(playerid, COLOR_RED, "Das war die falsche Antwort. Leider durchgefallen.");
    TogglePlayerControllable(playerid, 1);


    }


    case 6:
    {
    HideMenuForPlayer(test4,playerid);
    TogglePlayerControllable(playerid, 1);
    }


    }


    und zwecks den timern... die funktionieren auch so aber ich versteh nicht warum kein cp bleibt. das lustige ist ja das der pawn compiler nix sagt keine errors keine warnigs

  • Der Pawno Compiler zeigt ja nur die Fehler an, welche vom Code her nicht stimmen oder sonstiges, aber er sagt sicher ned z.B.: "Halt, DisablePlayerCheckpoint ist in einem Timer" oder sonstiges ^^ Aber ok wenn es nicht meiner Theorie entspricht, dann kann ich dir ned Helfen sry, vielleicht weiß ein anderer Rat

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!