Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Текстдрав бензина

Статус
В этой теме нельзя размещать новые ответы.

SaNdRo

Новичок
Здравствуйте, уважаемые пользователи форума. Помогите мне, пожалуйста, с такой проблемой.
Когда в машину сажусь, там под индикатором ХП выводятся текстдравы бензина и скорости, а также показатель locked/unlocked.
Скорость и замок нареканий не вызывают, но вот бензин почему-то обновляется только когда заглушишь машину, а затем снова заведешь.
Недавно только обратил на это внимание, и, насколько я помню, раньше всё обновлялось в режиме "онлайн":D Да и судя по коду он должен обновляться сразу, без всяких танцев. Я достал старый-старый бэкап и заменил с него всё, что связано с бензином, с проверкой бензина, с таймерами, но это не помогло. Вот, решил спросить у вас, может быть, вы сможете помочь!
Ниже скину все коды...
Вот это в списке форвардов:
PHP:
forward CheckGas();
Это вместе со всеми "new":
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]);
Здесь, как я понял, проверка бензина. Если бензина меньше 10, то число показывается красным цветом, если же больше, то белым:
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);
			}
Вот паблик CheckGas:
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;
}
И вот сам таймер в паблике OnGameModeInit:
PHP:
checkgastimer = SetTimer("CheckGas", 30000, 1);
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу