Ich habe ein Problem,
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
if (PRESSED( KEY_UP | KEY_DOWN | KEY_LEFT | KEY_RIGHT ))
Ist unter OnPlayerKeyStateChange, alles ist richtig, 0 Errors aber wenn ich jetzt einen Motorschaden mit meinem Auto mache (Das ist unter OnPlayerStateChange)
if(newstate == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid), Float:vhp;
if(IsPlayerInVehicle(playerid,vehicleid))
GetVehicleHealth(vehicleid, vhp);
if(vhp<= 300)
{
new Float:vx, Float:vy, Float:vz;
SetVehicleVelocity(vehicleid, vx*0, vy*0, vz*0);
SendClientMessage(playerid,0xFF0000FF,"Das Fahrzeug hat einen Motorschaden!");
}
}
Dann kommt keine Meldung, dass ich einen Motorschaden habe, und kann einfach Weiterfahren...
Interessant ist jedoch, das wenn ich aus dem Auto dann wieder Aussteige und wieder Einsteige, dass mir dann erst gesagt wird das ich einen Motorschaden habe, ich jedoch einfach weiter fahren kann!
Habs auch schon mit HOLDING-KEY probiert, ging auch nicht mit den Variablen Wert der Tasten auch schon, was aber auch nicht ging, nur weiß ich nicht wieso...
ich hoffe mir kann schnell jemand helfen!