PDA

Просмотр полной версии : [Callback] OnVehicleDamageStatusUpdate +( заглушение двигателя, антивзрыв. )



Airon007
01.08.2013, 02:35
Думаю многие уже видели эту функцию. По моему очень полезная. Вызывается она тогда, когда игрок повредил транспорт.

Пример использования:

public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
new string[128];
format(string, sizeof(string), "Вы повредили транспорт номер %d", vehicleid);
SendClientMessage(playerid, COLOR_WHITE, string);
return 1;
}
За одно можно сделать заглушение двигателя, если авто сильно побилось.

Если нету - ко всем new:

new engine,lights,alarm,doors,bonnet,boot,objective;

И паблик:

public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
new Float:hp;
new carid = GetPlayerVehicleID(playerid);
GetVehicleHealth(carid, hp);
if (hp <= 350)
{
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(carid,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, COLOR_WHITE, "Ваш двигатель заглох!");
/*Всё остальное в каждом моде другое.*/
}
return 1;
}
Так же, если вы НЕ хотите, что бы авто у вас взрывались:


public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
new Float:hp;
new carid = GetPlayerVehicleID(playerid);
GetVehicleHealth(carid, hp);
if (hp <= 300)
{
SetVehicleHealth(carid, 300.0);//Ну теперь авто взорвать не выйдет. Даже читами, функция на них реагирует
}
return 1;
}
Если у вас возникли проблемы или вопросы - пишите, отвечу.

(Делал всё на "скорую руку", в окне браузера, возможно есть ошибки.)