shape1
shape2
shape3
shape4
shape7
shape8

Система ранения


Статус
Закрыто для дальнейших ответов.

ArMAk17

Графика по низким ценам!
Пользователь
11.08.2014
174
40
0
Ко всем new:

new Ubit[MAX_PLAYERS];
{
Ubit[playerid] = 1;
ApplyAnimation(playerid, animlib, animname, Speeds, looping, lockx, locky, lockz, lp);
}

В pudlic OnPlayerUpdate

 

GetPlayerHealth(playerid, p_health); //Запишем наше хп в переменную для проверок
if(p_health < 30 || p_health > 101) // Проверка на хп, сделано с запасом, что бы один выстрел не мог добить до 0 хп(Во имя того,
{ //что бы не переспавнило после смерти на записанные заранее координаты, так красивее)
if(IsAGang(playerid) && IsCapture == 1) return true; // Проверка на бандита во время капта, меняйте на свое
Ubit[playerid] = 1; // Записывается
UbitAnimation(playerid,"SWEET","SWEET_INJUREDLOOP",4.0, 1, 0, 0, 0, 0);// Ставим созданную анимацию
SetPlayerHealthEx(playerid,10000.0); // Ставим 10000 хп, что бы отыгрыш не сорвался
RemovePlayerFromVehicle(playerid); // Выкидываем из тачки, если тот доползет до неё(Потом может перепланирую этот момент)
if(pData[playerid][phospactual] == 0) // Если 0
{
SendClientMessage(playerid,CWHITE,"Вы ранены и обездвижены, введите /hospital или дождитесь помощи!"); // Покажем 1 раз
pData[playerid][phospactual] = 1; // И запишем 1, что бы ге флудило(см. выше)
}
return true;
}
else if(p_health > 29 && Ubit[playerid] == 1 || p_health < 101 && Ubit[playerid] == 1) // или если мы лежим и наше хп стало в диапазоне между 29 и 101
{
Ubit[playerid] = 0; // записываем 0
ClearAnimations(playerid); // Чистим анимку
pData[playerid][phospactual] = 0; // записываем 0, что бы текст с командой /hospital появился в следущий раз
return true;
}

if(p_health < 30 || p_health > 101) return SendClientMessage(playerid,CGRAY,"Вы ранены и не можете этого сделать."); // Эту проверку ставте в свои РП чаты

Теперь допилим систему и сделаем команду /hospital.

 

if(strcmp(cmd, "/hospital", true) == 0) //Если ввели команду
{
GetPlayerHealth(playerid, p_health); //Снова записываем наше хп
if(p_health < 30 || p_health > 101) // Проверяем что лежим
{
if(pData[playerid][phosptime] == 0) // Проверяем что таймер выключен
{
SendClientMessage(playerid, CRED, "Через 25 секунд вы очутитесь в больнице."); // Говорим игроку что до тп в больку осталось 25 сек
SetTimerEx("hosptimer", 25000, false, "i", playerid); // Заводим часики на 25 сек
pData[playerid][phosptime] = 1; // закрываем проверку на таймер
return true;
}
}
}

И создадим таймер, который включится через 25 секунд после ввода команды

В конец:

forward hosptimer(playerid);
public hosptimer(playerid)
{
SetPlayerHealthEx(playerid,0.0); // Убиваем игрока.
pData[playerid][phosptime] = 0; // Выключаем таймер (Кажется лишний раз :D )
}

Автор: killswich

 
A

Amfy

Гость
Гость
Эмм.. это, что?

Код:
new Ubit[MAX_PLAYERS]; 
{ 
    Ubit[playerid] = 1; 
    ApplyAnimation(playerid, animlib, animname, Speeds, looping, lockx, locky, lockz, lp); 
}
 
Статус
Закрыто для дальнейших ответов.