Vehicle mehr als 1000 HP

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
  • Gute Abend Community.


    Ich wollte mir einen Command bauen, mit dem ein Spieler 1000 HP zur HP eines Vehicle hinzufügt.
    Allerdings wird die HP immer nur auf 1000 gesetzt. Das macht auch nach der Eintragung des Wikis (1000 Hp maximal repariert) Sinn, wenn ich nicht auf anderen Servern (Sumo) schon Autos mit mehr als 1000 Hp gesehen hätte.


    Also die Frage: Ist es möglich einem Auto mehr als 1000 Hp zu geben ?


    Hier übrigens mein Code; Bin allerdings davon überzeugt dort keinen Fehler gemacht zu haben:

    Spoiler anzeigen
    SetPVarInt(playerid,HATREPARIERT_KEY,1);
    SendClientMessage(playerid,weiß,"Du hast das Auto um 1000 Hp repariert. Nach dem Spawnen kannst du wieder reparieren");
    new Float:vhealth;
    GetVehicleHealth(GetPlayerVehicleID(playerid),vhealth);
    vhealth = vhealth + 1000.0;
    SetVehicleHealth(GetPlayerVehicleID(playerid),vhealth);
    RepairVehicle(GetPlayerVehicleID(playerid));
    new panels,doors,lights,tires;
    GetVehicleDamageStatus(GetPlayerVehicleID(playerid),panels,doors,lights,tires);
    UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid),panels, doors, lights, 0);

  • vehicleid ist doch initialisiert ?


    Also ich habe grade ausprobiert einfach mal


    SetVehicleHealth(GetPlayerVehicleID(playerid),2000.0);


    zu machen.


    Auch da ist das Problem, dass es immer nur auf 1000 Hp gesetzt wird, sprich mir bei /dl 1000 Hp angezeigt werden.

  • Also der native wird ja aufgerufen und auch mit den richtigen Parametern. Das Problem ist halt nur, dass die HP immer nur auf 1000 gesetzt wird und nicht auf mehr.
    Selbst wenn ich als Parameter keine Variable sodern 2000.0 übergeben wird es nur auf 1000 gesetzt.


    An /dl liegts übrigens nicht. Hatte mir die Hp auch per Konsole ausgeben lassen und dort war es auch nur 1000.0.

  • Ja stimmt da ist ein Tread in dem beschrieben wird wie man die Vehicle HP setzt.
    Allerdings ist das ja nicht mein Problem. Mein Problem ist ein Code, der auf meinem Server nicht funktioniert, es auf anderen aber theoretisch tut.

  • Meinst du das du mit einem Befehl die HP vom Auto höher setzen kannst? So habe ich es verstanden.
    Bei mir geht es.


    ocmd:setvh(playerid,params[])


    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xB90000FF,"[ERROR]: Diesen Befehl kannst du nicht nutzen. Mindestens benötigter Admin Rang: 1"); // Admin abfrage


    new anzahl,pID;
    if(sscanf(params,"ui",pID,anzahl))return SendClientMessage(playerid,0x0069FFFF,"Benutzung: /setvh [Player/ID] [HP Wert]");
    if(IsPlayerConnected(pID)) return SendClientMessage(playerid,HELLBLAU,"Die Person ist nicht Online"); // ist die Person online
    if(!IsPlayerInAnyVehicle(pID))return SendClientMessage(playerid,HELLBLAU,"Deine Person ist in keinem Auto"); //ist die im Ato
    if(anzahl<0||anzahl>10000)return SendClientMessage(playerid,0xB90000FF,"Bitte gültigen Wert angeben."); // eine begrenzung von 0 auf 10k
    new vehid = GetPlayerVehicleID(pID);
    SetVehicleHealth(vehid,anzahl);


    SendClientMessage(playerid,0x0069FFFF,">--[ HP Wert geändert ]--<");


    return 1;
    }

  • Nach mehrere Test habe ich die Lösung gefunden.


    Wenn man nur die Health settet, dann geht es über die 1000 Hp Grenze hinaus.
    Wenn man jedoch noch den optischen Schaden repariert (entweder RepairVehicle oder DamageStatus oder evtl. auch beides) dann werden immer wieder 1000 HP gesetzt.


    edit: 01.05.2012 - 00:23
    Ich habe das ganze jetzt noch intensiver getestet. Also nach meinen Testergebnissen, wird die Hp des Autos nur durch den RepairVehicle Befehl wieder auf 1000 gesetzt. Wenn man Räder usw durch UpdateVehicleDamageStatus repariert, bleibt die Hp so, wie sie gesetzt wurde. Sprich bei über 1000 Hp wird sie nicht wieder auf 1000 Hp gesetzt.

    Einmal editiert, zuletzt von Hagi ()