SaNdRo
Новичок
Здравствуйте, уважаемые пользователи форума. Помогите мне, пожалуйста, с такой проблемой.
Когда в машину сажусь, там под индикатором ХП выводятся текстдравы бензина и скорости, а также показатель locked/unlocked.
Скорость и замок нареканий не вызывают, но вот бензин почему-то обновляется только когда заглушишь машину, а затем снова заведешь.
Недавно только обратил на это внимание, и, насколько я помню, раньше всё обновлялось в режиме "онлайн"
Да и судя по коду он должен обновляться сразу, без всяких танцев. Я достал старый-старый бэкап и заменил с него всё, что связано с бензином, с проверкой бензина, с таймерами, но это не помогло. Вот, решил спросить у вас, может быть, вы сможете помочь!
Ниже скину все коды...
Вот это в списке форвардов:
Это вместе со всеми "new":
Это текстдрав бензина:
Здесь, как я понял, проверка бензина. Если бензина меньше 10, то число показывается красным цветом, если же больше, то белым:
Вот паблик CheckGas:
И вот сам таймер в паблике OnGameModeInit:
Когда в машину сажусь, там под индикатором ХП выводятся текстдравы бензина и скорости, а также показатель locked/unlocked.
Скорость и замок нареканий не вызывают, но вот бензин почему-то обновляется только когда заглушишь машину, а затем снова заведешь.
Недавно только обратил на это внимание, и, насколько я помню, раньше всё обновлялось в режиме "онлайн"
Ниже скину все коды...
Вот это в списке форвардов:
PHP:
forward CheckGas();
PHP:
new checkgastimer;
PHP:
// Бензин
FUEL[playerid] = TextDrawCreate(500.000000, 98.000000, "-");
TextDrawFont(FUEL[playerid], 3);
TextDrawLetterSize(FUEL[playerid], 0.450000, 1.500000);
TextDrawSetOutline(FUEL[playerid], 1);
TextDrawSetProportional(FUEL[playerid], 0);
TextDrawHideForPlayer(playerid, FUEL[playerid]);
PHP:
if(EngineCar[newcar] == 1)
{
if(Gas[newcar] <= 10)
{
PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
format(string, sizeof(string), "~g~fuel: ~r~%d", Gas[newcar]);
}
else
{
format(string, sizeof(string), "~g~fuel: ~w~%d", Gas[newcar]);
}
TextDrawShowForPlayer(playerid, FUEL[playerid]); TextDrawSetString(FUEL[playerid], string);
}
PHP:
public CheckGas()
{
//##############################################################################
CarCheck();
//##############################################################################
new vehicle, string[256];
for(new c = 0; c < CAR_AMOUNT+1; c++)
{
if(!BikeVeh(c) && !PlaneVeh(c) && !BoatVeh(c))
{
if(Gas[c] > 0)
{
if(EngineCar[c] == 1)
{
Gas[c]--;
}
}
else
{
EngineCar[c] = 0;
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(c,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(c,0,0,alarm,doors,bonnet,boot,objective);
}
}
}
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER && gPlayerLogged[i] == 1)
{
vehicle = GetPlayerVehicleID(i);
if(!BikeVeh(vehicle) && !PlaneVeh(vehicle) && !BoatVeh(vehicle))
{
if(EngineCar[vehicle] == 1)
{
if(Gas[vehicle] <= 10)
{
PlayerPlaySound(i, 1085, 0.0, 0.0, 0.0);
format(string, sizeof(string), "~g~fuel: ~r~%d", Gas[vehicle]);
}
else
{
format(string, sizeof(string), "~g~fuel: ~w~%d", Gas[vehicle]);
}
TextDrawSetString(FUEL[i], string); TextDrawShowForPlayer(i, FUEL[i]);
}
else
{
TextDrawHideForPlayer(i, FUEL[i]);
}
}
}
else
{
TextDrawHideForPlayer(i, FUEL[i]);
}
}
}
return 1;
}
PHP:
checkgastimer = SetTimer("CheckGas", 30000, 1);
