Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
Таблица лидеров
Популярные публикации
Отображаются публикации с наибольшей репутацией на 05/06/24 в Сообщения
-
1 баллДанный скрипт позволяет при распаковке пачек патронов получать разное кол-во пуль в зависимости от состояния коробки. Скрип является онли серверным. enum BoxTypes { NAIL, // Перечислены коробки которые мы хотим сделать рандомное выпадения AMMO556X45, AMMO556X45T, AMMO308WIN, AMMO308WINT, AMMO762X54, AMMO762X54T, AMMO762X39, AMMO762X39T, AMMO22, AMMO357, AMMO45ACP, AMMO9X19, AMMO380, AMMO00BUCK, AMMO12GASLUG, AMMO12GARUBBERSLUG, AMMO12GABEANBAG, AMMO545X39, AMMO545X39T, AMMO9X39AP, AMMO9X39 } modded class ActionUnpackBox: ActionContinuousBase { override void OnFinishProgressServer( ActionData action_data ) { if ( action_data.m_MainItem && action_data.m_MainItem.GetHierarchyRootPlayer() == action_data.m_Player ) { int boxType = GetBoxType(action_data.m_MainItem.GetType()); float quantityMinBD; float quantityMaxBD; float quantityMinD; float quantityMaxD; float quantityMinW; float quantityMaxW; float quantityMinP; float quantityMaxP; bool hasPaper; switch(boxType) { case BoxTypes.NAIL: // Добавляем тут тип тот же что и в ENUM quantityMinBD = 0.10;//Минимальный процент количества в стадии сильно поврежденного quantityMaxBD = 0.15;//Максимальный процент количества в стадии сильно поврежденного quantityMinD = 0.20;//Минимальный процент количества в стадии поврежденного quantityMaxD = 0.30;//Максимальный процент количества в стадии поврежденного quantityMinW = 0.30;//Минимальный процент количества в стадии поношенного quantityMaxW = 0.65;//Максимальный процент количества в стадии поношенного quantityMinP = 0.70;//Минимальный процент количества в стадии нетронутого quantityMaxP = 0.85;//Максимальный процент количества в стадии нетронутого hasPaper = true;//Будет ли бумажка при распаковке true \ false break; case BoxTypes.AMMO556X45: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO556X45T: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO308WIN: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO308WINT: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO762X54: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO762X54T: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO762X39: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO762X39T: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO22: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO357: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO45ACP: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO9X19: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO380: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO00BUCK: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO12GASLUG: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO12GARUBBERSLUG: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO12GABEANBAG: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO545X39: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO545X39T: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO9X39AP: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; case BoxTypes.AMMO9X39: quantityMinBD = 0.10; quantityMaxBD = 0.15; quantityMinD = 0.20; quantityMaxD = 0.30; quantityMinW = 0.30; quantityMaxW = 0.65; quantityMinP = 0.70; quantityMaxP = 0.85; hasPaper = true; break; default: quantityMinBD = 1; quantityMaxBD = 1; quantityMinD = 1; quantityMaxD = 1; quantityMinW = 1; quantityMaxW = 1; quantityMinP = 1; quantityMaxP = 1; hasPaper = true; break; } string path = "CfgVehicles " + action_data.m_MainItem.GetType(); string child_name = ""; int count; array<string> resources = new array<string>; if( GetGame().ConfigIsExisting( path ) && GetGame().ConfigIsExisting( path + " Resources") ) { path = path + " Resources"; count = GetGame().ConfigGetChildrenCount ( path ); for (int i = 0; i < count; i++) { GetGame().ConfigGetChildName ( path, i, child_name ); if ( GetGame().ConfigGetInt( path + " " + child_name + " value" ) ) { resources.Insert( child_name ); } } string itemType = resources.Get(0); string itemPath = "CfgVehicles " + itemType; int quantityMax; int itemCount = GetGame().ConfigGetInt( path + " " + itemType + " value" ); if (GetGame().ConfigIsExisting(itemPath + " varQuantityMax")) { quantityMax = GetGame().ConfigGetInt(itemPath + " varQuantityMax"); } else { quantityMax = Math.Round(GetGame().ConfigGetFloat( CFG_MAGAZINESPATH + " " + itemType + " count" )); } int healthLevel = action_data.m_MainItem.GetHealthLevel(); switch(healthLevel) { case GameConstants.STATE_BADLY_DAMAGED://Стадия сильно поврежденного itemCount = Math.Round(Math.RandomFloat(quantityMinBD,quantityMaxBD) * quantityMax); break; case GameConstants.STATE_DAMAGED://Стадия поврежденного itemCount = Math.Round(Math.RandomFloat(quantityMinD,quantityMaxD) * quantityMax); break; case GameConstants.STATE_WORN://Стадия поношенного itemCount = Math.Round(Math.RandomFloat(quantityMinW,quantityMaxW) * quantityMax); break; case GameConstants.STATE_PRISTINE://Стадия нетронуто itemCount = Math.Round(Math.RandomFloat(quantityMinP,quantityMaxP) * quantityMax); break; } UnboxLambda lambda = new UnboxLambda(action_data.m_MainItem, itemType, action_data.m_Player, itemCount); action_data.m_Player.ServerReplaceItemInHandsWithNew(lambda); //spawns wrapping Paper if (hasPaper) ItemBase paper = ItemBase.Cast( GetGame().CreateObjectEx("Paper", action_data.m_Player.GetPosition(), ECE_PLACE_ON_SURFACE) ); action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight ); } } } int GetBoxType(string name) { int type = -1; if (name == "NailBox") type = BoxTypes.NAIL; // Тут тоже добавляем что и в ENUM else if (name == "AmmoBox_556x45_20Rnd") type = BoxTypes.AMMO556X45; else if (name == "AmmoBox_556x45Tracer_20Rnd") type = BoxTypes.AMMO556X45T; else if (name == "AmmoBox_308Win_20Rnd") type = BoxTypes.AMMO308WIN; else if (name == "AmmoBox_308WinTracer_20Rnd") type = BoxTypes.AMMO308WINT; else if (name == "AmmoBox_762x54_20Rnd") type = BoxTypes.AMMO762X54; else if (name == "AmmoBox_762x54Tracer_20Rnd") type = BoxTypes.AMMO762X54T; else if (name == "AmmoBox_762x39_20Rnd") type = BoxTypes.AMMO762X39; else if (name == "AmmoBox_762x39Tracer_20Rnd") type = BoxTypes.AMMO762X39T; else if (name == "AmmoBox_22_50Rnd") type = BoxTypes.AMMO22; else if (name == "AmmoBox_357_20Rnd") type = BoxTypes.AMMO357; else if (name == "AmmoBox_45ACP_25rnd") type = BoxTypes.AMMO45ACP; else if (name == "AmmoBox_9x19_25rnd") type = BoxTypes.AMMO9X19; else if (name == "AmmoBox_380_35rnd") type = BoxTypes.AMMO380; else if (name == "AmmoBox_00buck_10rnd") type = BoxTypes.AMMO00BUCK; else if (name == "AmmoBox_12gaSlug_10Rnd") type = BoxTypes.AMMO12GASLUG; else if (name == "AmmoBox_12gaRubberSlug_10Rnd") type = BoxTypes.AMMO12GARUBBERSLUG; else if (name == "AmmoBox_12gaBeanbag_10Rnd") type = BoxTypes.AMMO12GABEANBAG; else if (name == "AmmoBox_545x39_20Rnd") type = BoxTypes.AMMO545X39; else if (name == "AmmoBox_545x39Tracer_20Rnd") type = BoxTypes.AMMO545X39T; else if (name == "AmmoBox_9x39AP_20Rnd") type = BoxTypes.AMMO9X39AP; else if (name == "AmmoBox_9x39_20Rnd") type = BoxTypes.AMMO9X39; return type; } }; Обновил скрипт 28.02.2021. - Теперь можно добавить каждый тип коробок отдельно( задать ему минимальное \ максимальное кол-во патронов от состояния коробки). - Теперь можно запретить или добавить выпадения бумажки при распаковке той или иной пачки. - Возможно добавление моддовских пачек патронов и их регулирования количества.
-
0 баллов@WiLDman repairableWithKits[] = {ID}; repairCosts[] = {кол-во хп кита за использование}; Прописывать в config.cpp предмета, который нужен 1 = Набор для чистки оружия 2 = Швейный набор 3 = Скорняк 4 = Точильный камень 5 = Скотч 6 = Набор для ремонта шин 7 = Набор электрика 8 = Эпоксидка Пример: repairableWithKits[] = {3, 8}; repairCosts[] = {75, 50};
-
0 балловПросмотреть файл CheckArtefacts Тип: мод (серверный) Авторство: 123new Совместим, тестировался и проверялся на чистых версиях игры: 1.07, 1.08, 1.09,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20 Страница работы в мастерской Steam: https://steamcommunity.com/sharedfiles/filedetails/?id=2842850280 Страница старой версии работы на форуме: https://s-platoon.ru/topic/12370-checkartefacts/ Описание: Скрипт, позволяющий вам применять опеределенные настраиваемые действия на игрока при наличии у него того или иного предмета в инвентаре везде. Имеется список настраиваемых исключений. Возможности: Можно задавать критерии поиска, такие как учет поиска предмета(ов) в инвентаре игрока или руках, а также нахождение игрока в той или иной зоне(ах) Можно задавать список предметов, которые ищем Можно задавать точки на карте с их радиусами, в которых ищем игрока Можно комбинировать и требовать оба значения фильтра поиска (наличие предмета + точка на карте), либо требовать наличия любого фильтра из тех, что обнаружатся. Фильтры поиска можно отключать Можно задавать список исключений из предметов, которые будут пропускаться при поиске Можно применять (выдавать, либо снимать) разнообразные значения к игроку при наличии найденного предмета в списке, начиная от HP и крови, и заканчивая болезнями, симптомами, порезами и болезнями Возможность переписать код скрипта под себя, если вам это нужно Настройки мода вынесены в json-конфиг мода, позволяющий быстро настроить необходимые параметры и делать несколько конфигураций с разными настройками. При ошибках в конфиге мода он будет пересоздан автоматически на стандартный, при этом ошибки будут отмечены в script-логе сервера. Рекоммендуется держать копию конфигурации и наблюдать за логами сервера после его старта! Важно: Скрипт проверен на чистой версии игр на момент публикации и является работоспособным по сей день и час. Если вы укажете настройки скрипта не верно, сервер сам пересоздат конфигурацию мода 'поумолчанию' Основной функционал отлажен и протестирован на чистом сервере. При ошибках в конфиге мода он будет пересоздан автоматически на стандартный (старый файл будет переименован), при этом ошибки будут отмечены в script-логе сервера. Рекоммендуется наблюдать за логами сервера после его старта! Перепаковка, запаковка работы и изменение по своему вкусу разрешены при указании авторства на текущий мод! Настройки приложены в архиве. Type: MOD (server) Authorship: 123new Compatible, tested and tested on clean versions of the game: 1.07, 1.08, 1.09,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20 The page of work in the Steam workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=2842850280 The page of the old version of the work on the forum: https://s-platoon.ru/topic/12370-checkartefacts/ Description: A script that allows you to apply certain customizable actions to a player if he has a particular item in his inventory everywhere. There is a list of configurable exceptions. Features: You can set search criteria, such as taking into account the search for the item(s) in the player's inventory or hands, as well as finding the player in a particular zone (s), you can set a list of items that we are looking for You can set points on the map with their radii, in which we are looking for a player You can combine and require both values of the search filter (the presence of an object + a point on the map), or require the presence of any filter from those that are found. Search filters can be disabled You can set a list of exceptions from items that will be skipped during the search You can apply (issue or remove) a variety of values to the player in the presence of a found item in the list, ranging from HP and blood, and ending with diseases, symptoms, cuts and diseases The ability to rewrite the script code for yourself, if you need it The mod settings are made in the json config of the mod, which allows you to quickly configure the necessary parameters and make several configurations with different settings. If there are errors in the mod's config, it will be recreated automatically to the standard one (the old file will be renamed), while the errors will be noted in the server's script log. It is recommended to monitor the server logs after its start! Important: The script was tested on a clean version of the games at the time of publication and is operational to this day and hour. If you specify the script settings incorrectly, the server itself will recreate the mod configuration 'by silence' The main functionality is debugged and tested on a clean server. The author of the script is not obliged to support his work for free. Any of your donations are welcome. Repacking, packing the work and changing to your liking are allowed if you specify the authorship of the current mod! Settings added in mod files. Config_CheckArtefacts.rar Автор 123new Добавлен 31.07.2022 Категория Скрипты, моды, карты и т.д.
-
Рассылка

thessend