Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
babikoff90

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

Доброго времени суток.
Пытаюсь сделать чтобы от Выпивания бутылки водки перс падал без сознания.
отмоддил
\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 );
    }
};

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

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

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts






  • 0

а если убрать

  AddAction( ActionForceDrink );

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

Share this post


Link to post
Share on other sites
  • 0
3 часа назад, 123new сказал:

а если убрать

не работает
 

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

 

Share this post


Link to post
Share on other sites
  • 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 );
	}

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.