НЕ РЕШЕНО Снижение урона наносимому по BasePlayer

Хостинг игровых серверов

AXESOUL

Прохожий
11 Фев 2018
154
12
24
Пишу один плагин, нужно уменьшить урон наносимому по BasePlayer.
 

Kaidoz

вышел покурить
Разработчик С#
Обитатель
Прохожий
4 Фев 2018
330
208
vk.com
Пишу один плагин, нужно уменьшить урон наносимому по BasePlayer.
Все что я юзал для написания кода: Umod. С учетом того, что для раста плагины не пишу, не имею представления, в чем могли быть затрудения.
Не могу сказать, что код 100% работает - без понятия какое значение отвечает за урон и юзал библиотеки 196дева.
Код:
        object OnEntityTakeDamage(BaseCombatEntity entity, HitInfo info) // урон по игроку от чего-либо
        {
            if(entity is BasePlayer)
            {
                BasePlayer basePlayer = entity as BasePlayer;
                info.gatherScale = info.gatherScale * 0.80f; // 80% от полного урона
            }
            //Puts("OnEntityTakeDamage works!");
            return null;
        }

        void OnPlayerAttack(BasePlayer attacker, HitInfo info) // урон игроку от игрока
        {
            if(info.HitEntity is BasePlayer)
            {
                BasePlayer player = info.HitEntity as BasePlayer;
                info.gatherScale = info.gatherScale * 0.80f; // 80% от полного урона
            }
            //Puts("OnPlayerAttack works!");
        }
 
  • Like
Реакции: Ryamkk

AXESOUL

Прохожий
11 Фев 2018
154
12
24
Все что я юзал для написания кода: Umod. С учетом того, что для раста плагины не пишу, не имею представления, в чем могли быть затрудения.
Не могу сказать, что код 100% работает - без понятия какое значение отвечает за урон и юзал библиотеки 196дева.
Код:
        object OnEntityTakeDamage(BaseCombatEntity entity, HitInfo info) // урон по игроку от чего-либо
        {
            if(entity is BasePlayer)
            {
                BasePlayer basePlayer = entity as BasePlayer;
                info.gatherScale = info.gatherScale * 0.80f; // 80% от полного урона
            }
            //Puts("OnEntityTakeDamage works!");
            return null;
        }

        void OnPlayerAttack(BasePlayer attacker, HitInfo info) // урон игроку от игрока
        {
            if(info.HitEntity is BasePlayer)
            {
                BasePlayer player = info.HitEntity as BasePlayer;
                info.gatherScale = info.gatherScale * 0.80f; // 80% от полного урона
            }
            //Puts("OnPlayerAttack works!");
        }
Я просто только начинаю писать плагины, многого не знаю. За ответ спасибо, и кстати, где ты это нашел на uMod'е?
 

AXESOUL

Прохожий
11 Фев 2018
154
12
24
c7b61b94bc1b1d6dcdfcb7f45e7c5606.png
 

AXESOUL

Прохожий
11 Фев 2018
154
12
24
Все что я юзал для написания кода: Umod. С учетом того, что для раста плагины не пишу, не имею представления, в чем могли быть затрудения.
Не могу сказать, что код 100% работает - без понятия какое значение отвечает за урон и юзал библиотеки 196дева.
Код:
        object OnEntityTakeDamage(BaseCombatEntity entity, HitInfo info) // урон по игроку от чего-либо
        {
            if(entity is BasePlayer)
            {
                BasePlayer basePlayer = entity as BasePlayer;
                info.gatherScale = info.gatherScale * 0.80f; // 80% от полного урона
            }
            //Puts("OnEntityTakeDamage works!");
            return null;
        }

        void OnPlayerAttack(BasePlayer attacker, HitInfo info) // урон игроку от игрока
        {
            if(info.HitEntity is BasePlayer)
            {
                BasePlayer player = info.HitEntity as BasePlayer;
                info.gatherScale = info.gatherScale * 0.80f; // 80% от полного урона
            }
            //Puts("OnPlayerAttack works!");
        }
Я сейчас проверил, не работает
 

AXESOUL

Прохожий
11 Фев 2018
154
12
24

Alexandr

Прохожий
25 Апр 2018
12
6
33
Код:
private object OnEntityTakeDamage(BaseCombatEntity entity, HitInfo hitInfo)
        {
            if (hitInfo == null || entity == null) return null;
            if (entity is BasePlayer)
            {
                hitInfo.damageTypes.ScaleAll(0.5f); // режет дамаг на половину.
            }
            return null;
        }
 
  • Like
Реакции: AXESOUL