Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Нужна помощь?

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

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на торговую площадку

    Там вы можете купить
    Всё что касается игровых серверов

Leaderboard


Popular Content

Showing content with the highest reputation since 06/11/20 in all areas

  1. 7 points
    Yuki

    Настройка модовых types.

    И так, вышел 1.08 и я узнал одну замечательную вещь, про которую тут ещё не писали. Она поможет вам разгрузить ваш ванильный types от модовых вещей и ещё больше раскидать их по категориям. Идём в cfgeconomycore.xml, там вписываем следущее: <!-- Mod CENTRAL ECONOMY --> <ce folder="Mod_ce"> <file name="MVS_types.xml" type="types" /> </ce> Дальше мы создаём папку Mod_ce, в которой создаём ваш модовый types, в моём случае, это сделано под мод MVS, так что я назвал его MVS_types.xml. И всё, таких types может быть хоть сотни. Ваш основной файл types перестанет иметь 50к строк и не будет лагать при листании. Пример того, как оно может выглядеть в конечном счёте. Если где-то ошибся, то буду рад услышать исправление проблемы. <!-- NewDawnRangers mods types --> <ce folder="modstypes"> <file name="arma2weaponpack_types.xml" type="types" /> <file name="cannabisplus_types.xml" type="types" /> <file name="cheytac_types.xml" type="types" /> <file name="cl0udsmilitarygear_types.xml" type="types" /> <file name="codelock_types.xml" type="types" /> <file name="crsk_types.xml" type="types" /> <file name="massmanyitemoverhaul_types.xml" type="types" /> <file name="mosinscope_types.xml" type="types" /> <file name="mungharditempack_types.xml" type="types" /> <file name="opbaseitems_types.xml" type="types" /> </ce>
  2. 4 points
    В эксперементалке 1.08 если сбросить предмет находясь на машине (крыше, багажнике, капоте в кузове) предмет проваливается сквозь машину на землю или оказывается в ее текстурах Тикет https://feedback.bistudio.com/T152071 ответ богемии поразителен - сейчас нет простого решения А ниже что? Проще не бывает... Собственно код фикса (Автор Я) Code ``` modded class ItemBase extends InventoryItem { override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc) { super.EEItemLocationChanged(oldLoc,newLoc); if (newLoc.GetType() == InventoryLocationType.GROUND) { if (oldLoc.GetParent()) { PlayerBase player = PlayerBase.Cast(oldLoc.GetParent()); if (player) { FixPositionIfDropOnCar(player); } } } } void FixPositionIfDropOnCar(PlayerBase player) { vector m_RayStart; vector m_RayEnd; m_RayStart = player.GetPosition(); m_RayStart[1] = m_RayStart[1] + 0.5; m_RayEnd = m_RayStart; m_RayEnd[1] = m_RayEnd[1] - 1; RaycastRVParams m_RayCastInput = new RaycastRVParams(m_RayStart, m_RayEnd, this, 0.05); array<ref RaycastRVResult> m_RayCastResults = new array<ref RaycastRVResult>; m_RayCastInput.with = player; m_RayCastInput.flags = CollisionFlags.FIRSTCONTACT; if (DayZPhysics.RaycastRVProxy(m_RayCastInput, m_RayCastResults)) { if (m_RayCastResults.Count() > 0) { Car car; if (Class.CastTo(car, m_RayCastResults[0].obj) || Class.CastTo(car, m_RayCastResults[0].parent)) { this.SetPosition(m_RayCastResults[0].pos + (player.GetDirection() * 0.1)); } } } } } ``` Наверное имеет смысл чуть приподнять предмет над поверхностью, но необходимость этого зависит от типа предмета, потому не стал этого делать чуть откорректировал код
  3. 2 points
    Если кому ещё это нужно В папке с миссией заходим в файл cfgrandompresets.xml Спускаемся до строчки с комментарием ARMY ATTACHMENTS Добавляем под тег hatsArmy нужные налобные фонарики(Headtorch_Grey - белый свет, Headtorch_Black - красный цвет) Под этот же тег добавляем батарейку - Battery9V Указываем шанс появления вещей Должно получиться как-то так: <attachments chance="1.00" name="hatsArmy"> <item name="Headtorch_Grey" chance="1.00" /> <item name="Battery9V" chance="1.00" /> </attachments> Закинул предложение разработчикам - https://feedback.bistudio.com/T152414 Может когда-нибудь и добавят в ванилу 🙂
  4. 2 points
    123new

    DayZ День-Ночь

    возможно влияет инит
  5. 2 points
    Здравствуйте, если у вас есть куча статичных моделей, которые вы используете на своей карте, и вы не знаете что такое Geometric Occluders, я сейчас постараюсь рассказать об этом. Зачем это нужно: О-Оптимизация. Как это работает: Если здание в котором стоит Geometric Occluders, перекрывает собой другие здания, то они не проходят в граф.рендер, но тени и геометрии(fire и view) работают исправно. И тем самым это убирает рендер ненужных объектов, которые игрок не видит, ведь зачем они нам верно ? Видео обзор того как это работает: Красный квадрат это и есть Geometric Occluders(в игре такого квадрата не будет, не переживайте, я его сделал что-бы было визуально понятно как это работает). И так, начнем с правил, которые необходимо соблюдать: 1. Данная фича работает только в запеченных объектах на карте, если вы его спавните скриптами, оно работать не будет. 2. Старайтесь не использовать больше 3-4 окклюдеров. Если это невозможно, оставьте объект без них. Иначе двиглу будет тяжелее скрыть объекты, чем отрисовать их. 3. Закрывайте только те зоны, где нет окон и других дыр через которые можно увидеть другие объекты. Тобишь стены через которые ничего не видно. Если таких зон нет, не используйте их. Теперь как их сделать ? 1. Открываем нашу View Geometry(работает только в ней) 2. Создаем полигон(можно использовать и выпуклые многоугольники, больше можно прочитать в офф вики)(обзываем его occluder_01, второй называем occluder_02 и т.д) НИ В КОЕМ СЛУЧАЕ ОН НЕ ДОЛЖЕН БЫТЬ КОМПОНЕНТОМ, ПОЭТОМУ ДЕЛАЙТЕ ЭТО ПОСЛЕ ТОГО КАК СОЗДАЛИ ВСЕ КОМПОНЕНТЫ. 3. Перемещаем его в стенку, которая закрывает нам обзор, и вытягиваем полигон так, что-бы было закрыто максимально возможное пространство. 4. Поворачиваем лицо полигона так, что-бы оно смотрело изнутри здания, а не внутрь(Скрываются только здания которые загораживает полигон который смотрит лицом на игрока, пример этого есть на видео). 5. Закрываем так все возможные зоны, при этом не забывая про правило №2. 6. Все, радуемся жизни. Примеры зданий как это делают бисы: https://drive.google.com/file/d/13HetnQcgdubLHLS5und7mnfePjr0TpIv Больше информации можно почитать тут: https://community.bistudio.com/wiki/Geometric_Occluders
  6. 2 points
    Немного информации для сведения о форумчанах, которым помогаем на нашем с вами форуме. Это не жалоба, не репорт и не обман. Чисто обмен информацией по сомнительным личностям. Попался мне один человечек в этом месяце, весьма занятный. Профиль: https://s-platoon.ru/profile/20335-aggresssivetv/ Дискорд: 🅰🅶🅶🆁🅴🆂🆂🆂🅸🆅🅴 🆃🆅#1021 Youtiube канал: https://www.youtube.com/channel/UCLudAt8cDi4Asqg8ZfCAIZQ Twitch-канал: https://www.twitch.tv/aggresssivetv Goodgame стрим-канал: https://goodgame.ru/channel/AggresssiveTV/ Для справки: Человек имеет свой собственный канал, аудиторию. Далеко не молод, и, судя по голосу, пытается делать свой сервер. Информация: Одно время ранее человечек просился помочь ему с сервером, просился дать дискорд и побеседовать. Окей, побеседовали, обсудили, помог ему сделать свой мод на главное меню и разместить в стим, также по мелочам он спрашивал всякое разное по настройке сервера. Платной помощью тут не пахло и в помине (из общения складывалось впечатление о том, что с этим большая беда), но и не об этом речь впринципе. На днях знакомый дал поглядеть вот такую великолепную запись, уж не знаю где и у кого дабыл ее: Не знаю предистории того, что творилось на частных серверах товарища Yuki - уже не мое дело, да и, собственнно не лезу в чужое, но как лично для меня - видео характерно отражает характер и поведение данного немолодого человека. На вопрос о том, что за конфликт такой, и почему потребовалось угрожать не просто оскорблениями, а даже крашами серверов и дюпами получил весьма немалоинтересные ответы, которые, думаю, многих заинтересуют: Собственно, свое мнение я на скриншотах отразил. Это лично мое мнение, никого не призываю ни к чему, только лишь делюсь им с остальными. Считаю не нормальным ломать игру другим людям, которые играют на серверах, портить игровой процесс и удовольствие от игры из-за личных конфликтов с администрацией любых серверов такими методами. Будьте людьми, в конце концов, не становитесь похожими на быдло, на читеров и багоюзеров, с которыми сами же и боретесь, имейте совесть. Подобного рода вещи только проблем всем добавляют. Давайте поддерживать джентльменские соглашения в нашем Ru-сегменте серверостроения, ведь вам на форуме помогают, относитесь и вы соответствующе. Если вам помогают на форуме безвозмездно - извольте и вы относиться к людям соответствующе. Не надо гадить под каждую дверь из-за того, что консьержка не вышла характером. Если коротко, мое мнение таково: не устраивает администрация - так уйди всем составом и сделай свой сервер, где будет все устраивать, но не порти жизнь людям, они ни в чем не виноваты. Поступая по свински в отместку кому-то - ты в первую очередь сам становишься не лучше тех, кому мстишь. Как относиться к этому товарищу решайте сами, у меня все!
  7. 2 points
    @Selleti Там есть интересный нюанс - "* Все поля обязательны для заполнения" Телефонный номер, не отмечен обязательным, но форма не работает, при его не заполнении. Так же при регистрации, и заполнении формы, данные поля указаны как конфиденциальные, и не подлежащие разглашение. А так же есть закон 512(f), вот только незадача, - действует он на территории США, и именуется как - закон об ограниченной ответственности. В РФ(а стим действует на территории РФ), данный закон не работает. Отсюда противоречия - с одной стороны, сбор данных, для компании, и неразглашение, с другой, - могут передать третьим лицам, и даже публично оформить. P.S. - Лично мне попросту насрать(дада именно так), на всю эту (Слово удалено системой)ню с мобилой, - но как факт, для меня стим теперь, это замыленная конторка, которой просто до3.14зды до своих же юзеров.
  8. 1 point
    BorizzK

    Обновление модов

    брать проверенные моды и не перепакуя впихивать в свой модпак важно - желательно их там правильно расположить меняем названия что бы была правильная сортировка - тк второй перекрывает первый подписываем всю пачку выгружаем в стим - авторство не указываем - пишем что-то типа mod collection для игры на сервере таком-то хотя конечно можно и страйк схлопотать, но страйк по такому поводу можно легко отбить тк мод не продается, чужое содержимое не перепаковывалось и тп
  9. 1 point
    Вместо установки софта десятилетней давности, проще воспользоваться решением от разработчика ОС: https://social.technet.microsoft.com/Forums/windows/en-US/6025f72e-5bac-4dbd-9992-825828711399/disabling-applicationexe-not-responding-dialog
  10. 1 point
    DeepSoy

    Aesthetic Angel Statue

    Просмотреть файл Aesthetic Angel Statue Статуя ангела для DayZ. Spawnable с BuilderItems или пользовательскими проектами карты (Извиняюсь за плохой гугл переводчик) Эта статуя станет отличным украшением для вашего сервера! Используйте его в безопасном месте, на кладбище или на специальной карте, чтобы добавить уникальное эстетическое настроение в вашу среду. После покупки файл .zip включает в себя: Готовый к игре пакетный аддон под названием "@AngelStatue" Исходные файлы для встраивания в новый аддон. Необработанные текстуры и для дальнейшего редактирования. Поставляется с большой и маленькой статуей для ваших разных нужд. Вы можете использовать этот аддон, как хотите. Распаковка, переупаковка и распространение разрешены. Я был бы признателен, если бы вы не перепродали этот мод, поскольку для его создания потребовалось много работы. Спасибо! Наслаждайся! - DeepSoy Angel Statue for DayZ. Spawnable with BuilderItems or Custom Map Projects This statue would be a perfect decorative enhancement on your server! Use it at a safe-zone, cemetery, or custom map to add a unique aesthetic mood to your environment. After purchasing, the .zip file includes: A game-ready, packed addon titled "@AngelStatue" The original source files for building into a new addon. The raw textures and for further editing. Comes with a big and small statue for your different needs. You are free to use this addon however you'd like. Unpacking, repacking, and redistributing is allowed. I would appreciate it if you did not resell this mod, as it took a lot of work to make. Thank you! Enjoy! - DeepSoy Автор DeepSoy Добавлен 03.07.2020 Категория Модели  
  11. 1 point
    BorizzK

    Настройка модовых types.

    cfglimitsdefinition, cfgenvironment и cfgrandompresets не работают types, events, cfgeventspawns, cfgspawnabletypes работают вроде ну и на том спасибо!
  12. 1 point
    123new

    Настройка модовых types.

    То то я смотрю интересные файлы были в экспеншене, вот оно че. Респект за такое нововведение.
  13. 1 point
    BorizzK

    Анимация

    DayZPlayerConstants.CMD_ACTIONMOD_EAT
  14. 1 point
    Блин Туплю )))))))) //09.06.2020 modded class ItemBase extends InventoryItem { ref Timer m_TemperatureDecrease; private float m_InitTemperature; private float m_DecreaseTempTime = 10; private float m_TempDecreaseCoef = 1; private float m_DamageTemperaturePlayer = 51; private float m_TempDamageCoef = 0.015; private int m_CurrentLocation = InventoryLocationType.GROUND; // ================================================================================================================== private bool m_DecTempAllow = true; bool IsDecTempAllow() { return m_DecTempAllow; } void SetDecTempAllow(bool value = true) //Uses for stop/start decrease temp if cooking on fireplace etc. //Используем для остановки остывания во время готовки и запуска остывания после прекращения { m_DecTempAllow = value; //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: SetDecTempAllow: " + GetGame().GetTickTime() + ": this: " + this + ": m_DecTempAllow: " + m_DecTempAllow); if (!m_DecTempAllow) { if (m_TemperatureDecrease) { StopTemperatureDecrease(); } } else { TryToStartTempDecrease(); } if (GetInventory().GetCargo()) { SetDecTempAllowToCargo(value); } } void SetDecTempAllowToCargo(bool value = true) //End-to-end call for all inventory in cargo //Сквозной вызов для всего инвентаря { ItemBase item; //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: SetDecTempAllowToCargo: " + GetGame().GetTickTime() + ": this: " + this + ": Items count: " + GetInventory().GetCargo().GetItemCount() + ": m_DecTempAllow: " + m_DecTempAllow); for (int i = 0; i < GetInventory().GetCargo().GetItemCount(); i++) { item = ItemBase.Cast(GetInventory().GetCargo().GetItem(i)); if (item) { if (item.IsDecTempAllow() != value) item.SetDecTempAllow(value); } } } // ================================================================================================================== void ItemBase() { m_InitTemperature = 20; if ( IsInherited(Pot) ) { m_TempDecreaseCoef = m_TempDecreaseCoef * 2; } else if (IsInherited(FireplaceBase)) { m_DecTempAllow = false; } } void ~ItemBase() { if (m_TemperatureDecrease) { StopTemperatureDecrease(); } } // ================================================================================================================== override void AfterStoreLoad() { super.AfterStoreLoad(); if ( !IsInherited(FireplaceBase) ) TryToStartTempDecrease(); } private void TryToStartTempDecrease() { if (GetTemperature() > GetInitTemperature()) { if (GetHierarchyParent()) { if (GetHierarchyParent().IsInherited(PlayerBase)) { PlayerBase player = PlayerBase.Cast(GetHierarchyParent()); if (player) { if (player.GetHumanInventory().GetEntityInHands() == this) { m_CurrentLocation = InventoryLocationType.HANDS; } } else { m_CurrentLocation = -1; //Игрок есть, но он не на сервере! } } } if (m_CurrentLocation != -1) { if (!m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: TryToStartTempDecrease: " + GetGame().GetTickTime() + ": this: " + this + ": Start decrease temperature: GetTemperature(): " + GetTemperature() + ": GetHierarchyParent(): " + GetHierarchyParent()); StartTemperatureDecrease(); } } } } // ================================================================================================================== override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc) { super.EEItemLocationChanged(oldLoc,newLoc); if (GetTemperature() > GetInitTemperature()) { if ( !IsInherited(FireplaceBase) ) { m_CurrentLocation = newLoc.GetType(); if (!m_TemperatureDecrease) { m_DecTempAllow = true; //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: " + GetGame().GetTickTime() + ": this: " + this + ": Start decrease temperature: GetTemperature(): " + GetTemperature() + ": newLoc.GetParent(): " + newLoc.GetParent()); StartTemperatureDecrease(); } } } else { if (m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: " + GetGame().GetTickTime() + ": this: " + this + ": End decrease temperature: GetTemperature(): " + GetTemperature() + ": newLoc.GetParent(): " + newLoc.GetParent()); StopTemperatureDecrease(); } } } // ================================================================================================================== private void StartTemperatureDecrease() { DecreaseTemperature(); m_TemperatureDecrease = new Timer; m_TemperatureDecrease.Run(m_DecreaseTempTime, this, "DecreaseTemperature", NULL, true); } private void StopTemperatureDecrease() { m_CurrentLocation = InventoryLocationType.UNKNOWN; m_TemperatureDecrease.Stop(); m_TemperatureDecrease = NULL; } // == COOLING == void DecreaseTemperature() { if (GetTemperature() > GetInitTemperature()) { if (m_CurrentLocation == InventoryLocationType.HANDS) { if (GetTemperature() >= GetDamageTemperaturePlayer()) { AddTemperatureDamageToPlayer(); } } AddTemperature(-GetTempDecreaseCoef()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Decrease: GetTemperature(): " + GetTemperature()); } else { SetTemperature(GetInitTemperature()); StopTemperatureDecrease(); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Stop decrease: GetTemperature(): " + GetTemperature()); } } private bool m_CargoDecTempState = false; void DecreaseCargoTemperature() { ItemBase item; m_CargoDecTempState = false; int item_count = GetInventory().GetCargo().GetItemCount(); for (int i = 0; i < item_count; i++) { item = ItemBase.Cast(GetInventory().GetCargo().GetItem(i)); if (item) { if (item.GetTemperature() > item.GetInitTemperature()) { m_CargoDecTempState = true; item.AddTemperature(-item.GetTempDecreaseCoef()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseCargoTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Decrease: item: " + item + ": item.GetTemperature(): " + item.GetTemperature()); } else { item.SetTemperature(item.GetInitTemperature()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseCargoTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Stop decrease: item: " + item + ": item.GetTemperature(): " + item.GetTemperature()); } } } } // == COOLING END == // ================================================================================================================== // == DAMAGE == void AddTemperatureDamageToPlayer() { PlayerBase player = PlayerBase.Cast(GetHierarchyParent()); if (player && player.IsAlive()) { float idmg = GetDamageTemperature(); ItemBase gloves = ItemBase.Cast(player.GetInventory().FindAttachment(InventorySlots.GLOVES)); if (gloves) { gloves.AddHealth("","Health", -idmg); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: AddTemperatureDamageToParent: " + GetGame().GetTickTime() + ": this: " + this + ": player: " + player + ": idmg: " + idmg + ": Gloves Health: " + gloves.GetHealth() + ": Gloves Max Health: " + gloves.GetMaxHealth()); if (gloves.GetHealth() > gloves.GetMaxHealth() * 0.5) { return; } else if (gloves.GetHealth() > gloves.GetMaxHealth() * 0.25) { idmg = idmg * 0.75; } } player.ProcessDirectDamage(DT_CUSTOM, this, "RightHand", "FireDamage", "0.5 0.5 0.5", idmg * 0.42); if (IsInherited(Pot)) player.ProcessDirectDamage(DT_CUSTOM, this, "LeftHand", "FireDamage", "0.5 0.5 0.5", idmg * 0.42); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: AddTemperatureDamageToParent: " + GetGame().GetTickTime() + ": this: " + this + ": player: " + player + ": idmg: " + idmg + ": Health: " + player.GetHealth() + ": RightHand: " + player.GetHealth("RightHand","Health") + ": LeftHand: " + player.GetHealth("LeftHand","Health")); } } float GetDamageTemperaturePlayer() { return m_DamageTemperaturePlayer; } float GetDamageTemperature() { return GetTemperature() * m_TempDamageCoef; } // == DAMAGE END == // ================================================================================================================== float GetInitTemperature() { return m_InitTemperature; } float GetTempDecreaseCoef() { if (!IsUnderRoof()) { return m_TempDecreaseCoef * (1 + GetRainAbove()); } return m_TempDecreaseCoef; } float GetRainAbove() { return GetGame().GetWeather().GetRain().GetActual(); } bool IsUnderRoof() { return MiscGameplayFunctions.IsUnderRoof( this ); } // ================================================================================================================== } // ================================================================================================================== // ================================================================================================================== modded class FireplaceBase extends ItemBase { const float PARAM_COOKING_EQUIP_TEMP_INCREASE = 1; //10 override void DestroyFireplace() { if (m_CookingEquipment) { if (m_CookingEquipment.IsInherited(Pot)) { m_CookingEquipment.SetDecTempAllow(true); } } super.DestroyFireplace(); } //Add cooking equipment override void SetCookingEquipment( ItemBase equipment ) { super.SetCookingEquipment( equipment ); m_CookingEquipment = equipment; if (m_CookingEquipment) { if (m_CookingEquipment.IsInherited(Pot)) { //Print("::: SERVER: [FireplaceBase extends ItemBase: Decreasetemp]: SetCookingEquipment: " + GetGame().GetTickTime() + ": this: " + this + ": m_CookingEquipment " + m_CookingEquipment); if (m_HeatingTimer) { m_CookingEquipment.SetDecTempAllow(false); } else { m_CookingEquipment.SetDecTempAllow(true); } } } } //Start heating override protected void StartHeating() { if (m_CookingEquipment && m_CookingEquipment.IsInherited(Pot)) { //Print("::: SERVER: [FireplaceBase extends ItemBase: Decreasetemp]: StartHeating: " + GetGame().GetTickTime() + ": this: " + this + ": m_CookingEquipment " + m_CookingEquipment); m_CookingEquipment.SetDecTempAllow(false); } super.StartHeating(); } //Stop heating override protected void StopHeating() { super.StopHeating(); if (m_CookingEquipment && m_CookingEquipment.IsInherited(Pot)) { //Print("::: SERVER: [FireplaceBase extends ItemBase: Decreasetemp]: StopHeating: " + GetGame().GetTickTime() + ": this: " + this + ": m_CookingEquipment " + m_CookingEquipment); m_CookingEquipment.SetDecTempAllow(true); } } } Думается над еще подкрутить но народ грит норм потому пока не буду Если есть идеи - пишите сюда
  15. 1 point
    В данной теме разберем момент настройки количества спавнящегося лута на сервере, объектов типа "автомобили и хеликраши", животых и зомби. Скажу сразу, гайд может быть не точным, поскольку официальной информации по серверной части разработчики игры не предоставляют, все основано лишь на личных наблюдениях и комментариях остальных людей. Гайд относится исключительно к версии сервера DayZ Standalone 0.61 в настроенном режиме работы сервера private hive (dboffline) с рабочим респавном лута (полная генерация папки storage со всеми ее компонентами). Пример такого сервера можно наблюдать в соседней моей теме: Упомяну также сразу и о том, что в версии 0.61 и 0.60, по сравнению с старыми версиями игры, в игру разработчиками введена так называемая "центральная экономика лута сервера". Это означает, что сервер сам постоянно анализирует количество каждого предмета, объекта, вещи на сервере, их качество, то, сколько они лежат уже, сколько с ними взаимодействовали и т.п. информацию, и уже на основании этих данных динамически подспавнивает все необходимое сам по мере необходимости. Это удобно, не правда ли? Но есть и минусы такого плана, что если каких-то вещей в палатках и бочках у людей набралось много, эти вещи просто могут перестать спавниться на сервере, поскольку они уже имеются в наличии у кого-то. Также, не исключено, что самописная система сохранений на серверах наших также вносит свой вклад в это, поскольку с каждым перезаходом на сервер база данных лута сервера перезаписывается, и для сервера может создаться эффект, что она дублируется, а значит база данных захламляется лутом и в спавне его становится меньше (эта информация не проверенная, только лишь догадка). Собственно, настройку этой системы мы и будем разбирать ниже Собственно, приступим: 1. Первым делом откроем нашу папку миссии сервера в MpMissions, зайдем в папку db и откроем файлик с именем types.xml блокнотиком (советую с Notepad ++ открыть). Увидим вот такое: 2. Разберем на примере одного из блоков (принцип един для всех блоков и одинаков). Выберем, например вот этот блок. Вот что мы здесь имеем: <type name="P1"> <!--- Там где указано 'P1' это класснейм вещи. Т.е. внутрисерверный код вещи, по которому сервер распознает, что это именно эта конкретная вещь. Список такого рода класснеймов можно найти в интернете самим вручную.--> <nominal>20</nominal> <!--- Число 20 - это наиболее вероятное количество данной вещички, которое будет иметься на сервере на сервере в целом, подспавниваться, в случае нехватки вещей на сервере, или наоборот не спавниться, если вещичек на сервере уже имеется столько или больше. Число 20 это не конкретное количество, а лишь наиболее вероятное значение, которое сервер выберет сам. Конктретное значение назначить невозможно.--> <lifetime>8500</lifetime> <!-- Число 8500 это время жизни вещички на сервере от момента ее спавна до момента ее удаления (и последующего ее переспавна, если сервер решит, что это необходимо). Число, как понимаю, указывается в секундах. В случае, если с вещью этой кто-то повзаимодействовал, счетчик секунд до ее удаления и переспавна сбрасывается, и отсчет этого времени начинается заного.---> <restock>500</restock> <!-- Незвестный мне параметр ---> <min>10</min><!--- Число 10 - это минимально допустимое количество данной вещички, которое будет иметься на сервере в целом. Работает по принципу с параметром nominal выше. Число 10 это не конкретное количество, а лишь наиболее вероятное значение, которое сервер выберет сам. Иными словами, минимальная граница диапазона. Конктретное значение назначить невозможно.--> <max>100</max><!--- Число 100 - это максимально допустимое количество данной вещички, которое будет иметься на сервере в целом. Работает по принципу с параметром nominal выше. Число 100 это не конкретное количество, а лишь наиболее вероятное значение, которое сервер выберет сам. Иными словами, максимальная граница диапазона. Конктретное значение назначить невозможно. Сервер сам при первом запуске сервера генерирует себе в базу количество в луте этой вещи на всем сервере в целом, и это число сохраняет.--> <quantmin>-1</quantmin> <!-- Незвестный мне параметр ---> <quantmax>-1</quantmax> <!-- Незвестный мне параметр ---> <cost>100</cost> <!-- Незвестный мне параметр ---> <flags>7</flags> <!-- Незвестный мне параметр ---> </type> Возможно, имеются и какие-то иные параметры записи в этот файл. В класснеймы в этом файле вводятся не только вещи, но и класснеймы хеликрашей, животных, зомби и прочего (даже транспорт есть). Грубо говоря, это таблица всего, что будет спавниться на сервере вообще. 3. Теперь откроем файлик events.xml так же. Здесь принцип тот же, но некоторые параметры уже отличаются. 4. Разберем на примере такого вот блока в этом файле. Показатели, которые есть в types.xml и имеются тут дублируются, пояснения по ним копировать не стану. (какие рабочие не знаю, указываем их и там и там) <event name="VehicleTransitBus"> <!--- Все тот же класснейм в привычном нам виде, но не объекта, как понимаю, а категории объектов. Откуда названия брать не изучал. --> <waves>3</waves> <!--- Неизвестный мне параметр--> <nominal>5</nominal> <!--- См. комментарии в types выше --> <min>3</min><!--- См. комментарии в types выше --> <max>5</max><!--- См. комментарии в types выше --> <lifetime>25000</lifetime><!--- См. комментарии в types выше --> <restock>0</restock><!--- См. комментарии в types выше --> <saferadius>1000</saferadius> <!--- Радиус спавна лута около объета, актуально для хеликрашей. --> <distanceradius>2000</distanceradius><!--- Радиус, в котором, как понимаю, объекты данного типа рядом не появятся --> <cleanupradius>0</cleanupradius><!--- Радиус в метрах, на расстоянии которого будет пропадать зомби и лут, отходящий от объекта самовольно. --> <deletedamaged>1</deletedamaged> <!--- Актуально для машинок, думаю, с названия понятно что это. --> <flags>262400</flags> <!--- Неизвестный мне параметр--> <children> <!--- Простая покатегория --> <child flags="0" lootmax="3" lootmin="0" max="5" min="5" type="TransitBus"/> <!--- Класснейм объекта, который относится к этому типу event сервера, в параметрах минимум-максимум лута у объекта или в объекте, и количество самих объектов на серре данного типа. --> </children> </event> 5. теперь разберем server.xml и globals.xml В первом файле настройка работы с базой данных сервера официальной, такие как время синхронизации данных между клиентом игры и сервером, время жизни трупов после смерти, и параметр queuetime, который не работает (это время ожидания поумолчанию перед спавном, отключено в силу технической возможности впринципе зайти на сервер вообще). Во втором файле соответственно мы имеем параметры количества спавна зомби, дистанция для динамического спавна зомби на игрока и другие какие-то настройки, смысл которых я так и не понял. ВАЖНО!!! После редактирования всех этих настроек не забываем, что если у вас имеется папка storage, и в папке storage сервера имеются одноименные bin-файлы базы данных сервера, то настройки ваши не применятся с запуском сервера, поскольку они в таком случае считываются у вас именно из storage-директории. Потому если вы хотите применить эти настройки необходимо будет либо удалить всю директорию storage, либо конкретно данные файлы! Но помните, если вы будете удалять файлы, делайте копии базы перед удалением, поскольку файлы в папке storage взаимосвязаны, и всегда имеется риск, удалив один файл, вызвать вайп или переспавн какого-то из элементов на сервере (это заметно при старте сервера в ее консоли пhи подгрузке файлов множественным serious damaged). Вроде бы и все. Не уверен, что часть из настроек этих вообще работает, а часть пояснений к ним корректно написана, но это лично мои наблюдения. Надеюсь, прояснил хоть немного о известной системе работы сервера. Если у кого есть более точная и правильная информация, просьба писать ее, будем корректировать гайд вместе.
  16. 1 point
    дрТаурен в детстве....
  17. 1 point
    123new

    DAYZ EXPANSION (TRADER)

    Насколько знаю эта фигня не доделанная у них. Проще просто мод трейдера поставить на сервер и расставить их так как нужно тебе.
  18. 1 point
    Selleti

    Экономика сервера

    Получится, открываем paa в TexView и сохраняем как png = вуаля
  19. 1 point
    @alechay Я не назывался "экспертом" но тем не менее, по вам видно, что вы даже ничего не пытались понять, однако выкатили такую фразу " обыскал все и ничего не нашел " такого в принципе быть не может, с этого два варианта : Либо вы даже не искали( наиболее вероятно) ну или не шарите от слова совсем, что бы не найти другие экшены разделки и\или базы других разделываемых существ))
  20. 1 point
    Yuki

    Гайд на Xeon +2000 3000 FPS

    А ещё можно зайти в Powershell или cmd, кому как. Вписать powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61 и всё. У вас не "Высокая производительность" будет только, а ещё и Максимальная производительность.
  21. 1 point
    Хотелось бы добавить, что при использовании "Workbench" файлы картинок в формате JPG не переводились в формат EDDS, поэтому я всегда использую формат PNG, с ним все работает без проблем. Может кому пригодится.
  22. 1 point
    Yuki

    AggresssiveTV - сомнительно

    Кстати, докину забавный момент. Он там делал много рейдов багом и всё такое. Тут даже пруфы искать долго не пришлось.
  23. 1 point
  24. 1 point
    удаляешь как? Укажи 0 вместо значения скина
  25. 1 point
    Просмотреть файл DisableConstructionAndDeconstruction / Отключение Строительства и Разборки в указанных точках карты Тип: серверный мод Игра, для который подходит данный товар: DayZ Standalone Авторство: я (123new) Товар совместим, тестировался и проверялся на чистых версиях игры: 1.07, 1.08 Описание: Серверный мод, осуществляющий запрет постройки и разбора построек на сервере, а также копку грядок в указанных вами зонах на карте. Мод не требуется к наличию игрокам и является чисто серверным. Возможности: Гибкий json-конфиг мода, избавляет вас от необходимости переписывать постоянно скрипты. При ошибках в конфиге мода он будет пересоздан автоматически, при этом ошибки будут отмечены в script-логе сервера Отключение возможности постройки внутри зон защиты Отключены возможности разборки внутри зон защиты Настраиваемые уведомления в чат для оповещения пользователя о запретах в зоне Исключения для возможности стройки в зонах защиты Логирование каждого действия срабатывания защиты в script-log файл сервера Важно: Работоспособность скрипта проверена и заточена на чистую версию игры без модификаций с новыми элементами постройки. Возможно, для добавления защиты под модовые элементы построек вам прийдется дописывать часть скриптов в моде самим, будьте готовы! Разделение по типам действий и настройки для скрипта не производилось в целях экономии стоимости скрипта. Скрипт проверен на чистой версии игры версии игры 1.07.153006 на момент публикации и является работоспособным по сей день и час. Настройка: Параметр enable_auto_restart_server_timer - включает и отключает работу всего скрипта. При false будет отключен, и остальные настройки будут отключены, но они должны быть в наличии. Формат значений - true или false Параметр Activate_ChatMessage_For_Blocked_Actions - включает и отключает чат-сообщение игроку при блокировании действий постройки и разбора в защищенной зоне. При false будет отключено. Формат значений - true или false Параметр Activate_ChatMessage_For_Allowed_Actions - включает и отключает чат-сообщение игроку при разрешении действий постройки и разбора в защищенной зоне для вписанных игроков. При false будет отключено. Формат значений - true или false Параметр Chat_Message_Block_Build - Чат-сообщение, которое пишется игроку в чат при блокировании действий постройки или разбора в защищенной зоне. Работает при Activate_ChatMessage_For_Blocked_Actions = true. Формат значений - любой текст. Параметр Chat_Message_Access_Build - Чат-сообщение, которое пишется игроку в чат при разрешении действий постройки или разбора в защищенной зоне. Работает при Activate_ChatMessage_For_Allowed_Actions = true. Формат значений - любой текст. Параметр ZonesMassive - Массив с конфигурациями зон. Минимум 1 элемент обязательно должен быть. Параметр secured_point - точка на карте в формате X Y Z (Y - высота). Все 3 значения чувствительны к правильности. Будьте внимательны, если ошибетесь с высотой, дистанция будет считаться от указанной вами точки на высоте. Формат значений - числа с точкой. Параметр distance_secure - дистанция защиты по радиусу от указанной в secured_point точки на карте. Указывается число, которое больше нуля. Формат значений - числа с точкой. Параметр Steam64IDS_With_ACCESS - массив Steam64ID игроков (как получить - гугл в помощь), которые имеют доступ к строительству и разбору построек в зоне. Несколько значений указываются через запятую. Формат значений - текст. Минимум 1 элемент обязательно должен быть. Автор 123new Добавлен 13.04.2020 Категория Скрипты, моды, карты и т.д.  
  26. 1 point
    Стим это замазанное говнище!
  27. 1 point
    Какой, извините, (Слово удалено системой).
  28. 1 point
    Плохо смотрели 4_World\Classes\Recipes\Recipes CraftRag.c class CraftRag Функция Do override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)//gets called upon recipe's completion { ItemBase result; Class.CastTo(result, results.Get(0)); ItemBase ingredient2 = ingredients[1]; //тут из конфига предмета берется значение переменной ragQuantity которая указывает сколько лоскутов получится если вещичку порезать int quantity = ingredient2.ConfigGetFloat("ragQuantity"); //тут устанавливается количество лоскутов result.SetQuantity(quantity); }
  29. 1 point
    https://dropmefiles.com/T7Kcc
  30. 1 point
    123new

    AnomalySpawner

    Просмотреть файл AnomalySpawner Игра, для который подходит данный товар: DayZ Standalone Тип: мод (серверный) Авторство: я (123new) Товар совместим, тестировался и проверялся на чистых версиях игры: 1.07, 1.08 Описание: Мод, добавляющий спавн указанных аномалий с указанными артефактами в указанных зонах. Можно указать как статичный спавн артефактов, так и артефактов, которые можно найти с помощью каких-либо предметов в руках (детекторы так называемые). Мод НЕ требуется к наличию игрокам и является чисто серверным. Возможности: Спавн аномалий в указанных точках на карте Статический спавн артефактов со стартом сервера рядом с указанными точками аномалий Для статического спавна можно указать диапазон дистанции спавна артефактов и их количество Спавн артефактов (динамический) в указанных точках аномалий при наличии указанных детекторов в руках игрока Для динамического спавна можно указать: 1) диапазон дистанции спавна артефактов от игрока с детектором 2) количество нахождаемых артефактов рядом с точкой аномалии для каждого случая входа игрока 3) таймаут-ограничение поиска для каждого игрока на поиск 4) максимум артефактов на точку 5) шанс обнаружения в долях процентов для спавна артефакта Можно включить/отключить и настроить сообщение в чат при успешном поиске (спавне) артефакта детектором у игрока Чисто серверная модификация, не требует наличия у игрока Возможность переписать код модификации под себя, если вам это нужно Видео-демонстрация от товарища: Важно: Скрипт проверен на чистой версии игры 1.07.153006 на момент публикации и является работоспособным по сей день и час. Для работы модификации требуются аномалии, артефакты и детекторы с других модов! В данном моде их НЕТ!!! Где приобрести такие вещи ищите сами! Указывать можно в качестве ID любые внутриигровые объекты и предметы! Возможно дублирование объектов артефактов с рестартами сервера на карте (очистки от старых перед спавном не предусмотрено ввиду дополнительных сложностей), а также попадание артефактов в текстуры при их наличии рядом, либо прочие незначительные недоработки. Основной функционал отлажен и протестирован на чистом сервере. Настройка в скриншотах: Автор 123new Добавлен 12.05.2020 Категория Скрипты, моды, карты и т.д.  
  31. 1 point
    я выше и описал это))в общем будет определять телепорт.
  32. 1 point
    Тема обновлена,Программа стала бесплатной.
  33. 1 point
    Дайте мне войти ! Тоже слово вставлю ! Автор дружище ты пытаешься оскорбить тут человека который единственный тут в сегменте занимается лаунчерами ! И делает это за копейки и делает это мего качественно !!! Я не когда не поверю что DAP кого то кинул или не сделал работу в полном объёме !!! Я сам когда то попал на такого, извините за выражение идиота как ты ! И пожалел что связался ! Не суть дела. Человек этот я уверен все тебе сделал и настроил 110% я уверен я сам клиент Депа. И знаю как он все делает ! Поэтому убедительная просьба не гони тут дуру! Деп дружище тебе же желаю не попадать больше на таких ....... Понимаю что деньги но .... больных не шарящих полно. Потом вот такие страйки от них по форуму летают. У меня все!
  34. 0 points
    Админы серверов DayZ до обновы...
  35. 0 points
    Yuki

    CFTools

    Описание: Представляет из себя крайне удобную RCON панель для администрирования своих серверов. Так же для владельцев DS есть OmegaManager, от этих же ребят, но уже устанавливается на ваш сервер для автообновления модов и позволяет контролировать ресурсы. Функционал: 1. Удобная система Рестартов, которая сразу выдаёт уведомления в чат об игроком рестарте. Ничего не надо прописывать в ручную, задал время и всё, у тебя в это время со всеми предупреждениями будет рестарт сервера. Ну и он кикает всех игроков за минуту до рестарта, что позволяет избавится от дюперов, которые абузят рестарт. 2. Удобная система защиты. Начиная с игроков, у которых есть VAC Ban на аккаунте и заканчивая тем, что если они вдруг используют VPN, то вы это увидите. Ну и можно блокировать по IP и вообще вплоть до целых стран. 3. Whitelist 4. Система сообщений, которая может уведомлять вообще о множестве различных вещей. Начиная от сообщения при входе игрока и заканчивая тем, что ему иногда будет писаться его пинг. 5. Система уведомлений для админов проекта. Если у вас сервер вдруг упал, то вы можете получить уведомление на почту. Так же вас может уведомлять о рестартах и всём таком. 6. Крайне удобная логистика игроков, вам видно как Steam профиль игрока, так и его возможные аккаунты. Ещё там сохраняется история ников этого игрока, с которыми он был на вашем сервере, это крайне сильно помогает. 7. Можно назначать админов/модераторов и прочее, для банов и т.д через данный софт. Стоит отметить, что все функции, что были в DaRT тут уже есть, причём все. Но это всё в вебе. Установка: Зайди на сайт https://cftools.de/ и залогинится через Steam. Там взять Omega token и проследовать инструкциям Потом просто заходим обратно на сам сайт и нажимаем на вкладку ControlPanel. Подключаем по RCON и всё, вы молодцы. Серверный мод: Далее вам необходимо скачать в Steam мод, который просто подключайте как серверный. Он уже вам даст некоторые более интересные возможности. Для подключения надо в вашем Profile создать следующий файл cftools.cfg и вставить в него: { "service_api_key": "", "service_id": "" } Это даст вам доступ к карте сервера, логам строительства, убийств и т.д. Общее: Я сам до конца ещё не разобрался с данным инструментом, но многие крупные проекты, особенно зарубежные, активно этим всем пользуются. Создавая команды для игроков через !help и т.д. Так же у этого всего есть серверные моды, которые вы можете скачать в Steam. Так что думаю, что многим данный инструмент будет очень удобен, особенно, когда надо сделать на сервере что-то с телефона и быстро. При этом как-то удобно уведомить от этом игроков.
  36. 0 points
  37. 0 points
    Или вот еще в продолжение Когда оплатил хост, СКАЧАЛ все моды, но так и не понимаешь, почему ты еще не АДМИН на своем сервере?
  38. 0 points
    Когда впервые арендовал сервер, и ни в чем еще не разбираешься...
  39. 0 points
    Таурену и 123 показали новый баг....
  40. 0 points
    Как @DrTauren фиксит баг с двойной вставкой скриншотов
  41. 0 points
    Поиск глазами постоянных пользователей и глазами новичка
  42. 0 points
    слишком занят) Впрочем, коротко, так и быть))
  43. 0 points
    Начну, пожалуй. Это админ, когда кто-то написал в чат что-то вроде "изменить погоду. Как", вместо того чтобы написать это в строку поиска (да, над админом можно угарать, он не гордый, ему пофиг) @123new ждём мем о том, что админ не может починить картинки с марта 🤣
  44. 0 points
    можно ведь для начала и посмотреть в моде вирус class DZ_LightAI; // External class reference class DayZInfected : DZ_LightAI {}; class ZombieBase : DayZInfected { class Skinning { class brain { item = "brain_Mung_virus"; count = 1; }; }; }; это то что выпадает при разделке еще в моде нужно разрешить разделку зомбей и все это не в каком то файле а в своем моде надо прописывать ручками я бы скинул код но у меня все руки не доходят дописать его )))
  45. 0 points
    thessend

    ТестКрови

    То что написал @hardpr0 полная дичь. Сам файл находится 4_World\Classes\UserActionsComponent\Actions\Continuous\Medical\ActionTestBloodSelf Моддидь нужно именно его. А если еще точнее то вот убрать эту строку "action_data.m_MainItem.Delete(); "
  46. 0 points
    (краткая ода как я выносил себе мозг с помощью лута) Настроить лут на сервере постарались сразу после релиза ибо многое "не там и не тут".... Первая фигура Марлезонского балета. Файлов которые отвечают за лут прямым и коственным образом,судя по всему мнго,но настройки которые нам доступны сосредоточены в папке mpmissions\dayzOffline.chernarusplus и mpmissions\dayzOffline.chernarusplus\db cfglimitsdefinition.xml -файл в котором обозначены категории лута, тэги спавна, классы обьектов для спавна и зоны спавна.(если я правельно понял,в информатике это называеться "заданием классов" или как то так).Далле с чем я эксперементировал. <category name="......."/> Спавнящийся лут имеет (а может и не иметь) определенную категорию и судя по всему не одну. Сюда можно вписать свою категорию и давать её предметам.(ф файле тайпс) Тэги...Их всего два <tag name="floor"/> <tag name="shelves"/> Лут может их иметь,а может и нет.Как я понял-это определят точку спавна- "только на земле","только на предметах"....если ничего нет-может спавниться где разрешено и позволяет "обьём"(об этом позже). Новые не вписывал,бо не имеет смысла.. Классы обьектов для спавна <usage name="......."/> Стационарные обьекты имеют в своём обозначении один или несколько таких классов имён. Легко можно прописать свой и дать его категории стационарных обьектов или обьекту.(правда уникальных обьектов на карте-раз,два и обчёлся). Прописав свой к примеру "MyBox"....и потом в mapgroupproto.xml у военных контейнеров убрав все классы и оставив только этот,в нём будут спавниться только те предметы которым вы в "тайпс" пропишите данную категорию. Зоны спавна <value name="....."/> их всего четыре...И как они нанесены на карту-точно знают только бегемоты....Примерно,что берег-первая зона,дальше вторая..И так далее,но к примеру Алькатраз в какой зоне? К сожалению после релиза это дело не работало,а включили кажеться сравнительно недавно (поэтому пока на стадии познания:))) mapgrouppos.xml - Файл в котором определяться координаты "карты" лута для каждого обьекта.(мдя,чего я счас сморозил то) <group name="Land_Misc_FeedShack" pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" a="160.013718" /> Land_Misc_FeedShack - название обьекта,его ID... pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" - координаты центра "карты" лута для этого обьекта, совпадают с координатами обьекта формат записи X-Y-Z завал,наклон,поворот. a="........" Вектор поворота карты лута обьекта относительно направления С-Ю. Как он определятеься-непонятно,но эксперементально выяснил что частенько заспавнив здание и прописав в него лут,можно брать это значение с аналогичного обьекта,но всегда проверить,нормально ли спавниться лут,если нет-проще переспавнить обьект и снова попробовать,чем "искать угол"-(устарело),в принцпе....(угол поворота - 90)х(-1)...как то там ещё можно возиться переводить с +360, ноя просто пишу полученное знаечение и всё работает. Да-да,именно тут прописываеться что в вашем установленом обьекте появляеться лут! (имееться ввиду в оффлайн редакторе поставив "француз"-тут вы пропишите в него лут,как прописать в он-лайн сам обьект-другая история под названием "возврат водяных колонок") mapgroupproto.xml - Файл в котором прописана "карта" лута для объекта. Вначале идёт описание для "дефолта" ,то есть деревьев и растений,а также камней!(тут я не понял,но ...это нам и не нужно,яблаки падают и хорошо..) <group name="Land_Tisy_Barracks"> - название обьекта,ID <usage name="Military" /> - класс имени обьекта,может быть не один. (а если вы ввели свои-писать именно сюда) <container name="lootFloor" lootmax="8"> - имя "контейнера" и максимальное колличество лута котрое может там появиться.(колличество лута может быть и не обозначено,но ессли еть-никогда не будет больше чем колличество точек спавна что ниже) <category name="tools" /> - класс лута который будет спавниться,может быть не один. ........................... <category name="clothes" /> <point pos="-2.429444 -3.799637 3.698242" range="1.199951" height="2.000000" /> - точка спавна лута, расстояние по X-Y-Z от центральной точки "карты лута" (где она,можно выяснить только эксперементально для каждого обьекта). range="......." радиус спавна от заданной точки, то есть в этом "круге" будет спавниться лут. height="........."-высота возможного спавна,как я понял.... ниже всё тоже самое, но для своего "контейнера" данном здании.То есть обьект может иметь несколько контейнеров. </container> <container name="lootshelves" lootmax="8"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <tag name="shelves" /> <point pos="0.968751 -3.434326 7.507324" range="0.581250" height="0.532341" /> .................................................. </container> <container name="lootweapons" lootmax="8"> <category name="weapons" /> <category name="explosives" /> <point pos="3.985354 -3.434326 6.267576" range="0.478125" height="0.533684" /> ................................................... </container> </group> cfgrandompresets.xml - Файл в котором мы найдём так называемые "грузы"-группы предметов спавнящихся в предметах,зомби и тому подобное....(судя по всему сделано для удобства) <cargo chance="0.35" name="foodVillage"> - шанс появления этого набора (в данном случае 35%) и его название <item name="SodaCan_Cola" chance="0.11" /> - название (ID) предмета и его шанс выпадения (11%) ....................................................................... <item name="SpaghettiCan" chance="0.11" /> <item name="BakedBeansCan" chance="0.11" /> </cargo> То есть "груз" foodVillage может выпасть в 35% случаев, если условее истинно,то может выпасть предмет из списка с вероятностью которая задана для предмета или ,если ни один предмет не прошёл-то опять таки ничего не выпадет. Выпадает только один предмет из списка, так и не выяснил,влияет ли очерёдность списка предметов или нет. То есть возможностей настройки тут-море,кто хорошо разбираеться в теорией вероятности поймёт данный раздел влёгкую. Можно создавать свои собственные "миксы"....к примеру. </cargo> <cargo chance="1.0" name="mixOptics"> <item name="PUScopeOptic" chance="0.33" /> <item name="PSO1Optic" chance="0.33" /> <item name="HuntingOptic" chance="0.3" /> </cargo> То есть "микс" появиться стопроцентно в объекте из него может выпасть....с вероятностью 33% ...перечисленные вещи. Важно помнить,что если размер "контейнера" маленький (к примеру мишка),то в нём ни как не заспавниться ПСО-1. Размер имеет значение. cfgspawnabletypes.xml - Список тех вещей, "контейнеры" в которых спавняться наборы из прошлого файла. И самое важное! Именно тут указано степень износа заспавненых вещей,для остальных-пристин! Не то что в них....(но контейнером может стать и обычная вещь!) <damage min="0.2" max="0.7" /> - тут и задан разброс износа для "контейнеров"! Для всего списка! От 0,3 до 0,7 (в орегинале),я уже тут изменил немного. <type name="ammobox"> - название (ID) вещи-контейнера. <cargo preset="optics" /> -название набора который может появиться внутри с шансом( ккак было описано выше).... ........................................ <cargo preset="ammoArmy" /> </type> То есть можно прописать несколько наборов и если из каждого заспавниться вещь,то ограничение только "размер" контейнера и вещей. Но в этом файле есть ещё много "вкусного"..... Вторая фигура Марлезонского балета. <type name="ZmbM_PatrolNormal_Autumn"> <cargo preset="foodArmy" /> <cargo preset="ammoArmy" /> </type> Вот вам и первый "ходячий" контейнер.....Увеличив к примеру в cfgrandompresets.xml шанс выпадения данных наборов-получите "доставщиков пиццы на дом". Но не в каждом зомби такой набор и опять таки,вы можете их менять,добавлять,убирать.... А дальше-оружие... <type name="CZ61"> - ID оружия <attachments chance="0.10"> -Шанс что на нём будет аттачмент 10% <item name="AK_Suppressor" chance="1.00" /> - шанс появления самого аттачмента 100% (не факт что так и надо,просто так проще высчитыывать процент появления аттачементов на оружии) </attachments> <attachments chance="0.30"> -то же самое и для другого аттачмента,обратите внимание,что мы не смешиваем в одну кучу "глушители и магазины"... <item name="Mag_CZ61_20Rnd" chance="1.00" /> </attachments> </type> А если хочеться "АКМ" что бы мог спавниться в полном обвесе? А легко... <type name="AKM"> <attachments chance="1.00"> <item name="AK_WoodBttstck" chance="0.80" /> <item name="AK_PlasticBttstck" chance="0.30" /> <item name="AK_FoldingBttstck" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="AK_WoodHndgrd" chance="0.80" /> <item name="AK_PlasticHndgrd" chance="0.30" /> <item name="AK_RailHndgrd" chance="0.10" /> </attachments> <attachments chance="0.30"> <item name="Mag_AKM_30Rnd" chance="1.00" /> </attachments> <attachments chance="0.30"> <item name="AK_Suppressor" chance="0.50" /> </attachments> Видим что он может появляться с разными прикладами,цевьями,может с глушителем или без,с магазином или без....(хотите,можете и ПСО ему прописать). Как видите тут нет ни ИЖ18,ни МП133....и они,гады спавняться всегда "пристин".....Стоит добавить <type name="Izh18"> </type> .....и ИЖ18 будет спавниться с дамагом который вы установили. Думаете это всё?....Индейское жилище-фигвам! Машины!.... <type name="OffroadHatchback"> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.60" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.60" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="CarRadiator" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="CarBattery" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HeadlightH7" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HeadlightH7" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackDoors_Driver" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HatchbackDoors_CoDriver" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HatchbackHood" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="HatchbackTrunk" chance="0.20" /> </attachments> </type> Это он так выглядит сейчас вроде...раньше было всё намного хуже...Машина стандартно спавнилась с ОДНИМ колесом. Можете изменить аттачментам шансы хоть до "1.00" что бы машина спавнилась сразу собранная.(залить в неё жидкости-знает Боррзик,описывал на форуме,ищите). Правда мы подло могЁм положить в машину.....бензин,масло...можно и ремкомплект. <attachments chance="1.00"> <item name="SparkPlug" chance="0.6" /> </attachments> <attachments chance="1.00"> <item name="EngineOil" chance="0.5" /> </attachments> <attachments chance="1.00"> <item name="EngineOil" chance="0.5" /> </attachments> <attachments chance="1.00"> <item name="EngineOil" chance="0.5" /> </attachments> (в этом же файле,ПОЗЖЕ,появились и рождественские наборы...но было уже поздно-бегемоты должны быть повешаны!) Глыбжее,ширее,нижее. Преходим в папку db events.xml - файл в котором описаны "случайные" события,такие как зомби,полицейская волга, хеликраш, адми...тоесть петух!, ну и прочие коровы и звери. Например <event name="AnimalCow"> -название ивента <waves>0</waves> - ИМХО,аппендикс от 062 <nominal>8</nominal> - номинальное колличество стай на карте???? <min>6</min> - мин количество стай <max>8</max> - максимальное колличество стай <lifetime>180</lifetime> - "время жизни"????Бред. <restock>0</restock> - Непонятный параметр. <saferadius>200</saferadius> - радиус спавна <distanceradius>0</distanceradius> -неизвестный мне параметр <cleanupradius>0</cleanupradius> - неизвестный мне параметр <flags deletable="0" init_random="0" remove_damaged="1" sec_spawner="0"/> -флаги настройки <position>fixed</position> -позиция будет выбераться из зафиксированых в файле cfgeventspawns.xml <limit>child</limit> Непонятный мне параметр <active>1</active> -Вкл\Выкл....ставим ноль и "коровка нихт". <children> <child lootmax="0" lootmin="0" max="3" min="0" type="Animal_BosTaurusF_Brown"/> ..................................................... - То что будет спавниться в ивенте,тоесть состав "стада" и колличество. <child lootmax="0" lootmin="0" max="1" min="0" type="Animal_BosTaurus_White"/> </children> </event> Так же с хеликрашами и прочими зомбями. types.xml-великий и ужасный.Содержит в себе данные о всём спавнещемся луте и контейнерах (хеликраши,машины,зомби-по сути-контейнеры). Всякий лут должен быть в этом файле иначе-нет его спавна на карте. Также и синтаксическая ошибка в этом файле приводит к исчезновению всего лута с карты. Если из него убрать что-то,(но этот предмет останеться лежать на земле до истечения срока)....и игрок его поднимет-краш.Так что файл требует трезвого ума и терпения. <type name="Canteen"> - Название ID предмета <nominal>30</nominal> -номинальное колличество спавна на карте к которому стремиться "спавнер". <lifetime>7200</lifetime> - время "лежания" предмета после спавна ( а также судя,по всему-время после падения на землю с игрока).в сек. (на параметр влияет ускорение времени на сервере и параметр из скриптс-"колличество тактов в секунду") <restock>0</restock> - на сколько отложиться респан предмета после того как он должен "отспавниться" по новой. <min>20</min>- минимальное колличество предмета на карте после которого начинаеться работа спавнера. <quantmin>-1</quantmin> - если предмет "бутылка-магазин"-степень его наполнения минимальная <quantmax>-1</quantmax> - если предмет "бутылка-магазин"-степень его наполнения минимальная <cost>100</cost> - (апендикс бегемотов-думали ввести цену....) <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> -флаги для настройки работы спавнера,тоесть какое колличество он учитывает перед тем как заспавнить вещь. count_in_cargo -колличество в палатках и машинах. count_in_hoarder -количество в бочках и закопанных схронах. count_in_map -лежащих в данный момент на карте. count_in_player -находящихся у игроков(неизвестно,учитываться все игроки или игроки он-лайн) crafted -собраные вещи deloot - если значение 0 то оружие будет в указанных зонах из тэгов, если 1, то только на хеликрашах в указанных зонах Tier 1 2 3 или 4 ну или всех Tier-(возможно что если "1" то вещь спавниться только на "ивентах") <category name="food"/> -категория лута ,может быть не одна. <tag name="shelves"/>-установлен "тэг" <usage name="Military"/> -класс обьекта в котором может заспавниться. <value name="Tier2"/> Зоны в каких будет спавниться лут <value name="Tier3"/> <value name="Tier4"/> </type> Если по простому,то "фляжка" будет спавниться в колличестве 30 штук постоянно в зонах 2-3-4 на военных обектах где возможно появление еды с использованием тэга shelves, то есть если в объекте совпадает в начале описания в mapgroupproto.xml,класс,категория,тэг -то предмет заспаниться в точке спавна,которые в этом же файле,для обьекта на карте из файла mapgrouppos.xml <type name="ACOGOptic"> <nominal>20</nominal> <lifetime>7200</lifetime> <restock>1800</restock> <min>15</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="weapons"/> <usage name="Military"/> </type> <type name="AgaricusMushroom"> <lifetime>900</lifetime> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/> </type> как видите,есть даже грибы,которые спавняться динамически. (если вещевые или другие моды перезаписывают эти файлы,то следите за тем что бы они сливались в экстазе,а не выпихивали друг друга) По идее-ничего сложного,даже я разобрался.....почти. Третья фигура Марлезонского балета.... Пара примеров.... <type name="StartKitIV"> <nominal>50</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>40</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="tools"/> <tag name="shelves"/> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </type> Это "квадратик" или....гхм!. Что видим?Лут из категории "инструменты",спавниться постоянно в местах с тэгом,по всей карте....А какой он категории?А ни какой,вот и спавниться,хоть на лодках на берегу,хоть на вышке. Добавляем категорию... <type name="StartKitIV"> <nominal>50</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>20</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="tools"/> <tag name="shelves"/> <usage name="Medic"/> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </type> Всё,теперь только на обьектах с классом "медик"-как и положено. (бегемоты должны быть повешаны!).... Обьект радиовышка,кто лазил на неё,тот помнит что на ней спавнился полецейский лут. Почему? А смотрим mapgroupproto.xml <group name="Land_Tower_TC1"> <usage name="Village" /> <usage name="Industrial" /> <usage name="Police" /> <container name="lootFloor"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <category name="weapons" /> <category name="books" /> <category name="explosives" /> <point pos="-0.454809 14.404877 0.712779" range="0.314223" height="0.785558" /> <point pos="-0.582537 14.404785 0.034267" range="0.375000" height="0.913483" /> <point pos="0.773581 14.405716 0.067886" range="0.375000" height="0.915054" /> <point pos="-0.448550 14.404892 1.860424" range="0.432076" height="1.080190" /> <point pos="0.641068 14.405640 1.884647" range="0.512500" height="1.279480" /> <point pos="-1.132879 -1.965958 1.837671" range="0.581250" height="1.453125" /> <point pos="0.925214 -1.964554 -0.245559" range="0.821875" height="1.996796" /> <point pos="-0.880515 -1.965805 -0.105441" range="0.821875" height="2.000610" /> <point pos="0.998695 -1.964493 1.724339" range="0.890625" height="1.996490" /> </container> Лут категории "инструмент","контейнер"...."оружие" классов ...Да,"Полиция".....Удаляем нафинг полицию! <group name="Land_Tower_TC1"> <usage name="Village" /> <usage name="Industrial" /> <container name="lootFloor"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <category name="weapons" /> <category name="explosives" /> <point pos="-0.454809 14.404877 0.712779" range="0.314223" height="0.785558" /> <point pos="-0.582537 14.404785 0.034267" range="0.375000" height="0.913483" /> <point pos="0.773581 14.405716 0.067886" range="0.375000" height="0.915054" /> <point pos="-0.448550 14.404892 1.860424" range="0.432076" height="1.080190" /> <point pos="0.641068 14.405640 1.884647" range="0.512500" height="1.279480" /> <point pos="-1.132879 -1.965958 1.837671" range="0.581250" height="1.453125" /> <point pos="0.925214 -1.964554 -0.245559" range="0.821875" height="1.996796" /> <point pos="-0.880515 -1.965805 -0.105441" range="0.821875" height="2.000610" /> <point pos="0.998695 -1.964493 1.724339" range="0.890625" height="1.996490" /> </container> </group> Теперь в лучшем случае дробаш там будет. Ну,как то так....
  47. 0 points
    Одна так как <child lootmax="20" lootmin="10" max="2" min="1" type="GiftBox_Small_1"/> min 1 max 2 стоит, т.е. от 1 до 2 максимум появиться может Насчет купюр - в cfgspawnabletypes доавляем нужные купюры с шансами в 100% и делаем их несколько, например <!--podarok--> <type name="GiftBox_Small_1"> <attachments chance="1.00"> <item name="MoneyRuble100" chance="1.00" /> <item name="MoneyRuble50" chance="1.00" /> </attachments> <attachments chance="1.00"> <item name="MoneyRuble100" chance="1.00" /> <item name="MoneyRuble50" chance="1.00" /> </attachments> <attachments chance="1.00"> <item name="MoneyRuble100" chance="1.00" /> <item name="MoneyRuble50" chance="1.00" /> </attachments> <attachments chance="1.00"> <item name="MoneyRuble100" chance="1.00" /> <item name="MoneyRuble50" chance="1.00" /> </attachments> </type>
  48. 0 points
    Когда проекту можно включать донат чтоб это выглядело органично и своевременно? Время и сумма включения доната и ошибки новичков. Дилемма которая появляется у создателя сервера это как не платить за сервер, аренду или электричество. То есть чтоб сервер приносил доход который бы покрывал расходы на этот самый сервер, пока не считаем человеко-час, то есть время затраченное админом Первая и главная ошибка почти всех новичков это купить или арендовать самый крутой, самый мощный сервер... отдать за него 5-10 тыс в месяц... - сразу скажу это провал если вы не готовы минимум 6 месяцев его оплачивать за свои деньги, 6 месяцев это средний показатель с учетом текучки онлайна, стабильности работы и навыков администратора, мы же берем новичка... Вторая ошибка которая вытекает из первой, ну раз 10к надо платить сразу ка я введу донат лута например за 2 000р за сет, он же самый выгодный... - чтоб 10к окупались даже с доната вам нужно довольно большой процент постоянных игроков, не бывает такого что человек пришел и сразу решил купить себе лут на сервер, ему нужно какое то время по играть, если это не очень умный но богатый школьник, бывает достаточно 1 недели, но этого же мало для стабильной оплаты сервера, основная масса донатеров начинает покупать через 1-2 месяца после начала игры на сервере, да и смысл покупать лут если его на сервере еще первый месяц много, за счет того что нет еще онлайна. Третья ошибка, а почему бы сразу не заработать себе первый миллион? допустим за свет платит "мамка", игровой сервер на компе "для учебы", скачал готовый сервер и начинаешь сразу продавать донаты... - ответ тот же что и при второй ошибке... донат отталкивает людей даже если его ни кто не покупает... а значит сложнее набирать онлайн так как нет сарафанного радио и друзья не притаскивают на сервер своих друзей. В итоге вероятнее всего мы получаем 10 000р. каждый месяц, заоблачные донаты за 2 000р. на проекте с группой в 300 человек или онлайном 5-10 человек, а адекватные игроки заходя в группу видят сумму донатов и активность аудитории и понимают что ловить тут не чего... итог онлайн в лучшем случаи плохо растет, в худшем падает... У меня даже есть примеры: Спойлер: все эти проекты закрылись через какое то время, правда они потом снова открывались, с периодичностью 1-2 года. Так когда вводить донат? Давайте начнем с того кто я такой и почему вообще стоит слушать мои советы? Я создатель и владелец пиратско-лицензионного игрового проекта DayZsib, проект запущен в 2013 году и на момент 2020 года и приносит прибыль начиная с 2014 года. Сделать запуск сервера как можно бюджетный, если дома интернет стабильный и есть компьютер который будет работать 24 часа, ставьте туда, так как у вас пока нет навыков создания сервера вы просто пару месяцев будете изучать как что ставить и как исправить ту или иную ошибку и получая онлайн 5-10 человек его терять из за какой то новой ошибки... и мы получаем минимум 1-2 месяца отсутствие стабильного онлайна. Реклама, если нет денег договаривайтесь с другими группами за бартерную рекламу, чтоб они вас прорекламировали, а вы их... пишите мелким блогером у которых нед подписчиков но они играют в игру и снимают её, им вы даете какой то уникальный контент, например шмот или эвент, они его снимают вы получаете охват аудитории, они интересный контент... (НЕ в коем случаи не спамте в другие группы, во 1 другая группа может отправить вам ответочку причем это может быть как ддос который положит ваш сервер дома, так и ответный спам который просто засрет вашу маленькую группу... да и через время вам не нужны конкуренты которым вы настолько противны что они хотят вас закрыть.). Активность аудитории, старайтесь общаться с вашей аудиторией как можно чаще, покажите им что вы здесь что это не мертвый сервер и вам интересно им заниматься и вы занимаетесь не ради бабла... ответный фидбек не заставит вас ждать и аудитория будет активно рекламировать вас своим друзьям. Пробники - донат первое время когда у вас есть стабильный онлайн то есть вы видите что это одни и те же ники в течении 1-2 месяца, они сами предложат вам ввести донат, но не нужно это делать с большими суммами, начните с чисто символических сумм, напомню вы создали проект который должен приносить радость игрокам, даже если вы создали его ради денег... Покажите игрокам что ваш донат нужен для того чтоб улучшить им игру, а не заработать на них... О видах доната и как они влияют на сервер можно почитать тут Так же немного информации по видам аренды, а так же плюсах и минусах У кого есть какие-то дополнения к теме, пишите. Если статья вам помогла поставьте + и спасибо 🙂
  49. 0 points
    Выдели себя в Player Management, зайди в Show Permissions и поставь на всех правах "Allow". Все будет работать Не забудь сохранить Save Permissions
×
×
  • 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.