Проверка игрока

/_Parlament_\

Участник
Сообщения
134
Реакции
9
Hello, Как проверить игрока сколько у него хп? начиная от 100, заканчивая 0
 
N

NiGaByte

/_Parlament_\, я не кодер, не пишу плагины, но у меня хватило ума зайти https://sm.alliedmods.net/new-api/ и набрать в поиске healt, в итоге я нашёл это: https://sm.alliedmods.net/new-api/clients/GetClientHealth
Оффтоп

Добавлено через 1 минуту
DarklSide, Эм всмысле?

всмысле ты задрал тупые вопросы задавать.
 
Последнее редактирование модератором:

/_Parlament_\

Участник
Сообщения
134
Реакции
9
Почему равенство не работает напимер:

PHP:
	if(GetClientHealth(client) == 100) 
	{ 
		PrintToChat(client, "У вас 100 HP", damage);
	}
В чате не пишет сколько хп осталось:(

Пробывал так, но так баг происходит
пишет осталось 50хп и 0 хп
Как правильно

PHP:
#include <sourcemod> 
#include <sdktools> 

public OnPluginStart() 
{
	HookEvent("player_hurt", Event_PlayerHurt); 
} 


public Action:Event_PlayerHurt(Handle:event, const String:name[], bool:dontBroadcast) 
{ 
	new client = GetClientOfUserId(GetEventInt(event, "userid")); 
	new attacker = GetClientOfUserId(GetEventInt(event, "attacker")); 
	new damage = GetEventInt(event, "dmg_health");  
	if(client != attacker) 
    { 
	if(attacker <= 0) 
	{ 
	if(GetClientHealth(client) <= 100) 
	{ 
		PrintToChat(client, "У вас 100 HP", damage);
	}

	if(GetClientHealth(client) <= 50) 
	{ 
		PrintToChat(client, "У вас 50 HP", damage);
	}
	
	if(GetClientHealth(client) <= 0) 
	{ 
		PrintToChat(client, "У вас 0 HP", damage);
	}
	} 
    } 
	return Plugin_Continue;
}

Добавлено через 56 секунд
NiGaByte, API не пользуюсь!!!
 
Последнее редактирование:

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
PrintToChat(client, "У вас 50 HP", damage);
Зачем damage?

Не <= а >
if(GetClientHealth(client) <= 100)
А не проще сразу так:
PHP:
PrintToChat(client,"У вас осталось - %d HP",GetClientHealth(client));
 

DarklSide

Участник
Сообщения
931
Реакции
468
PHP:
#include <sourcemod>  

public OnPluginStart()
{
    HookEvent("player_hurt", Event_PlayerHurt);
}

public Action:Event_PlayerHurt(Handle:event, const String:name[], bool:dontBroadcast)
{
    new client = GetClientOfUserId(GetEventInt(event, "userid")); //получаемый
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker")); //атакующий
    if (attacker <= 0) //world, не player
    {
        if (client != attacker) //не садист
        {
            new health = GetEventInt(event, "health"); //осталось хелсов
            new damage = GetEventInt(event, "dmg_health"); //наносимый дамаг
            if (health > damage) //не на небесах
            PrintToChat(client, "У вас %d HP, отняли %d", health, damage);
        }
    }
    return Plugin_Continue;
}
 
Сверху Снизу