Hey,
Ich möchte es gerne rausnehmen das, dass Paint n Spray die Wagen auf 1000.00 Hp setzt.
Es soll am besten nur die Optik reppen.
Ich war schon auf Servern wo es so war.
Geht das irgendwie?
Währe nett.
Mfg.
//edit : Tppfeler <= Tippfehler..
Hey,
Ich möchte es gerne rausnehmen das, dass Paint n Spray die Wagen auf 1000.00 Hp setzt.
Es soll am besten nur die Optik reppen.
Ich war schon auf Servern wo es so war.
Geht das irgendwie?
Währe nett.
Mfg.
//edit : Tppfeler <= Tippfehler..
Kannst dir ja ein PNS mappen und dann per Befehl mit diesen Funktionen arbeiten:
ChangeVehicleColor
und
ChangeVehiclePaintjob
Könnte man ja machen, aber ich bin da noch nicht so gut drin.. Ich war ja schon auf den Server wo das ging, also müsste es ja gehen
Du speicherst einfach die HP des Autos vor dem Umsprayen und wenn das Auto fertiggesprayt wurde, setzt du die HP wieder
auf den Wert, den du vor dem Sprayen gespeichert hast.
Und wie geht das?
bsp.
New Float:StatusFahrzeug[MAX_PLAYERS];
#define INVALID_ID -1
Die PaintSprays mit Coords versehen bsp. mit "IsPlayerInRangeOfPoint"
und wenn er dann an den Coords ist soll er einfach das machen :
new Float:health; // Wiki
new veh;// Wiki
veh = GetPlayerVehicleID(playerid);// Wiki
GetVehicleHealth(veh, health);// Wiki
StatusFahrzeug[playerid] = health;
und wenn er fertig ist, zum Beispiel mit ein Timer ihn danach den status wieder geben.
new vehicleid = GetPlayerVehicleID(playerid); //Wiki
SetVehicleHealth(vehicleid, StatusFahrzeug[playerid]);
StatusFahrzeug[playerid] = INVALID_ID;
ist aber ungetestet..
Warum nen Timer
Dafür gibts doch nen Callback namens OnEnterExitModShop.
Ich habe mal was runtergeschrieben. Es setzt nicht nur, den Engine-Schaden wie bei Dog, sondern auch den sichtbaren Schaden.
Ohne seperaten Timer.
Wenn ich falsch liege oder es nicht funktioniert sagt es ruhig, ich bin schon etwas länger nicht mehr mit SA:MP in Berührung gekommen.
enum carbreak{
Float: caHealth,
caPanels,
caDoors,
caLights,
caTires
}
new ModdingCars[MAX_VEHICLES][carbreak];
public OnEnterExitModShop(playerid, enterexit, interiorid)
{
if(enterexit == 1)
{
if(GetPlayerVehicleID(playerid))
{
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleHealth(vehicleid, ModdingCars[vehicleid][caHealth]);
GetVehicleDamageStatus(vehicleid,ModdingCars[vehicleid][caPanels],ModdingCars[vehicleid][caDoors],ModdingCars[vehicleid][caLights],ModdingCars[vehicleid][caTires]);
}
}
if(enterexit == 0) // If enterexit is 0, this means they are exiting
{
if(GetPlayerVehicleID(playerid))
{
new vehicleid = GetPlayerVehicleID(playerid);
SetVehicleHealth(vehicleid,ModdingCars[vehicleid][caHealth]);
UpdateVehicleDamageStatus(vehicleid,ModdingCars[vehicleid][caPanels],ModdingCars[vehicleid][caDoors],ModdingCars[vehicleid][caLights],ModdingCars[vehicleid][caTires]);
}
return 1;
}
/edit: Mein Fehler, habe Paint n Spray nicht gelesen, sondern Modding-Werkstatt..
Dies gilt nur für Modding-Shops (also Transfender & Co.