PDA

Просмотр полной версии : [Вопрос] Прокол колес.



BaBuIIIkaDrifteR
09.01.2015, 04:05
Ребят что за функция спускает заднии колеса у автомобиля. может у кого есть такая команда или просто функция ?

#ball
09.01.2015, 11:30
Думаю вы разберетесь -> http://wiki.sa-mp.com/wiki/GetVehicleDamageStatus

BaBuIIIkaDrifteR
10.01.2015, 01:27
Спасибо так то разобрался. Но 1 минус. Он их спускает но обраьно не накачивает в чем проблема?

Вот код который получился!

if(Shini[playerid] == 1)//Задние колеса (Спущены)
{
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}спущены");
new Panels, Doors, Lights, Tires;
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, (Tires | 0b0101));
Shini[playerid] = 0;
}
else
{
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}накачены");
new Panels, Doors, Lights, Tires;//Задние колеса (Накачены)
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, (Tires | 0b0000));
Shini[playerid] = 1;
}

kaZax
10.01.2015, 01:45
new Panels, Doors, Lights, Tires, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
if (Tires == 0101)
{
RepairVehicle(vehicleid);
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}накачены");
}
else
{
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}спущены");
}

BaBuIIIkaDrifteR
10.01.2015, 02:27
new Panels, Doors, Lights, Tires, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
if (Tires == 0101)
{
RepairVehicle(vehicleid);
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}накачены");
}
else
{
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}спущены");
}


У меня сделано по нажатию в диалоговом окне. Накачивает шины когда только 2 раз зайдешь и нажмешь с 1 раза не накачивает.



switch(Shini[playerid])//Задние колеса
{
case 0: str[8]= "{00ff00}Накачать";//Колеса спущены
case 1: str[8]= "{FF3300}Спустить";//Колеса накачены
}


new Panels, Doors, Lights, Tires, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
if(Tires == 0101)
{
RepairVehicle(vehicleid);
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}накачены");
Shini[playerid] = 1;
}
else
{
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, 0101);
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}спущены");
Shini[playerid] = 0;
}

BaBuIIIkaDrifteR
10.01.2015, 21:19
UPUPUUP

BaBuIIIkaDrifteR
12.01.2015, 08:17
Подниму.

Glant
07.12.2015, 20:16
Спасибо так то разобрался. Но 1 минус. Он их спускает но обраьно не накачивает в чем проблема?

Вот код который получился!

if(Shini[playerid] == 1)//Задние колеса (Спущены)
{
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}спущены");
new Panels, Doors, Lights, Tires;
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, (Tires | 0b0101));
Shini[playerid] = 0;
}
else
{
SCM(playerid,0xFFFFFFAA,"{66FFCC}Energy Drift: {FFFFFF}Задние колеса {66FFCC}накачены");
new Panels, Doors, Lights, Tires;//Задние колеса (Накачены)
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid, Panels, Doors, Lights, Tires);
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, (Tires | 0b0000));
Shini[playerid] = 1;
}

Для спуска колес используется логическое ИЛИ (|), и 1 к 0 дает 1, и колесо спускается.
Ну а для накачки нужно использовать логическое И (&), и в этом случае 1 к 0 дает 0, колесо целое.




UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, (Tires & 0b0000));