Hallo
ich habe auch heute mal wieder ein Problem.
Ich habe das Problem, dass das Tank-System nicht funktioniert, die Fahrzeuge haben alle nur 1 Liter im Tank. Beim Tanken erhöht sich der Wert aber auch nicht.
Ganz oben steht:
new Gas[MAX_VEHICLES];
new gGas[MAX_PLAYERS];
new checkgastimer;
new Refueling[MAX_PLAYERS];
bei OnGamemodeInit:
checkgastimer = SetTimer("CheckGas", RunOutTime, 1);
for(new c=0;c<MAX_VEHICLES;c++)
{
Gas[c] = GetGasMax(GetVehicleModel(c));
}
stock GetGasMax(vehmodel)
{
if(vehmodel >= 400 && vehmodel <= 611)
{
return GasMax[(vehmodel-400)];
}
return 1;
}
public 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));
new vid = GetPlayerVehicleID(i);
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(Gas[vehicle] >= 1)
{
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]++;
}*/
if(vid != INVALID_VEHICLE_ID)
{
if(engine == VEHICLE_PARAMS_ON)
{
Gas[vehicle]--;
}
}
}
else
{
NoFuel[i] = 1;
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,5);
}
if(Gas[vehicle] > GetGasMax(GetVehicleModel(vehicle)))
{
Gas[vehicle] = GetGasMax(GetVehicleModel(vehicle));
}
}
}
}
return 1;
}
public Fillup()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new VID;
new FillUp;
new string[256];
VID = GetPlayerVehicleID(i);
FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
if(Refueling[i] == 1)
{
if(GetPlayerMoney(i) >= FillUp+1)
{
Gas[VID] += FillUp;
FillUp = FillUp*10;
format(string,sizeof(string),"* Fahrzeug für $%d aufgetankt. (Preis pro Liter: $%d)",FillUp,2);
SendClientMessage(i,COLOR_LIGHTBLUE,string);
GivePlayerMoney(i, - FillUp);
SBizzInfo[3][sbTill] += FillUp;
ExtortionSBiz(3, FillUp);
Refueling[i] = 0;
UnfreezePlayer(i);
}
else
{
format(string,sizeof(string),"* Du hast nicht genug Geld zum Tanken, Kosten: $%d / Liter.",FillUp);
SendClientMessage(i,COLOR_LIGHTBLUE,string);
}
}
}
}
return 1;
}
Ich hoffe ihr wisst woran es liegt.
Ich habe schon versucht die Variablen hinter Gas zu entfernen, hat nicht funktionert. Es gab Errors.