Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
KABA4OK

Эффект от жидкости

Доброго времени суток.
Пытаюсь сделать чтобы от Выпивания бутылки водки перс падал без сознания.
отмоддил
\scripts\4_World\entities\ItemBase\Gear\Drinks\Vodka.c
 

modded class Vodka: Bottle_Base
{
	override void OnConsume(float amount, PlayerBase consumer)
	{
		if( consumer.GetModifiersManager().IsModifierActive(eModifiers.MDF_UNCONSCIOUSNESS ) )//effectively resets the timer
		{
			consumer.GetModifiersManager().DeactivateModifier( eModifiers.MDF_UNCONSCIOUSNESS );
		}
		consumer.GetModifiersManager().ActivateModifier( eModifiers.MDF_UNCONSCIOUSNESS );
	}
	override void SetActions()
    {
        super.SetActions();

        AddAction( ActionForceDrink );
        AddAction( ActionDrinkCan );
    }
};

впринципе все работает
но нужно сделать так чтобы эффект наступал только при выпивании полной бутылки(сейчас валится после второго глотка).

Помогите пожалуйста

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

😪

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах



  • 0

а если убрать

  AddAction( ActionForceDrink );

это же отпить немного действие, судя с смысла перевода

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 часа назад, 123new сказал:

а если убрать

не работает
 

override void SetActions()
    {
        super.SetActions();
		
		RemoveAction(ActionWashHandsItem);
        RemoveAction(ActionForceDrink);
        AddAction(ActionDrinkCan);
    }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
17 минут назад, babikoff90 сказал:

не работает
 

override void SetActions() { super.SetActions(); RemoveAction(ActionWashHandsItem); RemoveAction(ActionForceDrink); AddAction(ActionDrinkCan); }


override void SetActions()
    {
        super.SetActions();
		
		RemoveAction(ActionWashHandsItem);
        RemoveAction(ActionForceDrink);
        AddAction(ActionDrinkCan);
    }

 

в таком случае только дописывать код в функции

override void OnConsume(float amount, PlayerBase consumer)
	{
		if( consumer.GetModifiersManager().IsModifierActive(eModifiers.MDF_UNCONSCIOUSNESS ) )//effectively resets the timer
		{
			consumer.GetModifiersManager().DeactivateModifier( eModifiers.MDF_UNCONSCIOUSNESS );
		}
		consumer.GetModifiersManager().ActivateModifier( eModifiers.MDF_UNCONSCIOUSNESS );
	}

чтобы сначала проверялось наполнение в бутылке после отпития, и тока потом уже выполнялось или нет. костыль, конечно. А вот код не подскажу с ходу, надо изучать файлы и проверять варианты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.