Tank und Motor System etwas buggy

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
  • Moin Moin bei mir ist etwas buggy wenn ich denn Motor starte kann ich ihn nicht
    mehr ausmachen also kann ich auch nicht Tanken.


    ocmd:tanken(playerid,params[])
    {
    #pragma unused params
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,0xF5FF00FF,"Du musst Autofahrer sein.");
    new vehid = GetPlayerVehicleID(playerid);
    if(TanktGerade[vehid])return SendClientMessage(playerid,0xF5FF00FF,"Du tankst doch gerade schon.");
    if(Motor[vehid] == true)return SendClientMessage(playerid,0xF5FF00FF,"Es wäre klug vor dem Tanken den Motor auszuschalten.");
    new ZuTanken = 100-Tank[vehid];
    new preis = ZuTanken * BENZINPREIS;
    if(GetPlayerMoney(playerid) -preis < 0)return SendClientMessage(playerid,0xF5FF00FF,"Du hast nicht genügend Geld dabei.");
    GivePlayerMoney(playerid,-preis);
    SendClientMessage(playerid,0xF5FF00FF,"Tankvorgang wurde gestartet. Bitte warten ...");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[vehid] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    return 1;
    }



    ocmd:motor(playerid,params[])
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 510)
    {
    SendClientMessage(playerid,0xF5FF00FF,"In einem Fahrrad gibt es keinen Motor!");
    Motor[vehicleid] = false;
    }
    else if(Motor[vehicleid] == false)
    {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xF5FF00FF,"Motor erfolgreich eingeschaltet.");
    Motor[vehicleid] = true;
    }
    else if(Tank[vehicleid] < 1)
    {
    SendClientMessage(playerid,0xF5FF00FF,"Tank leer nutze davor /tanken");
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xF5FF00FF,"Motor erfolgreich ausgeschaltet.");
    Motor[vehicleid] = false;
    }
    }
    return 1;
    }



    stock Motortimer()
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    new loo;
    veh = GetPlayerVehicleID(i);
    if(Tank[loo] < 1)
    {
    SendClientMessage(i,0xFF002DFF,"Tank leer. Nutze davor /tanken");
    }
    else
    {
    GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(i,0xFF002DFF,"Motor erfolgreich eingeschaltet.");
    Motor[veh] = true;
    }
    }
    return 1;
    }

  • Beim /Motor Befehl fehlt das:
    else if(Motor[vehicleid] == true)
    {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xF5FF00FF,"Motor erfolgreich ausgeschaltet.");
    Motor[vehicleid] = false;
    }


    //edit: Zeig uns mal den Public "Auftanken"

  • public Auftanken(playerid)
    {
    new loo = GetPlayerVehicleID(playerid);
    Tank[loo] = Tank[veh] + 1;
    if(Tank[loo]>= 100)
    {
    TanktGerade[veh] = false;
    Tank[veh] = 100;
    SendClientMessage(playerid,0xFF002DFF,"Dein Fahrzeug wurde erfolgreich aufgetankt.");
    TogglePlayerControllable(playerid,1);
    KillTimer(tanktimer[playerid]);
    }
    return 1;

    und danke