Timer & CP 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
  • Hallo, sogerade eben wollte ich mein Trucker System machen.
    Doch mein Pawno crasht.
    Hier mal meine Sachen die ich alle gemacht habe.



    if(strcmp("/starttruck",cmdtext, true, 10) == 0)
    {
    if(Spieler[playerid][Job] == 2)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(Truck(vehicleid))
    {
    Spieler[playerid][Trucking] = 1;
    SendClientMessage(playerid,COLOR_GREY,"Fahre zum angegeben Punkt und hole die Lieferung Kies ab.");
    SetPlayerCheckpoint(playerid,3.0,2191.6726,-1990.4679,13.2605);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist in keinem Truck!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist kein Trucker!");
    return 1;
    }
    }



    Ganz oben auch ein Ding für Trucking gemacht.
    Bei OnPlayerConnect & Disconnect auch so gemacht, dass die Variable Trucking auf 0 gesetzt wird.


    Dann habe ich Publics erstellt, weil ich dachte des is einfach. Was aber doch nicht der Fall war. :S



    forward CheckpointAbholen(playerid);
    public CheckpointAbholen(playerid);
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(Truck(vehicleid))
    {
    SetPlayerCheckpoint(playerid,3.0,2191.6726,-1990.4679,13.2605);
    SetTimer("CP1",5000,0);
    }
    return 1;
    }


    forward CP1(playerid);
    public CP1(playerid);
    {
    DisablePlayerCheckpoint(playerid);
    TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid,COLOR_WHITE,"Bitte warte 5 Sekunden ...");
    SetTimer("CP1NO2",0,0);
    return 1;
    }


    forward CP1NO2(playerid);
    public CP1NO2(playerid);
    {
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid,COLOR_WHITE,"Fahre bitte nun zum neu erscheinten Checkpoint");
    SetPlayerCheckpoint(playerid, 3.0,1248.8826,-1258.9431,12.8862);
    return 1;
    }


    forward CP2(playerid);
    public CP2(playerid);
    {
    DisablePlayerCheckpoint(playerid);
    TogglePlayerControllAble(playerid, 0);
    SendClientMessage(playerid,COLOR_WHITE,"Bitte warte 5 Sekunden ...");
    //SetTimer("CP2",5000,0);
    return 1;
    }




    Ich glaube, dass ich in Sachen Scripten ein wenig Fail bin.
    Also pls helft mir, dann passiert des nich so oft. :D

  • es crasht deswegen? mhm, vielleicht wäre es gut alle forwards mal oben im Script zu ordnen,
    sonst public zu Funktion umschreiben mit stock. bist dir sicher, dass es an den publics liegt?


    ..und


    eine Empfehlung meinerseits:


    new vehicleid = GetPlayerVehicleID(playerid);
    wenn du das immer schreibst wirst ja wahnsinnig ;D
    mach doch einfach oben im Script ein
    #define pvehicle GetPlayerVehicleID(playerid);
    und basta


    /edit: owh Semikolons gar nicht gesehen