Engine System 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,
    Ich habe versucht bei meinem Engine System einen Timer zu erstellen damit der Motor erst 1,7 Sekunden nachdem man /engine eingegeben hat angeht.
    Leider kam ein Error das "playerid" nicht definiert wurde dann habe ich einfach new playerid gemacht und es hat gefunzt nur ist nun das Problem, dass nur ich den Motor anmachen kann anderen können dies nicht....


    Hier der Script:


    if(strcmp(cmdtext, "/engine", true) == 0)
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
    {
    SendClientMessage(playerid, COLOR_RED, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
    }


    else if (Motor[car] == false)
    {
    SetTimer("Engine", 1700, 0);
    SendClientMessage(playerid, COLOR_WHITE,"Der Motor wird gestartet...");
    }


    else // Ansonsten, wenn der Motor an ist
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false; // Setzt den Bool wieder auf falsch zurück.
    SendClientMessage(playerid, COLOR_WHITE,"Der Motor wurde gestoppt");
    }
    }
    return 1;
    }


    Hier der Timer:


    public Engine()
    {
    new playerid;
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = true; // Setzt den Bool Motor auf true
    return 1 ;
    }


    Hoffe jemand weiß wo das Problem liegt...

  • Unknown:


    Wieso ein "i", wenn er nirgentswo eine Schleife durchgeht oder sonstiges?


    public Engine()


    Hier musst du "playerid" auch angeben, alternativ gleich die Vehicle-ID.


    //Edit: apoolecu:


    Das stimmt auch wieder nicht, "playerid" muss nicht per "new" definiert werden.


    Grüße,
    tonyalva

  • Was denn nun? :D

  • if(strcmp(cmdtext, "/engine", true) == 0)
    {
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510) {
    SendClientMessage(playerid, COLOR_RED, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
    }


    else if (Motor[car] == false) {
    SetTimerEx("Engine", 1700, 0,"d",playerid);
    SendClientMessage(playerid, COLOR_WHITE,"Der Motor wird gestartet...");
    }


    else { // Ansonsten, wenn der Motor an ist
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false; // Setzt den Bool wieder auf falsch zurück.
    SendClientMessage(playerid, COLOR_WHITE,"Der Motor wurde gestoppt");
    }
    }
    return 1;
    }

    public Engine(playerid)
    {
    new car = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = true; // Setzt den Bool Motor auf true
    return 1 ;
    }
    Du musst dann nur noch deinen forward abändern, dann sollte es gehen.