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

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

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

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

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

Из разряда-1001 вопрос или дятел(который не дружит с логикой)

Вопрос 1-Где в дейз редактировать кол-во мяса животного при разделке? Как его уменьшить?

Вопрос 2-МОжет быть есть у кого то конфиг для ToxicZone под Ливонию,локация Swarog! (ну может завалялось где-то...)

Вопрос 3-Можно как либо из офлайн эдитора убрать еба...ый лук? Критует из-за него постоянно.

Изменено пользователем ПесДаЛис (история изменений)

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


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

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

  • 0

1. animals.pbo там папки с названиями животных в них config 

class CfgVehicles
{
    class AnimalBase;
    class Animal_BosTaurus: AnimalBase {
        class Skinning {
            class ObtainedSteaks {
                count=3;
                itemZones[]={};
            };

            class ObtainedLard{
                item="Lard";
                count=1;
                quantityMinMaxCoef[] = {0.05, 0.15};
            };
        };
    };
};

count=3  это количество

 

и да придется править каждого животного

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


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

1. animals.pbo там папки с названиями животных в них config 

class CfgVehicles {     class AnimalBase;     class Animal_BosTaurus: AnimalBase {         class Skinning {             class ObtainedSteaks {                 count=3;                 itemZones[]={};             };             class ObtainedLard{                 item="Lard";                 count=1;                 quantityMinMaxCoef[] = {0.05, 0.15};             };         };     }; };


class CfgVehicles
{
    class AnimalBase;
    class Animal_BosTaurus: AnimalBase {
        class Skinning {
            class ObtainedSteaks {
                count=3;
                itemZones[]={};
            };

            class ObtainedLard{
                item="Lard";
                count=1;
                quantityMinMaxCoef[] = {0.05, 0.15};
            };
        };
    };
};

count=3  это количество

 

и да придется править каждого животного

Пасиба.

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


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

Skining, как я делал,что бы не менять всё в ручную

 

modded class ActionSkinning: ActionContinuousBase
{
    override void OnFinishProgressServer( ActionData action_data )
    {
        Object targetObject = action_data.m_Target.GetObject();
        
        // Prepare to read config variables
        string item_to_spawn;
        string cfg_skinning_organ_class;
        
        // Mark the body as skinned to forbid another skinning action on it
        EntityAI body;
        Class.CastTo(body,  targetObject );
        vector body_pos = body.GetPosition();
        body.SetAsSkinned();
        
        if (body.IsInherited(PlayerBase))
        {
            // This section drops all clothes (and attachments) from the dead player before deleting their body
            PlayerBase body_PB = PlayerBase.Cast(body);
            
            if (body_PB.IsRestrained())
            {
                MiscGameplayFunctions.TransformRestrainItem(body_PB.GetHumanInventory().GetEntityInHands(), null, action_data.m_Player, body_PB);
                /*
                EntityAI item_in_hands = action_data.m_MainItem;
                body_PB.SetRestrained(false);
                string new_item_name = MiscGameplayFunctions.ObtainRestrainItemTargetClassname(item_in_hands);            
                MiscGameplayFunctions.TurnItemInHandsIntoItemEx(body_PB, new UnrestrainSelfPlayer(item_in_hands, new_item_name));
                */
            }
                
            
            DropEquipAndDestroyRootLambda lambda(body_PB, "", action_data.m_Player);
            action_data.m_Player.ServerReplaceItemWithNew(lambda);
        }
        else
        {
            GetGame().ObjectDelete(body); // Temporal deletion of the body
        }

        // clutter cutter removed due to issues with audio it causes when players steps on it.
        //Object cutter = GetGame().CreateObject( "ClutterCutter2x2", body_pos, false ); // clutter cutter to free space on ground for organs.
        
        // Get config path to the animal
        string cfg_animal_class_path = "cfgVehicles " + body.GetType() + " " + "Skinning ";
        
        // Getting item type from the config
        int child_count = g_Game.ConfigGetChildrenCount( cfg_animal_class_path );
        
        // Parsing of the 'Skinning' class in the config of the dead body
        for ( int i1 = 0; i1 < child_count; i1++ )
        {
            // To make configuration as convenient as possible, all classes are parsed and parameters are read
            g_Game.ConfigGetChildName(cfg_animal_class_path, i1, cfg_skinning_organ_class); // out cfg_skinning_organ_class
            string cfg_skinning_organ = cfg_skinning_organ_class;
            cfg_skinning_organ_class = cfg_animal_class_path + cfg_skinning_organ_class + " ";
            g_Game.ConfigGetText(cfg_skinning_organ_class + "item", item_to_spawn); // out item_to_spawn
            
            if ( item_to_spawn != "" ) // Makes sure to ignore incompatible parameters in the Skinning class of the agent
            {
                // Spawning items in action_data.m_Player's inventory
                int item_count = g_Game.ConfigGetInt( cfg_skinning_organ_class + "count" );

                array<string> itemZones = new array<string>;
                array<float> itemCount = new array<float>;
                float zoneDmg = 0;

                GetGame().ConfigGetTextArray( cfg_skinning_organ_class + "itemZones", itemZones);
                GetGame().ConfigGetFloatArray( cfg_skinning_organ_class + "countByZone", itemCount);

                if ( itemCount.Count() > 0 )
                    item_count = 0;

                for ( int z = 0; z < itemZones.Count(); z++ )
                {
                    zoneDmg = targetObject.GetHealth01(itemZones[z], "Health");
                    zoneDmg *= itemCount[z]; //just re-using variable
                    item_count += Math.Floor( zoneDmg ) ;
                }
                
                if (cfg_skinning_organ == "ObtainedSteaks" && item_count > 0) {
                    if ( body.GetType() == "Animal_CanisLupus" || body.GetType() == "Animal_CanisLupus_Grey" || body.GetType() == "Animal_CanisLupus_White"  ) {
                        item_count = Math.Max(2, Math.Min(8, Math.RandomIntInclusive(Math.Floor(item_count*0.2 ), Math.Round(item_count*0.5 ))));
                    } else if (item_count > 12) {
                        item_count = Math.Max(10, Math.Min(24, Math.RandomIntInclusive(Math.Floor(item_count*0.50 ), Math.Round(item_count*0.75 ))));
                    } else if (item_count > 3) {
                        item_count = Math.Max(2, Math.Min(10, Math.RandomIntInclusive(Math.Floor(item_count*0.33 ), Math.Round(item_count*0.66 ))));
                    }
                }
                
                if (cfg_skinning_organ == "ObtainedLard" && item_count > 0) {
                    if ( body.GetType() == "Animal_CanisLupus" || body.GetType() == "Animal_CanisLupus_Grey" || body.GetType() == "Animal_CanisLupus_White"  ) {
                        item_count = 0;
                    } else if ( body.GetType() == "Animal_SusDomesticus" || body.GetType() == "Animal_SusScrofa" ) {
                        item_count = Math.RandomIntInclusive(Math.Floor(item_count * 0.66), item_count);
                    } else {
                        item_count = Math.RandomIntInclusive(Math.Floor(item_count * 0.25), Math.Round(item_count * 0.75));
                    }
                }
                
                for ( int i2 = 0; i2 < item_count; i2++ )
                {
                    ItemBase spawn_result = CreateOrgan( action_data.m_Player, body_pos, item_to_spawn, cfg_skinning_organ_class, action_data.m_MainItem );
                    action_data.m_MainItem.DecreaseHealth("","",UADamageApplied.SKINNING); // wear out tool

                    // handle fat/guts from human bodies
                    if ( ( item_to_spawn == "Lard" ) || ( item_to_spawn == "Guts" ) )
                    {
                        if ( body.IsKindOf( "SurvivorBase" ) )
                        {
                            spawn_result.InsertAgent(eAgents.BRAIN, 1);
                        }
                    }
                }
            }
        }    
        
        PluginLifespan module_lifespan = PluginLifespan.Cast( GetPlugin( PluginLifespan ) );
        module_lifespan.UpdateBloodyHandsVisibility( action_data.m_Player, true );
        
        action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
    }
}



у меня главным образом уменьшено количество жира из всех животных (рандом), уменьшено мясо из волков и убран жир из волков совсем
вот тут все изменения:

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


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

 


у меня главным образом уменьшено количество жира из всех животных (рандом), уменьшено мясо из волков и убран жир из волков совсем
вот тут все изменения:

 

Тааак,куда это вставить и как подключить,чтобы заработало?

Изменено пользователем ПесДаЛис (история изменений)

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


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

вот это мои изменения:

                if (cfg_skinning_organ == "ObtainedSteaks" && item_count > 0) {
                    if ( body.GetType() == "Animal_CanisLupus" || body.GetType() == "Animal_CanisLupus_Grey" || body.GetType() == "Animal_CanisLupus_White"  ) {
                        item_count = Math.Max(2, Math.Min(8, Math.RandomIntInclusive(Math.Floor(item_count*0.2 ), Math.Round(item_count*0.5 ))));
                    } else if (item_count > 12) {
                        item_count = Math.Max(10, Math.Min(24, Math.RandomIntInclusive(Math.Floor(item_count*0.50 ), Math.Round(item_count*0.75 ))));
                    } else if (item_count > 3) {
                        item_count = Math.Max(2, Math.Min(10, Math.RandomIntInclusive(Math.Floor(item_count*0.33 ), Math.Round(item_count*0.66 ))));
                    }
                }
                
                if (cfg_skinning_organ == "ObtainedLard" && item_count > 0) {
                    if ( body.GetType() == "Animal_CanisLupus" || body.GetType() == "Animal_CanisLupus_Grey" || body.GetType() == "Animal_CanisLupus_White"  ) {
                        item_count = 0;
                    } else if ( body.GetType() == "Animal_SusDomesticus" || body.GetType() == "Animal_SusScrofa" ) {
                        item_count = Math.RandomIntInclusive(Math.Floor(item_count * 0.66), item_count);
                    } else {
                        item_count = Math.RandomIntInclusive(Math.Floor(item_count * 0.25), Math.Round(item_count * 0.75));
                    }
                }


остальное взято из оригинального ActionSkinning
что-то в предыдущем посте глюкануло

подключить можно таким способом

 


конкретно свой способ подключения не могу указать т.к. он не мой
у меня используется скрипт NightWolf вроде этого
 

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка