Guten Abend Community,
ich habe ein Problem oder sagen wir kein Problem sondern ich möchte gerne etwas wissen.
Wenn bei einem Fahrzeug der Tank leer ist wird der Motor ausgeschaltet und wenn man /motor (Befehl um den Motor zu starten) eintippt erscheint die Meldung " * Der Tank ist leer, du kannst den Motor nicht starten."
Das ist auch noch richtig aber nun kommt das Problem, wenn ich aus dem Fahrzeug aussteige und in ein Fahrzeug einsteige, wo der Tank voll ist und ich /motor eintippe erscheint trotzdem die oben genannte Meldung.
Ich weiß an was es liegt aber weiß nicht, wie ich es anders machen könnte, kann mir bitte jemand helfen?
Code:
if(strcmp(cmd, "/motor",true) == 0)
{
if(NoFuel[playerid] == 1)
{
SendClientMessage(playerid,COLOR_GREY," * Der Tank ist leer, du kannst den Motor nicht starten.");
return 1;
}
Function CheckGas()
{
new string[256];
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new vehicle = GetPlayerVehicleID(i);
new Model = GetVehicleModel(GetPlayerVehicleID(i));
if(Gas[vehicle] >= 2)
{
if(Gas[vehicle] <= 10) { PlayerPlaySound(i, 1085, 0.0, 0.0, 0.0); }
if(gGas[i] == 1)
{
format(string, sizeof(string), "~r~~n~~n~~n~~n~~n~~n~~n~~n~~n~Benzin:~w~ %d%",Gas[vehicle]);
GameTextForPlayer(i,string,15500,3);
}
if(IsAPlane(vehicle) || IsABoat(vehicle) || Model == 462 || Model == 481)
{
Gas[vehicle]++;
}
new engine,lights,alarm,doors,bonnet,boot,objective;
new vid = GetPlayerVehicleID(i);
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(vid != INVALID_VEHICLE_ID)
{
if(engine == VEHICLE_PARAMS_ON)
{
Gas[vehicle]--;
}
}
}
else
{
NoFuel[i] = 1; -------------Hier sollte sich das ganze abspielen, denke ich---------------
//FreezePlayer(i);
new vid = GetPlayerVehicleID(i);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vid, engine , lights , alarm , doors , bonnet , boot , objective );
SetVehicleParamsEx(vid, VEHICLE_PARAMS_OFF , lights , alarm , doors , bonnet , boot , objective );
GameTextForPlayer(i,"~w~~n~~n~~n~~n~~n~~n~~n~~n~Kein Benzin mehr~n~Gib /exit zum ausgestiegen ein",1500,3);
}
if(Gas[vehicle] > GetGasMax(GetVehicleModel(vehicle)))
{
Gas[vehicle] = GetGasMax(GetVehicleModel(vehicle));
}
}
}
}
return 1;
}
Mit freundlichen Grüßen,
dome_crasher