SA-MP Forums Archive
Подскажите(проверка) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Подскажите(проверка) (/showthread.php?tid=287066)



Подскажите(проверка) - Maikkk - 01.10.2011

Здравствуйте, вот у меня возник такой вопрос, возможно ли как нибудь проверять на сколько сильно было повреждено авто при аварии? А точнее я вот хотел добавить /me действие при определенном сталкновении, как проверить сильно ли транспорт ударился, или так, мелко...


Re: Подскажите(проверка) - Mass_Deboose - 01.10.2011

Quote:
Originally Posted by Maikkk
Посмотреть сообщение
Здравствуйте, вот у меня возник такой вопрос, возможно ли как нибудь проверять на сколько сильно было повреждено авто при аварии? А точнее я вот хотел добавить /me действие при определенном сталкновении, как проверить сильно ли транспорт ударился, или так, мелко...
думаю, нужно смотреть определять по жизням автомобиля...(GetVehicleHealth), а точной функции каторую тебе хочется использовать - нет....


Re: Подскажите(проверка) - Maikkk - 01.10.2011

Quote:
Originally Posted by Mass_Deboose
Посмотреть сообщение
думаю, нужно смотреть определять по жизням автомобиля...(GetVehicleHealth), а точной функции каторую тебе хочется использовать - нет....
я кстати тоже об этом думал, но хз сработает ли? получается если я хочу поставить: ударился головой об руль, то надо проверять около
PHP код:
if(GetVehicleHealth =< 800)
{
/*test*/

так же?
а как узнать на сколько авто повреждено? например на 320 хп и поставить действие, т.е. если авто повреждено на 320 хп то действие, тольк не просто хп проверять, а именно при данной аварии, как проверить?


Re: Подскажите(проверка) - OKStyle - 02.10.2011

https://sampwiki.blast.hk/wiki/OnVehicleDamageStatusUpdate

pawn Код:
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
    new Float:vhp;
    GetVehicleHealth(vehicleid, vhp);
    new string[128];
    format(string, sizeof(string), "{FFFFFF}Авто при аварии потеряло {FF0000}%.f HP", 1000-vhp);
    SendClientMessage(playerid, -1, string);
    return 1;
}
Для твоего случая:
pawn Код:
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
    new Float:vhp, PlayerName[MAX_PLAYER_NAME];
    GetVehicleHealth(vehicleid, vhp);
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    if(1000 - vhp <= 320)
    {
        new string[128];
        format(string, sizeof(string), "{FFFFFF}Авто игрока {FFFF00}%s {FFFFFF}попало в незначительное ДТП!", PlayerName);
        SendClientMessageToAll(-1, string);
    }
    else
    {
        new string[128];
        format(string, sizeof(string), "{FFFFFF}Авто игрока {FFFF00}%s {FFFFFF}попало в серьёзную аварию!", PlayerName);
        SendClientMessageToAll(-1, string);
    }
    return 1;
}



Re: Подскажите(проверка) - ZiGGi - 02.10.2011

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
OnVehicleDamageStatusUpdate срабатывает только при деформации части машины. Т.е. если у машины не будет капота и ты врежешься им, то этот паблик не вызовется.


Re: Подскажите(проверка) - Maikkk - 02.10.2011

OkStyle спс большое, дал +, немного под себя подделаю и все!
ZiGGi - вроде пашет, я просто даже столб сбил и бампер помял и норм!
Тему можно закрывать!


Re: Подскажите(проверка) - ZiGGi - 02.10.2011

Quote:
Originally Posted by Maikkk
Посмотреть сообщение
OkStyle спс большое, дал +, немного под себя подделаю и все!
ZiGGi - вроде пашет, я просто даже столб сбил и бампер помял и норм!
Тему можно закрывать!
Ну я про это и написал, а если бы ты не помял бампер, то не сработало бы