Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
Таблица лидеров
Популярные публикации
Отображаются публикации с наибольшей репутацией на 04/18/20 во всех областях
-
1 баллЧто то не нашел такой темы, а в свое время когда сервером начал заниматься чутка попотел в этом моменте, Может кто не знал есть 2 интересных момента у сервера 1. если не загружать .bisign в мод на сервере то файл мода не требуется на клиенте, надеюсь это все знают... 2. функция include работает с корнем папки сервера и не только но нам нужен корень Загружаем мод в котором прописаны для 3_Game 4_World 5_Mission я про class gameScriptModule { value = ""; files[] = {"ServerListMod/scripts/3_Game"}; }; class worldScriptModule { value = ""; files[] = {"ServerListMod/scripts/4_World"}; }; class missionScriptModule { value = ""; files[] = {"ServerListMod/scripts/5_Mission"}; }; в этих файлах создаем инклюиды по такому типу #include "$CurrentDir:\\ServerListMod\\scripts\\3_Game_modded.txt" для 3 #include "$CurrentDir:\\ServerListMod\\scripts\\4_World_modded.txt" для 4 #include "$CurrentDir:\\ServerListMod\\scripts\\5_Mission_modded.txt" для 5 далее создаем ServerListMod с нужными текстовыми файлами 3_Game_modded 4_World_modded и 5_Mission_modded а в них пишем например в 4_World_modded.txt modded class GameConstants { const int STAMINA_DRAIN_STANDING_SPRINT_PER_SEC = 2; // 4 в единицах (насколько спринт истощает выносливость) } и за 5 секунд правим стамину или что то еще и не нужно грузить сотни модов с воршопа стима... если мод серверный просто содержимое мода кидаете в нужный файл так же особенность можно инклюдить в разные файлы я например создал еще кучу файлов под каждый мод и очень удобно обновлять каждый мод при обнове стима. добавил пример такого мода @ServerListMods.rar Если помог поставь +
-
1 баллИзвините,как человек пять раз забаненый ПЫСовцами... Измените названия своих ивентов на ItemKardon, ItemSvalka и тд....везде где нужно. Не получится? Пробуем способ который СТО РАЗ разжёван на форуме. Переименовываем "ItemKardon" на "StaticKordon" ....и тд. Дописано позже-я бы ещё для статик ввёл бы сетку спавна. Но это так себе....
-
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 вроде этого
-
0 балловЧто бы техника продавалась с приатачеными деталями, нужно все прописывать в файле TraderVehicleParts, пример: <VehicleParts> CivilianSedan_Black // Vehicle Classname SparkPlug // Classname of Item to attach when Vehicle gets bought CarBattery CarRadiator HeadlightH7 HeadlightH7 CivSedanDoors_BackLeft_Black CivSedanDoors_CoDriver_Black CivSedanTrunk_Black CivSedanWheel CivSedanWheel CivSedanWheel CivSedanWheel
-
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 баллов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 это количество и да придется править каждого животного
-
0 балловДа,если в папке мода есть уже забинаренные модели,то галочку Binarize ,надо снять.
-
Рассылка

laro