Полностью убрать урон от ножа.

Тема в разделе "Программирование / Скриптинг", создана пользователем Hejter, 4 мар 2016.

  1. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Убрал урон от ножа, но есть замечание.

    Использую player_hurt.
    Блокирую урон: SetEntityHealth(client, (GetEventInt(event, "dmg_health") + GetEventInt(event, "health")));
    Вроде бы урон и блокируется, но если игрок сидит в тюрьме, первый удар по нему = смертельный.

    public RP_PlayerHurt(Handle:event, const String:name[], bool:dontBroadcast) { - Pastebin.com [весь код блокирования урона]
     
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.512
    Симпатии:
    1.963
    Нужен метод EventHookMode_Pre.
     
  3. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Я использовал его, не помню почему перестал, но вроде урон иногда не ловился.
     
  4. gibs

    gibs Фитиль народного волненья

    Сообщения:
    536
    Симпатии:
    133
    Боже, ну куда тебе моды писать. Как же тебе тяжело приходится, наверное.
    Используй хук из сдкхукс ОнТейкДемедж.
    ЗЫ: делай проверку на тип оружия, а не используй проверку на тип урона. Урон с ножа идёт как DMG_BULLET, вроде.
     
  5. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Я его уже использую. Подумал может можно исправить.
    Да и к тому же, кто-то же должен написать "божественный" мод RP.
     
  6. SourceSamil

    SourceSamil

    Сообщения:
    121
    Симпатии:
    24
    Как-то так

    public OnClientPutInServer(client)
    {
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
    }

    public Action:OnTakeDamage(iVictim, &iAttacker, &iInflictor, &Float:fDamage, &iDamageType, &iWeapon, Float:fDamageForce[3], Float:fDamagePosition[3])
    {
    if(0<iAttacker<=MaxClients&&iAttacker!=iVictim)
    {
    if(iWeapon==GetPlayerWeaponSlot(iAttacker, 2))
    {
    fDamage=0.0;
    return Plugin_Changed;
    }
    }
    return Plugin_Continue;
    }
     
  7. SHAREN

    SHAREN Servers-Info.Ru

    Сообщения:
    203
    Симпатии:
    13
    Попробуй другим способом.
    в файле csgo/scripts/weapon_knife.txt
    измени "Damage" на "0" ну и может там ещё будет что интересное.
     
  8. Grey83

    Grey83

    Сообщения:
    319
    Симпатии:
    94
    И все, кто попытается зайти на такой сервер будет получать отлуп (емнип, если pure_server включён)? :biggrin: