Скрипт урона

Тема в разделе "Запросы", создана пользователем Черная вдова, 15 июл 2013.

  1. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
    Как сделать так что бы когда вас какой-то определенный игрок например из команды CT урон вам не наносился+Надо не только что бы урон не наносился, но и что бы он не мог вас убить вообще
     
  2. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    PHP:
    #include <sourcemod>

    new bool:check[MAXPLAYERS 1]  = {false, ...};

    new    
    m_iHealth = -1;

    public 
    OnPluginStart()
    {
        if ((
    m_iHealth FindSendPropOffs("CCSPlayer""m_iHealth")) == -1)
        {
            
    SetFailState("m_iHealth error"); 
        }
        else
        {
            
    HookEvent("player_hurt"Event_OnPlayerHurtEventHookMode_Pre);

            
    RegConsoleCmd("test"CallBack);
        }
    }

    public 
    Action:Event_OnPlayerHurt(Handle:event, const String:name[], bool:silent)
    {
        if (
    check[GetClientOfUserId(GetEventInt(event"attacker"))])
        {
            new 
    client GetClientOfUserId(GetEventInt(event,"userid"));
            
    SetEntData(clientm_iHealthGetClientHealth(client) + GetEventInt(event"dmg_health"), 4true);
        }
    }

    public 
    Action:CallBack(clientargs)
    {
        if (
    client 0)
        {
            
    check[client] = !check[client];
            
    PrintToChat(client"Вы %sможете наносить урон"check[client] ? "не " "");
        }

        return 
    Plugin_Handled;
    }
     
    Последнее редактирование: 15 июл 2013
    Черная вдова нравится это.
  3. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
    The End Is Near...,
    Не вижу проверки команды атакующего
    И не надо эти проверки на ошибки со здоровьем, игра css не надо их

    Добавлено через 7 минут
    Вот так же можно и игрок CT ТОЧНО НЕ УБЬЕТ да ? Даже если будет достаточно 1 попадания
    Код:
    [COLOR=#000000][COLOR=#000000][COLOR=#FF8000]#include <sourcemod>[/COLOR][/COLOR][COLOR=#007700]
    
    public [/COLOR][COLOR=#0000BB]OnPluginStart[/COLOR][COLOR=#007700]()
    {[/COLOR][COLOR=#007700]
            [/COLOR][COLOR=#0000BB]HookEvent[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"plyaer_hurt"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Event_OnPlayerHurt[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]EventHookMode_Pre[/COLOR][COLOR=#007700]);[/COLOR][COLOR=#007700]
    }
    
    public [/COLOR][COLOR=#0000BB]Action[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]Event_OnPlayerHurt[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Handle[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]event[/COLOR][COLOR=#007700], const [/COLOR][COLOR=#0000BB]String[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]name[/COLOR][COLOR=#007700][], [/COLOR][COLOR=#0000BB]bool[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]silent[/COLOR][COLOR=#007700])
    {
    [/COLOR][/COLOR][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#007700]new [/COLOR][COLOR=#0000BB]attacker2 [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]GetClientOfUserId[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]GetEventInt[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]event[/COLOR][COLOR=#007700],[/COLOR][COLOR=#DD0000]"[/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#DD0000][COLOR=#000000][COLOR=#DD0000]attacker[/COLOR][/COLOR]"[/COLOR][COLOR=#007700]));[/COLOR][/COLOR]  
    [/COLOR][/COLOR][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#007700]new [/COLOR][COLOR=#0000BB]client2 [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]GetClientOfUserId[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]GetEventInt[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]event[/COLOR][COLOR=#007700],[/COLOR][COLOR=#DD0000]"[/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#DD0000][COLOR=#000000][COLOR=#DD0000]userid[/COLOR][/COLOR]"[/COLOR][COLOR=#007700]));[/COLOR][/COLOR]  [/COLOR][/COLOR]  
     if (GetClientTeam([/COLOR][/COLOR][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#0000BB]attacker2[/COLOR][/COLOR][/COLOR][/COLOR]) == 3)[/COLOR][COLOR=#007700]
        {[/COLOR][COLOR=#007700]
            [/COLOR][COLOR=#0000BB]SetEntData[/COLOR][COLOR=#007700]([/COLOR][/COLOR][COLOR=#000000][COLOR=#0000BB][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#0000BB]client2[/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]m_iHealth[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]GetClientHealth[/COLOR][COLOR=#007700]([/COLOR][/COLOR][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#007700][COLOR=#000000][COLOR=#0000BB]client2[/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#007700]) + [/COLOR][COLOR=#0000BB]GetEventInt[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]event[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]"dmg_health"[/COLOR][COLOR=#007700]), [/COLOR][COLOR=#0000BB]4[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]true[/COLOR][COLOR=#007700]);
        }
    }
    [/COLOR][COLOR=#007700]
    [/COLOR][/COLOR]

     
    Последнее редактирование: 15 июл 2013
  4. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    Черная вдова
    Проверь, у тебя ошибки в коде. Команду игрока можешь сам проверить.
     
  5. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    Зачем мудрить? Чем неугадил SetEntityHealth?
     
  6. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    wanted241
    Как ты думаешь, на чем основывается SetEntityHealth?
     
  7. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    И так знаю. Но все же. Зачем мудрить ? Все пользуются SetEntityHealth() и ни у кого еще не было с этим проблем.

    Добавлено через 1 минуту
    Да и вообще, если ты хочешь полностью убрать урон, чтобы он до тебя даже не дошел - это не поможет. Нужно по-другому делать.
     
    Последнее редактирование: 15 июл 2013
  8. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    wanted241
    А ты проверь для начала
     
  9. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    HookMode_Pre. Не заметил.

    Добавлено через 1 минуту
    Но урон дойдет. Пусть ты и прибавил до этого хп, но урон дойдет. Если хочешь, чтобы даже не доходил, используй SDKHooks.

    Добавлено через 5 минут
    Кстати, не знал, что есть такое событие:

    Код:
    HookEvent("plyaer_hurt", Event_OnPlayerHurt, EventHookMode_Pre);
    
     
    Последнее редактирование: 15 июл 2013
    The End Is Near... нравится это.
  10. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    wanted241
    Поторопился
     
  11. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.570
    Симпатии:
    1.153
    Я использовал это.. в протекте
     
  12. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
    Из логов
    [SM] Native "HookEvent" reported: Game event "plyaer_hurt" does not exist
     
  13. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    Темку прочти
     
  14. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
    The End Is Near...,
    Прочитал, что дальше ?
     
  15. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    plyaer_hurt
     
    Черная вдова нравится это.