Motorschaden

  • Motorschaden

    Hey Leute,

    will mir einen Motorschaden bauen.

    Das heißt wenn das Fahrzeug nurnoch so viel HP hat das es dann stehen bleibt so wie wenn das Benzin aus ist.

    Nur wie?

    Das ist mein Code:

    [pwn]public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat) // Neue 0.3c R3/4/5 Funktion.
    {
    PreventExplosion (vehicleid);
    return 1;
    }
    public OnVehicleDamageStatusUpdate(vehicleid, playerid)
    {
    new Float:health;
    GetVehicleHealth(vehicleid, health);
    if(health >250)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    //Cartest
    {
    if(IsPlayerInVehicle(i,vehicleid))
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(GetPlayerVehicleID(playerid),0,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(i,ROT,"Dein Fahrzeug hat einen Motorschaden, ruf mit /service Ordnungsamt einen Beamten um den Schaden beheben zu lassen!");
    SetVehicleHealth (vehicleid, 389.0);
    }
    }
    }
    return 1;
    }[/pwn]

    Will aber auch nicht das man dan den Motor wieder Anschalten kann...

    [pwn]if(strcmp(cmd, "/motor",true) == 0)
    {
    if((GetPlayerVehicleID(playerid)!=INVALID_VEHICLE_ID) && (GetPlayerState(playerid)==PLAYER_STATE_DRIVER))//Erstmal abchecken, ob er überhaupt in einem Fahrzeug sitzt "UND" Fahrer ist!
    {
    if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "{FFFFFF}Fahrräder haben {FF0000}keinen{FFFFFF} Motor ...");
    return 1;
    }
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    Motor[vid] = false;//Keine Ahnung wo man das noch weitergehend verwenden müsste; finde ich persönlich jetzt unnötig ;)
    TextDrawSetString(tMotor[playerid], "[~r~Motor~w~]");
    }
    else
    {
    new Float:health;
    GetVehicleHealth(vid,health);
    if(health<389.0)
    {
    return SendClientMessage(playerid,0xFFAAFF,"Dein Fahrzeug hat einen Motorschaden, ruf mit /service Ordnungsamt einen Beamten um den Schaden beheben zu lassen!");
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    Motor[vid] = true;//Hier ebenfalls =)
    TextDrawSetString(tMotor[playerid], "[~g~Motor~w~]");
    }
    }
    }
    return 1;
    }[/pwn]

    würde das so Funktionieren?

    Mfg

    Moritz
  • oke bekomme 4 Errors wegen
    [pwn]Motor[vid][/pwn]

    Errors:
    [pwn]C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(28411) : warning 217: loose indentation
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(28427) : error 017: undefined symbol "Motor"
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(28427) : warning 215: expression has no effect
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(28427) : error 001: expected token: ";", but found "]"
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(28427) : error 029: invalid expression, assumed zero
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(28427) : fatal error 107: too many error messages on one line

    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    4 Errors.[/pwn]
    Mfg

    Moritz
  • [pwn]C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(28430) : warning 213: tag mismatch
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(28445) : warning 213: tag mismatch
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(70169) : error 017: undefined symbol "PreventExplosion"
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(70191) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.[/pwn]

    [pwn]PreventExplosion (vehicleid);[/pwn]

    Mfg

    Moritz
  • Noch 2 Fehler

    [pwn] if(strcmp(cmd, "/motor",true) == 0)
    {
    if((GetPlayerVehicleID(playerid)!=INVALID_VEHICLE_ID) && (GetPlayerState(playerid)==PLAYER_STATE_DRIVER))//Erstmal abchecken, ob er überhaupt in einem Fahrzeug sitzt "UND" Fahrer ist!
    {
    if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "{FFFFFF}Fahrräder haben {FF0000}keinen{FFFFFF} Motor ...");
    return 1;
    }
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    Motor[vid] = false;//Keine Ahnung wo man das noch weitergehend verwenden müsste; finde ich persönlich jetzt unnötig ;)
    TextDrawSetString(tMotor[playerid], "[~r~Motor~w~]"); // tag mistach oder wie das heißt hier auch
    }
    else
    {
    new Float:health;
    GetVehicleHealth(vid,health);
    if(health<389.0)
    {
    return SendClientMessage(playerid,0xFFAAFF,"Dein Fahrzeug hat einen Motorschaden, ruf mit /service Ordnungsamt einen Beamten um den Schaden beheben zu lassen!");
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    Motor[vid] = true;//Hier ebenfalls =)
    TextDrawSetString(tMotor[playerid], "[~g~Motor~w~]"); // tag mistach oder wie das heißt hier
    }
    }
    }
    return 1;
    }[/pwn]