Hey !
Ich scripte gerade an meinem GM rum aber irgendwie will ein befehl nicht wie ich will.
ich habe gescriptet das mein Motor auf der Taste Shift an bzw ausgehen soll
bekomme keine errors , gut. Nur wenn ich das im Server teste will der net wie ich will entweder passiert nichts oder nach einiger zeit geht der an . sobald ich dann wieder drücke geht der iwann auch aus. aber wenn ich aus dem veh raus bin und shift drücke zeigt der mir DIREKT(!) an das ich nicht im Auto bin ! oô
hier der pawn ausschnitt:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
new vid;
vid = GetPlayerVehicleID(playerid);
if(newkeys == (KEY_JUMP))
{
if(!IsPlayerInAnyVehicle(playerid) || GetPlayerState(playerid) != PLAYER_STATE_DRIVER) //Wenn er in keinem Auto ist oder ...
{
SendClientMessage(playerid,ROT,"* Du must in einem Auto sein.");
return 1;
}
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective); //Als erstes lesen wir mal alles aus.
if(motor[vid] == true) //Und schon brauchen wir die bool die wir oben definiert haben. Damit speichern wir den Status des Motors um zu erkennen ob er an oder aus ist.
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); //Hier kommt dann VEHICLE_PARAMS_ON zum einsatz. Das haben wir oben auch definiert.
SendClientMessage(playerid,GRUEN,"Du hast den Motor ausgeschaltet.");
motor[vid] = false; //Hier müssen wir die Variable (bool) wieder ändern, damit alles klappt.
}
else if(motor[vid] == false) //Und wenn der Motor aus ist, wird VEHICLE_PARAMS_OFF benutzt um den Motor wieder auszuschalten.
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid,GRUEN,"Du hast den Motor gestartet.");
motor[vid] = true;
}
return 1;
}
return 0;
}
MfG SuperQueckSilber