Motorschaden

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
  • Habe diesen Motor Start System was muss ich einfügen damit das Auto bei 300hp Motorschaden bekommt?


    Z.B Motor kann nicht gestartet werden weil das Auto ein Motorschaden hat.



    if(strcmp(cmd, "/motor",true) == 0)
    {
    if(PlayerInfo[playerid][pTot] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Tote können keine Befehle nutzen!");
    return 1;
    }
    if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_RED, "{FFFFFF}Fahrräder haben keinen Motor!");
    return 1;
    }
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, 0xEBFF00FF, "Motor ist aus.");
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, 0xEBFF00FF, "Motor wurde Gestartet.");
    }



    }



    return 1;
    }



    Kann jemand Helfen??

  • if(strcmp(cmdtext, "/motor", true) == 0)
    {
    new Float:health;
    new veh;
    veh = GetPlayerVehicleID(playerid);
    GetVehicleHealth(veh, health);
    if(health <301) return SendClientMessage(playerid,COLOR_RED,"Dein Fahrzeug hat ein Motorschaden");
    }
    else
    {
    //Was soll passieren wenn es kein Schaden hat
    }
    }


    //Davor evtl abfragen ob er im Fahrzeug sitzt etc.


    So würd Ich es irgentwie machen, lange her


    Du musst also den Status mit GetVehicleHealth abfragen, dannach kannst du ganz einfach den Rest einfügen was du wie haben möchtest :)

    2 Mal editiert, zuletzt von xPatrick ()


  • if(strcmp(cmdtext, "/motor", true) == 1)
    {
    new Float:health;
    new veh;
    new engine, lights, alarm, doors, bonnet, boot, objective;
    veh = GetPlayerVehicleID(playerid);
    GetVehicleHealth(veh, health);
    if (health < 301)
    {
    SendClientMessage(playerid,COLOR_RED,"Dein Fahrzeug hat einen Motorschaden");
    SetVehicleHealth(veh,290); //Verhindern das Veh bei Kritischen schaden explodiert
    SetVehicleParamsEx(veh, 0, lights, alarm, doors, bonnet, boot, objective); //Motor ausschalten
    }
    }





    könnte Fehler enthalten, bin noch am lernen :love:

  • if(strcmp(cmdtext, "/motor", true) == 1)
    {
    new Float:health, engine, lights, alarm, doors, bonnet, boot, objective,new veh = GetPlayerVehicleID(playerid); //Geht auch alles in eine Zeile
    GetVehicleHealth(veh, health);
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, "Du musst in einem Fahrzeug sitzen"); //Wäre ja blöd, wenn es ging ohne das der Spieler in einem Fahrzeug sitzt.
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, "Du bist nicht der Fahrer des Fahrzeuges!"); //ebenfalls wie oben...
    if (health < 301)
    {
    SendClientMessage(playerid,COLOR_RED,"Dein Fahrzeug hat einen Motorschaden");
    SetVehicleHealth(veh,290); //Verhindern das Veh bei Kritischen schaden explodiert
    SetVehicleParamsEx(veh, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective); //Motor ausschalten
    return 1; //So weit ich weiß, wird dann der Rest des Befehls nicht mehr ausgeführt.
    }
    }


    Müsste so eigentlich gehen.
    MfG xXReoXx