[CS:GO] Как отключить урон от гранат

Тема в разделе "Программирование / Скриптинг", создана пользователем Z3R0M1ND, 12 фев 2015.

  1. Z3R0M1ND

    Z3R0M1ND

    Сообщения:
    25
    Симпатии:
    0
    Хотел бы отключить урон от гранат для VIP игроков (точнее сделать его меньше)
    Подскажите как это сделать.

    Пока нашел только событие hegrenade_detonate
    А как с ним работать понятия не имею.

    AHTUNG!
     
  2. Саша Шеин

    Саша Шеин

    Сообщения:
    1.258
    Симпатии:
    191
    Z3R0M1ND, Могу только предложить свой вариант в виде описания.
    Описание: Хукаешь получение урона, если урон получен от HE получаешь урон и минусуешь его на опр процент(damage=damage-(damage/100)*YOU%) Вроде так. П.С: Хукать надо с флагом Pre.
     
  3. Андрей Трегубенко

    Андрей Трегубенко

    Сообщения:
    13
    Симпатии:
    0
    Нашел только такие damagetype от sdkhooks
    #if !defined DMG_GENERIC
    #define DMG_GENERIC 0 /**< generic damage was done */
    #define DMG_CRUSH (1 << 0) /**< crushed by falling or moving object.
    NOTE: It's assumed crush damage is occurring as a result of physics collision, so no extra physics force is generated by crush damage.
    DON'T use DMG_CRUSH when damaging entities unless it's the result of a physics collision. You probably want DMG_CLUB instead. */
    #define DMG_BULLET (1 << 1) /**< shot */
    #define DMG_SLASH (1 << 2) /**< cut, clawed, stabbed */
    #define DMG_BURN (1 << 3) /**< heat burned */
    #define DMG_VEHICLE (1 << 4) /**< hit by a vehicle */
    #define DMG_FALL (1 << 5) /**< fell too far */
    #define DMG_BLAST (1 << 6) /**< explosive blast damage */
    #define DMG_CLUB (1 << 7) /**< crowbar, punch, headbutt */
    #define DMG_SHOCK (1 << 8) /**< electric shock */
    #define DMG_SONIC (1 << 9) /**< sound pulse shockwave */
    #define DMG_ENERGYBEAM (1 << 10) /**< laser or other high energy beam */
    #define DMG_PREVENT_PHYSICS_FORCE (1 << 11) /**< Prevent a physics force */
    #define DMG_NEVERGIB (1 << 12) /**< with this bit OR'd in, no damage type will be able to gib victims upon death */
    #define DMG_ALWAYSGIB (1 << 13) /**< with this bit OR'd in, any damage type can be made to gib victims upon death. */
    #define DMG_DROWN (1 << 14) /**< Drowning */
    #define DMG_PARALYZE (1 << 15) /**< slows affected creature down */
    #define DMG_NERVEGAS (1 << 16) /**< nerve toxins, very bad */
    #define DMG_POISON (1 << 17) /**< blood poisoning - heals over time like drowning damage */
    #define DMG_RADIATION (1 << 18) /**< radiation exposure */
    #define DMG_DROWNRECOVER (1 << 19) /**< drowning recovery */
    #define DMG_ACID (1 << 20) /**< toxic chemicals or acid burns */
    #define DMG_SLOWBURN (1 << 21) /**< in an oven */
    #define DMG_REMOVENORAGDOLL (1 << 22) /**< with this bit OR'd in, no ragdoll will be created, and the target will be quietly removed.
    use this to kill an entity that you've already got a server-side ragdoll for */
    #define DMG_PHYSGUN (1 << 23) /**< Hit by manipulator. Usually doesn't do any damage. */
    #define DMG_PLASMA (1 << 24) /**< Shot by Cremator */
    #define DMG_AIRBOAT (1 << 25) /**< Hit by the airboat's gun */
    #define DMG_DISSOLVE (1 << 26) /**< Dissolving! */
    #define DMG_BLAST_SURFACE (1 << 27) /**< A blast on the surface of water that cannot harm things underwater */
    #define DMG_DIRECT (1 << 28)
    #define DMG_BUCKSHOT (1 << 29) /**< not quite a bullet. Little, rounder, different. */
    #endif
     
  4. Саша Шеин

    Саша Шеин

    Сообщения:
    1.258
    Симпатии:
    191
    Z3R0M1ND, Если на CSGO робит то в значании ставь не 60 а -60 -Не очень уверен что в нём так можно.(Или код лучше под себя измени. )
    ссылка
     
  5. KGB1st

    KGB1st

    Сообщения:
    60
    Симпатии:
    0
    А если игрок вечно на фаст свтчь бегает?
     
  6. axiom

    axiom

    Сообщения:
    7
    Симпатии:
    0
    PHP:
    public OnClientPutInServer(client)
    {
        
    SDKHook(clientSDKHook_OnTakeDamageOnTakeDamage);
    }
    public 
    Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
    {
        
    PrintToChatAll("%i"damagetype); // узнаем тип атаки
        
    if (isVip(victim) && damagetype == наш_тип_атаки)
        {
            
    damage *= 0.7// на 30%
            
    return Plugin_Changed;
        }
        return 
    Plugin_Continue;
    }  
     
    Последнее редактирование: 5 авг 2015