Помогите Добрый день!Вопрос по турелям и автоматом.Прошу помощи!

DmitryLuscenko

20 Окт 2020
7
0
6
35
Ребята доброе утро!) Может кто подскажет, сервер PVE-P, турелях стоит автомат, можно ли сделать так что бы у автомата во время стрельбы падала целосность/здоровье?

Стоит модуль TruePVe.

Буду очень благодарен за помощь!
 
Решение
Ребята доброе утро!) Может кто подскажет, сервер PVE-P, турелях стоит автомат, можно ли сделать так что бы у автомата во время стрельбы падала целосность/здоровье?
На данный момент - нет.

Причина проста, мы плагином не знаем когда турель стреляет.

Ибо когда игрок стреляет логика проходит такой путь:

RPC запрос -> BaseProjectile.CLProject -> хук OnWeaponFired -> Ниже по логике BaseProjectile.UpdateItemCondition
И собственно UpdateItemCondition - уменьшает здоровье.

Когда же турель стреляет она проходит:

AutoTurret.TargetTick -> AutoTurret.FireAttachedGun -> BaseProjectile.ServerUse

И увы, при выстреле турели никаких хуков нет. Так бы можно было в хуке сделать BaseProjectile.UpdateItemCondition но, увы...
Ребята доброе утро!) Может кто подскажет, сервер PVE-P, турелях стоит автомат, можно ли сделать так что бы у автомата во время стрельбы падала целосность/здоровье?
На данный момент - нет.

Причина проста, мы плагином не знаем когда турель стреляет.

Ибо когда игрок стреляет логика проходит такой путь:

RPC запрос -> BaseProjectile.CLProject -> хук OnWeaponFired -> Ниже по логике BaseProjectile.UpdateItemCondition
И собственно UpdateItemCondition - уменьшает здоровье.

Когда же турель стреляет она проходит:

AutoTurret.TargetTick -> AutoTurret.FireAttachedGun -> BaseProjectile.ServerUse

И увы, при выстреле турели никаких хуков нет. Так бы можно было в хуке сделать BaseProjectile.UpdateItemCondition но, увы.

P.S. Да, можно конечно поизвращаться с MonoBehaviour.
Хотя, в BaseProjectile.ServerUse есть вызов BaseEntity.SignalBroadcast в котором есть хук OnSignalBroadcast
 
Последнее редактирование:
На данный момент - нет.

Причина проста, мы плагином не знаем когда турель стреляет.

Ибо когда игрок стреляет логика проходит такой путь:

RPC запрос -> BaseProjectile.CLProject -> хук OnWeaponFired -> Ниже по логике BaseProjectile.UpdateItemCondition
И собственно UpdateItemCondition - уменьшает здоровье.

Когда же турель стреляет она проходит:

AutoTurret.TargetTick -> AutoTurret.FireAttachedGun -> BaseProjectile.ServerUse

И увы, при выстреле турели никаких хуков нет. Так бы можно было в хуке сделать BaseProjectile.UpdateItemCondition но, увы.

P.S. Да, можно конечно поизвращаться с MonoBehaviour.
Хотя, в BaseProjectile.ServerUse есть вызов BaseEntity.SignalBroadcast в котором есть хук OnSignalBroadcast
Спасибо Вам большое за такой развернутый ответ!
Я буквально вчера на одном из проектов видел данную возможность. Автомат после 500 патронов ломался, а пулемет после 1500.Значит какой-то костыль придумали.Будем искать, может кто-то подскажет, как реализовать. Еще раз спасибо за Ваш ответ.
 
Активность
Пока никто не печатает сообщение