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

Тема в разделе "Программирование / Скриптинг", создана пользователем /_Parlament_\, 15 июл 2015.

  1. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    Hello, Как проверить игрока сколько у него хп? начиная от 100, заканчивая 0
     
  2. DarklSide

    DarklSide

    Сообщения:
    685
    Симпатии:
    173
  3. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    DarklSide, Эм всмысле?
     
  4. NiGaByte

    NiGaByte

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

    Добавлено через 1 минуту
    всмысле ты задрал тупые вопросы задавать.
     
    Последнее редактирование: 15 июл 2015
    White Wolf, BatyaMedic и Серый™ нравится это.
  5. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    Почему равенство не работает напимер:

    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 не пользуюсь!!!
     
    Последнее редактирование: 15 июл 2015
  6. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Оффтоп
     
    SenatoR и White Wolf нравится это.
  7. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
    Зачем damage?

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

    BatyaMedic Ньюсмейкер

    Сообщения:
    769
    Симпатии:
    123
    Удачи,чё.
     
    NiGaByte нравится это.
  9. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
  10. DarklSide

    DarklSide

    Сообщения:
    685
    Симпатии:
    173
    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"healthdamage);
            }
        }
        return 
    Plugin_Continue;
    }
     
  11. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
    Почему?

    Какое событие срабатывает когда игрок уже всё скачал и защёл?
     
  12. DarklSide

    DarklSide

    Сообщения:
    685
    Симпатии:
    173
  13. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
    DarklSide, спасибо!