Ко всем 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; // Выключаем таймер (Кажется лишний раз )
}
Автор: killswich
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; // Выключаем таймер (Кажется лишний раз )
}
Автор: killswich