Доступ к готовым решениям

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

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

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

Мануал Система заводки двигателя + бензина [new.pwn]

Димарио

Ученик
Здрасьте всем привет привет всем, выкладываю вам свою версию заводки двигателя + систему бензина для нью пвн
лайкните за старание спс
И так поiхали

Ко всем переменным:

PHP:
new bool:Engine[MAX_VEHICLES];
new bool:zavodka[MAX_PLAYERS];
new Fuel[MAX_VEHICLES];
new bool:benzstart[MAX_PLAYERS];
new fuelcar[MAX_PLAYERS];
new stringer[100];
В OnGameModeInit:

PHP:
ManualVehicleEngineAndLights();
	for(new i; i < MAX_VEHICLES; i++)
	{
	    Fuel[i] = 100;
	}
В OnPlayerStateChange:

PHP:
		if(newstate == PLAYER_STATE_DRIVER)
	{
	    new carid = GetPlayerVehicleID(playerid);
	    if(Fuel[carid] == 0)    return SendClientMessage(playerid, -1, "В автомобиле нет бензина");
    	if(Engine[carid] == false)
    	{
			SendClientMessage(playerid, -1, "Для заводки автомобиля нажмите клавишу '2'");
		}
		else
		{
		    fuelcar[playerid] = SetTimer("fuel", 15000, true);
		}
	}
	if(oldstate == PLAYER_STATE_DRIVER)
	{
	    if(benzstart[playerid] == true)
	    {
	    	KillTimer(fuelcar[playerid]);
		}
	}
Создаем где-нибудь два паблика:

PHP:
public fuel(playerid)
{
	new carid = GetPlayerVehicleID(playerid);
	Fuel[carid] -= 1;
	benzstart[playerid] = true;
	format(stringer, sizeof(stringer), "%d бенпiна", Fuel[carid]);
	SendClientMessage(playerid, -1, stringer);
	if(Fuel[carid] == 0)
	{
	    SendClientMessage(playerid, -1, "Бензин кончился. Двигатель заглох");
	    SetVehicleParamsEx(GetPlayerVehicleID(playerid), false, false, false, false, false, false, false);
	    benzstart[playerid] = false;
	    KillTimer(fuelcar[playerid]);
	}
	return 1;
}
public engstart(playerid)
{
	SetVehicleParamsEx(GetPlayerVehicleID(playerid), true, false, false, false, false, false, false);
	zavodka[playerid] = false;
	new carid = GetPlayerVehicleID(playerid);
	Engine[carid] = true;
 	fuelcar[playerid] = SetTimer("fuel", 15000, true);
	return 1;
}
И наконец в OnPlayerKeyStateChange:

PHP:
	if(newkeys == KEY_SUBMISSION || newkeys == KEY_SUBMISSION && KEY_SPRINT)
	{
	    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	    {
			new carid = GetPlayerVehicleID(playerid);
			if(Fuel[carid] == 0)    return SendClientMessage(playerid, -1, "В автомобиле нет бензина");
			if(Engine[carid] == false)
			{
			    if(zavodka[playerid] == false)
			    {
					SendClientMessage(playerid, -1, "Двигатель заводится...");
					SetTimer("engstart", 2000, false);
				}
				else    return SendClientMessage(playerid, -1, "Двигатель заводится!");
			}
			else
			{
			    SetVehicleParamsEx(GetPlayerVehicleID(playerid), false, false, false, false, false, false, false);
			    SendClientMessage(playerid, -1, "Двигатель выключен");
			    Engine[carid] = false;
			    KillTimer(fuelcar[playerid]);
			    benzstart[playerid] = false;
			}
	    }
	}
Вот и всо! Теперь у вас есть идеальная безупречная красивая система бензина, адаптируйте её сами под свой сервер но если сильно захотите могу и помочь
 
Последнее редактирование:
Сверху Снизу