Motorschaden geht nicht, brauche Hilfe

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
  • Hallo Zusammen,


    mein Motorschaden System geht nicht, wenn ich fahre und wo dagegen fahre, nur ganz leicht, dann hab ich sofort einen Motorschaden, dann wird auch der Rauch auf Dunkel gesetzt, aber leider kann ich gleich weiterfahren. Was ich gerne möchte das ich so lang gegen die Wand fahren kann bis er brennt, dann geht aber der Motor aus und der Wagen bekommt einen schwarzen Rauch und wenn ich /motor mache steht da das dass Fahrzeug einen Motorschaden hat und ein Mechaniker benötigt wird. Kann mir wer helfen weil da klappt momentan nicht viel sitze schon seit gestern dran.


    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;
    }


    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;
    }


    Danke für eure Hilfe


    Gruß Metin2

  • Wo muss das den rein, hast du es schon getestet?

  • Überleg doch mal ;)
    Wenn das Fahrzeug beschädigt wird UND der Zustand des Fahrzeuges ÜBER 250 liegen sollte, dann löst sich die Funktion aus =)
    Natürlich muss das andersrum sein.



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

  • btw. OnOccupiedVehicle sollte nicht für diese Sachen verwendet werden, da das viel zu viel Rechenleistung zieht.


    Verdammt ich hab den Haken gefunden:
    Note: This does not include vehicle health changes
    Bezieht sich auf OnVehicleDamageStatusUpdate.
    Sollte also jemand drauf schießen oder ähnliches, passiert nichts!



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )