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
  • Mein Motorsystem mit Motorschaden:
    oben beim Script:

    new IsDamage[MAX_VEHICLES] = 0;
    new Motor[MAX_VEHICLES] = 0;
    forward DamageCarAbfrage (playerid);

    bei OnGameModeInit

    SetTimer("DamageCarAbfrage",100,true);


    bei OnPlayerEnterVehicle:

    new vid = GetPlayerVehicleID(playerid),Float:vehleben;
    GetVehicleHealth(vid,vehleben);
    if(vehleben <= 250.0)//Motorschaden Abfrage
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
    IsDamage[vid] = 1;
    SetVehicleHealth(vid,250.0);
    Motor[vid]=0;
    }


    Bei OnPlayerKeyStateChange:

    if((newkeys & KEY_NO) && !(oldkeys & KEY_NO))//musst halt deine Starttaste nehmen, ich benutze die Taste "N"
    {
    new vid = GetPlayerVehicleID(playerid),Float:vehleben;
    GetVehicleHealth(vid,vehleben);
    if(vehleben <= 250.0) return 1;
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 481) return 1;
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new string[256];
    new engine,light,alarm,doors,bonnet,boot,objective;
    new veh = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(veh,engine,light,alarm,doors,bonnet,boot,objective);
    if(Motor[veh] == 0)
    {
    SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,light,alarm,doors,bonnet,boot,objective);
    format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~w~Motor ~g~An");
    GameTextForPlayer(playerid, string, 4000, 3);
    Motor[veh] = 1;
    }
    else
    {
    SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,light,alarm,doors,bonnet,boot,objective);
    format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~w~Motor ~r~Aus");
    GameTextForPlayer(playerid, string, 4000, 3);
    Motor[veh] = 0;
    }
    }
    }


    Ganz unten:

    public DamageCarAbfrage(playerid)//Damage Car Abfrage
    {
    new vid = GetPlayerVehicleID(playerid),Float:vehleben;
    GetVehicleHealth(vid,vehleben);
    if(vehleben <= 250.0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
    IsDamage[vid] = 1;
    SetVehicleHealth(vid,250.0);
    Motor[vid]=0;
    }
    return 1;
    }


    Hier nochmal der Befehl(ocmd) der muss ganz unten hin

    ocmd:motor(playerid,params[]) //Motor System
    {
    new vid=GetPlayerVehicleID(playerid);
    if(Motor[vid]==1)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
    Motor[vid]=0;
    }
    if(Motor[vid]==0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,1,lights,alarm,doors,bonnet,boot,objective);
    Motor[vid]=1;
    }
    return 1;
    }

    //edit: Ich hoffe das meinst du so, und unter 250 vehleben brennt das car
    //edit2: /motor Befehl

    Einmal editiert, zuletzt von Metro ()