PDA

Просмотр полной версии : [Вопрос] Повреждения и авто починка авто



BaBuIIIkaDrifteR
24.01.2015, 03:18
Я не допонимаю как сделать что бы когда спускаешь задние колеса при врезание в стену они не накачивались а авто починка работала.

Вот мой код он уже готовый но надо что поменять где то.

Автопочинка:

if(IsPlayerInAnyVehicle(playerid))
{
if(RepairCar[playerid] == 1)//Автопочинка автомобиля
{
new Float:health;
GetVehicleHealth(GetPlayerVehicleID(playerid), health);
if(health < 1000)
{
RepairVehicle(GetPlayerVehicleID(playerid));
//==[ПРОКОЛ ЗАДНИХ КОЛЕС]===========================================
new Panels, Doors, Lights, Tires, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);
//===============================================================
if(DriftPointsNow[playerid] > 0 && Player[playerid][pCrash] < 1)
{
GivePlayerMoney(playerid, 0);
Player[playerid][Drift] += 0;
GameTextForPlayer(playerid, "~r~Crash",2000,5);
PlayerTextDrawSetString(playerid, drifting, " ");
DriftPointsNow[playerid] = 0;
TrueScore[playerid] = 0;
TrueX[playerid] = 1;
if(Player[playerid][pDriftX5] > 0) TrueX[playerid] = 5;
rtime[playerid] = -1;
}
}
}
Накачать - Спустить шины.

new Panels, Doors, Lights, Tires, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
if(Shini[playerid] == 0)
{
RepairVehicle(GetPlayerVehicleID(playerid));
Shini[playerid] = 1;
}
else
{
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);
Shini[playerid] = 0;
}

Mazzilla
24.01.2015, 12:35
if(Shini[playerid] == 0)
{
//==[ПРОКОЛ ЗАДНИХ КОЛЕС]===========================================
new Panels, Doors, Lights, Tires, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);
//===============================================================
}

BaBuIIIkaDrifteR
24.01.2015, 13:44
if(Shini[playerid] == 0)
{
//==[ПРОКОЛ ЗАДНИХ КОЛЕС]===========================================
new Panels, Doors, Lights, Tires, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);
//===============================================================
}
А кода шины будут накачены ты врежишься и шины спустяться.

- - - Добавлено - - -

Возможно я описал не понятно.

- У меня Drift сервер.
- У меня стоит авто-починка когда врезаешься во что либо автомобиль чиниться(RepairVehicle).
- Я сделал прокол задних колес.
(UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);)
- Допустим: Я спустил задние колеса и врезался в стену авто-починка СРАБОТАЛА и накачала колеса.
- Но надо сделать что бы когда Я врезаюсь куда либо машина чинилась(RepairVehicle) а колеса не накачивались.

Mazzilla
24.01.2015, 16:08
А кода шины будут накачены ты врежишься и шины спустяться.
Судя по коду, шины спущены, когда Shini[playerid] = 0. В таймере (или где проверка) указываем: если хп < 1000, то чиним машину (накачиваются колёса автоматически функцией) и, если шины спущены (Shini[playerid] = 0), то спускаем после починки.

BaBuIIIkaDrifteR
24.01.2015, 16:29
Судя по коду, шины спущены, когда Shini[playerid] = 0. В таймере (или где проверка) указываем: если хп < 1000, то чиним машину (накачиваются колёса автоматически функцией) и, если шины спущены (Shini[playerid] = 0), то спускаем после починки.

Вот смотри.

if(listitem == 9)//Задние колеса
{
new Panels, Doors, Lights, Tires, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
if(Shini[playerid] == 0)
{
RepairVehicle(GetPlayerVehicleID(playerid));
Shini[playerid] = 1;//Шины Накачены
}
else
{
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);
Shini[playerid] = 0;//Шины Спущены.
}
}
Когда авто врезается.
public OnPlayerUpdate(playerid)

if(IsPlayerInAnyVehicle(playerid))
{
if(RepairCar[playerid] == 1)//Проверка [ON или OFF] Авто-починка автомобиля
{
new Float:health;
GetVehicleHealth(GetPlayerVehicleID(playerid), health);
if(health < 1000)
{
RepairVehicle(GetPlayerVehicleID(playerid));//Чинит автомобиль
if(DriftPointsNow[playerid] > 0 && Player[playerid][pCrash] < 1)
{
GivePlayerMoney(playerid, 0);
Player[playerid][Drift] += 0;
GameTextForPlayer(playerid, "~r~Crash",2000,5);
PlayerTextDrawSetString(playerid, drifting, " ");
DriftPointsNow[playerid] = 0;
TrueScore[playerid] = 0;
TrueX[playerid] = 1;
if(Player[playerid][pDriftX5] > 0) TrueX[playerid] = 5;
rtime[playerid] = -1;
}
}
}

Mazzilla
24.01.2015, 16:50
Можно было уже и самому догадаться по моему второму сообщению, что нужно вставить предложенный мой код в первом сообщении после
RepairVehicle(GetPlayerVehicleID(playerid));//Чинит автомобиль

BaBuIIIkaDrifteR
24.01.2015, 18:46
Можно было уже и самому догадаться по моему второму сообщению, что нужно вставить предложенный мой код в первом сообщении после
RepairVehicle(GetPlayerVehicleID(playerid));//Чинит автомобиль

Спасибо сделал.
Закрывайте тему или удаляйте что там =)