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

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

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

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

    Use services of the guarantor
    We will make your deal safe
Sign in to follow this  
paranoyk

Спавн фруктовых деревьев.

Recommended Posts

Осветим вопрос по спавну плодо-овощной продукции и яблонево-грушевым деревьям.

Делаю мелкую инструкцию как сам выполняю нечто подобное если потребуется. Сразу оговорюсь-данное буквопечатание не является истиной в последний инстанции, вариантов исполнения может быть несколько, но старался привести всё как можно ближе к ванильному состоянию. Ибо Бегемоты должны быть повешены, но ваниль свята.
Для понимания как, что и зачем влияет на спавн яблоко-груш, мухоморов-рыжиков-начнём издалёка.

 

Все начинается и подчиняется своему ивенту из файла  events.xml . Как и некоторые текстуры для спавна камней. Для яблонь это будет -

   <event name="TrajectoryApple"> - название ивента
        <nominal>140</nominal> - одновременное колличество ивентов на карту
        <min>2</min> 
        <max>4</max>
        <lifetime>180</lifetime> 
        <restock>0</restock>
        <saferadius>25</saferadius>
        <distanceradius>100</distanceradius>
        <cleanupradius>25</cleanupradius>
        <flags deletable="0" init_random="0" remove_damaged="0"/>
        <position>player</position>
        <limit>mixed</limit>
        <active>1</active> - вкл/выкл ивента
        <children>
            <child lootmax="0" lootmin="0" max="0" min="0" type="Apple"/> -  что именно будет спавнить ивент.
        </children>
    </event>

(лутом могут быть как плоды, так и грибы или другое)

Как видим эти ивенты начинаются на Trajectory, то есть если захотите спавнить под сломанными дубами помидор - начинаем TrajectoryDubb....и так далее.

 

Все эти ивенты включают спавн "сеток лута" (массива координат для определённой точки) в файле mapclusterproto.xml
В самом начале идёт перечисление по типу

<export name="PathD10" shape="dz\structures\Roads\Parts\path_dirt_10.p3d" />

<export name="PathD10" имя сетки лута в этом файле 
shape="dz\structures\Roads\Parts\path_dirt_10.p3d" ID объекта к которому привязана данная сетка лута />

То есть если делаем что то новое, то прописываем в этом начальном блоке.
Яблони там прописаны как

 

			<export name="AppleTree1" shape="dz\plants\tree\t_malusDomestica_1s.p3d" />
			<export name="AppleTree2" shape="dz\plants\tree\t_malusDomestica_2s.p3d" />
			<export name="AppleTree3" shape="dz\plants\tree\t_malusDomestica_3s.p3d" />	

Переводим.... Для обьекта на карте t_malusDomestica_1s.p3d соответсвует массив координат спавна лута AppleTree1 и т.д.

И видим ниже где яблони, где груши, где грибы....

<cluster name="AppleTree1" lootmax="2" maxinstances="150"> имя кластера котрое зарегестрировано выше с привязкой к объекту, колличество лута на нём и максимальное количество экземпляров 
			<de name="TrajectoryApple" /> Имя ивента из events.xml
			<container name="branch" lootmax="1"> - (чисто догадка) название того что можно срезать с дерева за раз, именно срезать.
			<point pos="-1.86 -2.40 0.12" range="0.55" height="1.63" flags="32" /> - точки спавна "дочерних обьектов" в данном случае яблок-прописано опять таки events.xml. Флаг 32 указывает спавн на поверхности без учёта вертикальной координаты обьекта
			<point pos="0.51 -2.40 0.85" range="0.55" height="1.63" flags="32" />
			<point pos="0.15 -2.40 -0.57" range="0.55" height="1.63" flags="32" />
			<point pos="-1.09 -2.40 1.47" range="0.55" height="1.63" flags="32" />
			</container>
</cluster>

Так это наш ивент с "траекторией! И ему соответствует целых три дерева зарегистрированных выше -
То есть по ними и будут спанится дочерние объекты,яблоки...


А где именно эти деревья?...Открываем, не не открываем, чисто поверьте, они все в файлах
mapgroupcluster01.xml

mapgroupcluster02.xml

mapgroupcluster03.xml

mapgroupcluster04.xml
Так и называются AppleTree1,AppleTree2 и т.д.

То есть хотите ввести новые точки-открываете 04 (советую именно его, остальные забиты по максимуму) и вписываете, принцип тот что и для обычного лута и mapgrouppos.

Это теория "что, где, когда и за что". Но вы же хотите "рощи грибов и поля яблок"....

 Спавн деревьев и кустарника с шиповником и прочей бузиной.
Самый сложный вопрос, так как что и каким способом делать предрешает некоторые последующие шаги. Но...по ванили.
Используемые объекты для ванили
t_malusDomestica_1s.p3d - яблоня
t_malusDomestica_2s.p3d- яблоня
t_malusDomestica_3s.p3d- яблоня          
t_pyrusCommunis_3sb.p3d - груша
t_pyrusCommunis_2s.p3d - груша
t_pyrusCommunis_3s.p3d - груша
t_prunusDomestica_2s.p3d -слива
b_rosaCanina_1s.p3d- шиповник
b_rosaCanina_2s.p3d - шиповник
b_sambucusNigra_1s.p3d - чёрная....бузина, смородина, вообщем поняли
b_sambucusNigra_2s.p3d - чёрная бузина.

 

Но заспавнить их эдитором будет....немного геморройно ввиду отсутствия присутствия их в списке. Запускаем эдитор с модом Builderitems.
Спавним к примеру bldr_plnt_t_malusDomestica_1s. Всё норм...(в принцепе если вам не нужно это дерево рубить, или сдирать с него кору можно так и оставить, всё что ниже-для перфекционистов)

gfcxvbkAcpa9qFd9kNkm.png

 

 

Вроде всё красиво, сохраняем в формат json. Получаем нечто похожее на
 

        {
            "name": "bldr_plnt_t_malusDomestica_1s",
            "pos": [
                4639.68017578125,
                341.9044494628906,
                10087.6708984375
            ],
            "ypr": [
                0.0,
                -0.0,
                -0.0
            ],
            "scale": 0.9999998807907105,
            "enableCEPersistency": 0
        }

Но нам же нужен p3d. Меняем bldr_plnt_t_malusDomestica_1s на полный ванильный аналог DZ\\plants\\tree\\t_malusDomestica_1s.p3d

Получаем
 

        {
            "name": "DZ\\plants\\tree\\t_malusDomestica_1s.p3d",
            "pos": [
                4639.68017578125,
                341.9044494628906,
                10087.6708984375
            ],
            "ypr": [
                0.0,
                -0.0,
                -0.0
            ],
            "scale": 0.9999998807907105,
            "enableCEPersistency": 0
        }

Что ж попробуем заспавнить....
wi1qboHZqbRaPNK1BXW8.png

слева - bldr , справа - что получится после замены.


Дерево "подпрыгнуло", да, это недоработка мода bilderitems и эдитора -не соответствие координат деревьев, камней и прочего. (ну и бегемоты конечно копыто своё приложили). Как его опустить- ваш выбор, кто вручную каждому дереву отнимает вертикальную координату, ( примечательно что для каждого обьекта она может быть своя), кто ищет сторонние программы-не суть, главное его приземлить. Вот три вида яблони "после приземления", грубо говоря от вертикали у каждой вычитаем 2,8. В ФАЙЛЕ!!!! и там же сохраняем.
wv8ZB4C4uJ5cJolo5Nbr.png

 

Но стоит вам к примеру удалить левое дерево и СОХРАНИТЬ файл в Эдиторе по новой-деревья опять стартуют в небо. "Великий Эдитор" как был кривой, так и остался..... Как бы то не было вы спавните нужны вам деревья.


"DZ\\plants\\tree\\t_malusDomestica_2s.p3d"
"DZ\\plants\\tree\\t_malusDomestica_3s.p3d"
"DZ\\plants\\tree\\t_malusDomestica_1s.p3d"
"DZ\\plants\\tree\\t_pyrusCommunis_3sb.p3d"
"DZ\\plants\\tree\\t_pyrusCommunis_3s.p3d"
"DZ\\plants\\tree\\t_pyrusCommunis_2s.p3d"
"DZ\\plants\\tree\\t_prunusDomestica_2s.p3d"
"DZ\\plants\\bush\\b_rosacanina_1s.p3d"
DZ\\plants\\bush\\b_rosacanina_2s.p3d"
"DZ\\plants\\bush\\b_sambucusnigra_1s.p3d"
"DZ\\plants\\bush\\b_sambucusnigra_2s.p3d"


Почему ИМЕННО эти.  Потому что они прописаны в mapclusterproto.xml, захотите другие-придётся их прописать. (не пробовал прописать bldr-деревья, но думаю возможно).

 

В результате Вы получили файл json c спавном, подключили его....Осталось или вручную вписывать в mapgroupcluster координаты деревьев
по типу

<group name="AppleTree2" pos="12641.767578 184.586121 4363.043457" a="90.000000" />
AppleTree2 название массива координат соответсвующее обьекту
12641.767578 184.586121 4363.043457- координаты этого объкта
"а"....угол поворота массива координат лута относительно объекта....вычисление описано во многих источниках (имхо-для  деревьев как то до лампады)

 

или вписать по типу как делали экспорт для обычного лута, (подробней- Справка Багемии )  


GetCEApi().ExportClusterData(); // cluster-type map groups export (fruit trees etc.)

 

Не проверял, но возможно опять таки прописать центр круга и радиус где считают координаты, что может облегчить задачу.
Получаем в папке "экспорт" (подождите, процесс немного долгий) готовые файлы mapgroupcluster  с вашими координатам, вставляем их на сервер, стриаем строчку из инит, вайпаем сервер...Всё.
(проверено, ванильные кастомные деревья так же работают и в моде на тряску деревьев).
А теперь заслушаем начальника транспортного цеха....


Запрещено копирование данной статьи без согласования с Администрацией и автором на другие ресурсы. All Rights Reserved ©

Edited by paranoyk (see edit history)

Share this post


Link to post
Share on other sites



Как всегда все полезно и интересно!
Как раз недавно полностью проходился по данной теме, кстати так и не победил, хотя по логике все вроде так же разобрал, пенял, что не спанилось из-за неправильных данных в сетке лута, где высота и др, там кстати есть нюансы, при определенных порогах лут не спавнится. В итоге решил спавнить не через Trajectory и ивентс, а обычным спавном по типу лута в домах - в целом остался доволен) Вот когда играл с сетками лута там и заметил, что не спавнился лут при недостаточной высоте или радиусе, ставлю больше - выпадает (самое интересное, что для одного объекта подходит одна высота и радиус, иной уже не хочет по тем же настройкам спавниться, при этом объекты маленькие оба по размерам), решил, что вначале с "траэкторией" такие проблемы и были, потому и не заработала...
Может у кого не сработает, попробуйте поменять эти параметры тоже, я уже не стал перепроверять, как сказал - устроил прямой спавн с пониженным лайфтаймом без ивентс, лут удаляется, и удобно ограничить номиналом, в целом разницы не вижу как спавнить, хотя может она и есть.
Кстати интересно, как регулировать чтоб не по 2 сливы падало с тех же ванильных деревьев, а по 1й к примеру, чтото я тыкал мыкал эти лутмин лутмакс, но у меня по 2 все равно падало, в итоге разбавлял спавн просто мусором разным, чтоб меньше еды было))

Edited by billylee (see edit history)

Share this post


Link to post
Share on other sites
5 часов назад, billylee сказал:

при этом объекты маленькие оба по размерам

Эт так только кажется.  Там затык такой что мама не горюй. Самый высокий лут это бочки конечно, радио ипрочее, причём...высота АКМ то ж не особо маленькая:)))

Для измнения количества-
<cluster name="AppleTree1" lootmax="2" это крутить не пробовали?

 

Share this post


Link to post
Share on other sites
1 час назад, paranoyk сказал:

<cluster name="AppleTree1" lootmax="2" это крутить не пробовали?

 

Да вот вроде его и крутил, особо то и негде. Может оно падало просто сверху потом по второму кругу, но разницы не почувствовал. Ставил по 1 везде лутмаксы.

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

<point pos="-1.86 -2.40 0.12" range="0.55" height="1.63" flags="32" />

-2.4 это у нас параметр...высоты что ли, просто она уже как бы есть по height. Подозреваю, что не понимаю, тягал первые три цыфры по сетке вслепую, чтоб выставить. А, или height это у нас параметр высоты всей сетки?

Edited by billylee (see edit history)

Share this post


Link to post
Share on other sites

Не люблю себя цитировать....
"точка спавна лута, расстояние по X-Y-Z от центральной точки "карты лута""- грубо говоря...у вас есть точка спавна в mapgroupcluster от неё и будет отсчитыватся эти координаты.
"range="0.55" height="1.63" -range="......." радиус спавна от заданной точки, то есть в этом "круге" будет спавниться лут. height="........."-высота объекта спавна,как я понял.
Если размеры лута больше то спавна не будет.
flags="32" -  указание что спавн лута будет на уровне земли игнорируя координаты по высоте.....то есть игнорируя Y.

 

Share this post


Link to post
Share on other sites

для тех, кому лень ковырять координаты ручками при перегоне из bldr в p3d, 𝔻𝕠𝕟𝕊𝕚𝕓𝕝𝕖𝕪𝔾𝕒𝕞𝕖𝕤 написал скрипт и залил его бесплатно на replit.ком, а так же существует бот для дискорда DayZ XML Injector

Share this post


Link to post
Share on other sites
1 час назад, laro сказал:

для тех, кому лень ковырять координаты ручками при перегоне из bldr в p3d, 𝔻𝕠𝕟𝕊𝕚𝕓𝕝𝕖𝕪𝔾𝕒𝕞𝕖𝕤 написал скрипт и залил его бесплатно на replit.ком, а так же существует бот для дискорда DayZ XML Injector

...у Шелби ещё много "волшебных" скриптов....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By paranoyk
      ©(краткая ода как я выносил себе мозг с помощью лута)
      Настроить лут на сервере постарались сразу после релиза ибо многое "не там и не тут"....
      Первая фигура Марлезонского балета.
       
         Файлов которые отвечают за лут прямым и коственным образом,судя по всему мнго,но настройки которые нам доступны сосредоточены в папке mpmissions\dayzOffline.chernarusplus  и mpmissions\dayzOffline.chernarusplus\db
       
      cfglimitsdefinition.xml -файл в котором обозначены категории лута, тэги спавна, классы объектов для спавна и зоны спавна.(если я правельно понял,в информатике это называеться "заданием классов" или как то так). Даллее с чем я экспериментировал.
       
              <category name="......."/> Спавнящийся лут имеет (а может и не иметь) определенную категорию и только одну. Сюда можно вписать свою категорию и давать её предметам.(в файле тайпс)
         Тэги...  в ванили
              <tag name="floor"/>
              <tag name="shelves"/>
              <tag name="ground"/>
      Лут может иметь или не иметь, для более точного "определения" что и где должно спавнится. Можно вводить свои и потом в mapgroupproto.xml вставлять в нужном мест. Если нет-спавнятся везде, если для лута есть тэг, только в тех местах где тэг присутствует .("пол"," полка","земля"-всего лишь для удобства и понимания, можно назвать тэг хоть "мистер питкин", без кирилицы ебстестенно, вводится в другом файле о чём ниже)
         Классы объектов для спавна
              <usage name="......."/> Стационарные объекты имеют в своём обозначении один или несколько таких классов имён. Легко можно прописать свой и дать его категории стационарных объектов или объекту. (правда уникальных объектов на карте-раз,два и обчёлся). Опять таки используется в тайпс. Лут может иметь или нет. (насчёт нескольких-не проверял, но не советую).
      Прописав свой к примеру "MyBox"....и потом в mapgroupproto.xml у военных контейнеров убрав все классы и оставив только этот, в нём будут спавниться только те предметы которым вы в "тайпс" пропишите данную категорию. Так же есть на карте СЕ в виде пятен, минус в том что нанесены они небрежно, результат-спавн к примеру медпредметов в машинах и киосках больницы Черногорска. Любой объект попавший в ореол получит спавн только обозначенного ореола. (после патча 1.20 стало проблематично сразу ввести новый класс, мгновенно ломается вся экономика. Приходится несколько раз пробовать с разными именами)
         Зоны спавна
              <value name="....."/> Тиры и иже с ними. Глобальные зоны на карте для определения спавна. Лут может иметь несколько или ни одного. Будет спавнится только там, если не оговорено особые условия. см опис. тайпс) И как они нанесены на карту-опять таки СЕ редактор... (картинка устаревшая).

      Они могут накладыватся друг на друга. Так же их можно редактировать в редакторе СЕ.
       
      mapgrouppos.xml - Файл в котором определяться координаты точки "карты" лута для каждого обьекта.(мдя,чего я счас сморозил то)
      То есть указывает спавнеру "в этой точке будет спанится лут по "сетке" из файла mapgroupproto " и если там ЕСТЬ описание. Это не место спавна лута конкретно, а место спавна массива координат по которым спавнится лут. Проще всего это понять если у вас есть нормальный маппинг со спавном....и убрать маппинг-лут будет спавнится в старых местах и даже висеть в воздухе. (получить все точки для "спавна" можно с помощью команд в init )
      Пример:
          <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 - название обьекта из файла mapgroupproto ,его ID...Можно написать хоть "Мой генимальный спавн". И спавнер если найдёт в mapgroupproto объект с таким названием-заспавнит лут по сетке. (вот ещё способ как модифицировать спавн лута).
      pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" - координаты центра "карты" лута для этого обьекта, совпадают с координатами обьекта
      формат записи X-Y-Z завал,наклон,поворот.
      a="........" Вектор поворота карты лута обьекта относительно самого обьекта.
      Как он определяется - экспериментально выяснил в принципе....(угол поворота объекта - 90)х(-1)...как то там ещё можно возиться переводить с +360, но я просто пишу полученное значение и всё работает.
      Да-да,именно тут прописывается что в вашей точке появляется лут и если он имеет прописанную сетку лута в mapgroupproto .(имееться ввиду в оффлайн редакторе поставив "француз"-тут вы пропишите в него лут,как прописать в он-лайн сам обьект-другая история под названием "возврат водяных колонок"). Сам объект НЕ НУЖЕН даже. Он всего лишь декорация карты и для спавна ка видите НЕ НУЖЕН.
       
      mapgroupproto.xml - Файл в котором прописана "карта" лута для объекта. Вначале идёт описание для "дефолта" ,то есть деревьев и растений,а также камней! (тут я не понял,но ...это нам и не нужно,яблоки падают и хорошо..)
      Пример:
              <group name="Land_Tisy_Barracks"> - название обьекта, ID ИЛИ придуманный вами обьект.
                      <usage name="Military" /> - класс имени обьекта,может быть не один. (а если вы ввели свои-писать именно сюда)
                      <container name="lootFloor" lootmax="8"> - имя "контейнера" и максимальное количество лута которое может там появиться.(количество лута может быть и не обозначено,но если есть-никогда не будет больше чем количество точек спавна что ниже. НЕ РАБОТАЕТ- можно даже не мучатся, есть подозрения что количество лута ни как не изменить именно этой переменной для обьекта. )
                              <category name="tools" /> - класс лута который будет спавниться в данном "контейнере" ,может быть не один.                      
                             <tag name="ground" /> - тэг лута который будет спавнится.(может быть несколько). Спавн лута с этим тэгом. Если у лута нет тэга-спавн ТОЖЕ.
                              <point pos="-2.429444 -3.799637 3.698242" range="1.199951" height="2.000000" flags="32" /> - точка спавна лута, расстояние по X-Y-Z от центральной точки "карты лута" (где она,можно выяснить только эксперементально для каждого обьекта или в редакторе или...с помощью мода).
      range="......." радиус спавна от заданной точки, то есть в этом "круге" будет спавниться лут.(не точно,если обьект имеет большие линейные размеры-не заспанится)
      height="........."-высота объекта спавна,как я понял....(не точно,если обьект имеет большие линейные размеры-не заспавнится)
      flags="32" -  указание что спавн лута будет на уровне земли игнорируя координаты по высоте. Грубо говоря к примеру если спавн вокруг елки рождественской -весь лут будет лежать на земле. Вокруг ёлки. Или округ "воображаемой точки", если надо.
      ниже всё тоже самое, но для своего "контейнера" данном здании.То есть обьект может иметь несколько контейнеров.
      </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"> - шанс появления  и его название.
      Тут маленькое отступление. Поначалу я тоже думал что это какие то проценты, да так легче воспринимать. Но таки и немного не так. Просто опишу как спавнер "думает".
      "Обьект имеет спавна внутри, получаем псевдослучайное число от 0 до 1. Сравниваем. Псевдочисло больше-нет спавна, иначе-спавн есть". Будем привычно называть его "шанс" и обозначим его как проценты, но ещё раз это НЕ ПРОЦЕНТЫ в прямом смысле.
                      <item name="SodaCan_Cola" chance="0.11" /> - название (ID) предмета и его шанс выпадения
      .......................................................................
                      <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 - Список тех вещей, "контейнеры" в которых спавняться наборы из прошлого файла.
      Так же можно прописать спавн в контейнер отдельной вещи.
      И самое важное!
      Именно тут можно указать степень износа заспавненых вещей по отдельности, если степень износа не указана-вещь будет иметь износ зданный в файле globals.xml, это строчки:
      "LootDamageMax" и "LootDamageMin" .
      Но это не относится что спавнится в них, то есть наборы грузов, аттачменты и сами грузы в контейнере всегда будут "идеальны".....(но контейнером может стать и обычная вещь!)
      Тут же прописывается аттачменты если они есть и вы хотите заспавнитьвещь с прикреплёным аттачем.
          <type name="ammobox"> - название (ID) вещи-контейнера.
          <damage min="0.0" max="0.0" /> - этой строчки может и не быть, тогда износ будет взят из "глобалс". Означает что лут будет иметь при спавне не меньше едениц урона и не больше. То есть если выствите
      min=0.2 то лут всегда будет всегда иметь при спвне 20% урона. Не меньше, максимальный урон это max, поставите к примеру 0,9 то вещи даже заруиненые будут спавнится.
      Пороги когда вещь считается неповреждённой,а когда поношеной и тк.дл.-в другом файле и меняется уже сервер модом.
           <cargo preset="optics" /> -название набора который может появиться внутри с шансом( как было описано выше)....
      ........................................
              <cargo preset="ammoArmy" />
          </type>
      То есть можно прописать несколько наборов и если из каждого заспавниться вещь,то ограничение только "размер" контейнера и вещей.
      Так же тут есть наборы аттачей для зомби, о них ниже, собраны примерно также.
       
      Вторая фигура Марлезонского балета.
       
      <type name="ZmbM_PatrolNormal_Autumn"> <cargo preset="foodArmy" /> <cargo preset="ammoArmy" /> </type>   Вот вам и первый "ходячий" контейнер.....Увеличив к примеру в cfgrandompresets.xml шанс выпадения данных наборов-получите "доставщиков пиццы на дом".
      Но не в каждом зомби такой набор и опять таки,вы можете их менять,добавлять,убирать....
      А так же для зомби тут прописано что них может быть одето в виде аттачей. Не все зомби такое могут,смотреть нужно по ванильным файлам.
      Пример:
      <type name="ZmbM_HunterOld_Winter">-наш подопытный <cargo preset="foodHermit" />-набор лута в зомби <cargo preset="toolsHermit" />-набор лута в зомби <attachments preset="glassesVillage" />-какой набор может прирепится на местоаттача (очки в данном случае) <attachments preset="hatsFarm" />-какой набор может прирепится на местоаттача (кепка в данном случае) <attachments preset="bagsHunter" />-какой набор может прирепится на местоаттача (рюкзак в данном случае) <attachments preset="vestsHunter" />-какой набор может прирепится на местоаттача (разгрузка\броник в данном случае) </type> (очки ни когда не прописывайте-не работают)
       
         А дальше-оружие...(так,дышите глубже)
       
          <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"> <damage min="0.0" max="0.5" /> <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....и они,гады спавняться всегда как прописано в globals.....Стоит добавить
          <type name="Izh18">
               <damage min="0.0" max="0.2" />
          </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>
       
      (в этом же файле,ПОЗЖЕ,появились и рождественские наборы...но было уже поздно-бегемоты должны быть повешаны!)
      Дальше мы можем мелочь привесть к предметам,обычно это батарейка
      Но можно и "предмет в предмете"! Поле для извращений-огромно.
      Как пример:
       
      <type name="PersonalRadio"> <attachments chance="0.30"> <item name="Battery9V" chance="1.00" /> </attachments> </type> <type name="GPSReceiver"> <attachments chance="0.30"> <item name="Battery9V" chance="1.00" /> </attachments> </type> Файлы с названием по типу mapgroupcluster.xml -это тот же mapgrouppos для камней, грибов,яблок и прочего.
      Глыбжее,ширее,нижее. Преходим в папку db
       
      events.xml - файл в котором описаны "случайные"  события,такие как зомби,полицейская волга, хеликраш, адми...тоесть петух!, ну и прочие коровы и звери.
      Например
       
          <event name="AnimalCow"> -название ивента. Можно прописывать свои НО! Название ивента может начинатся ТОЛЬКО строго определенно.
      аnimal - события с животными.
      static - для спавна статичных ивентов типа Ми-8 или дома...
      item - Для различных игровых предметов,как пример в ванили - блок досток.
      Infected-зомби
      Trajectory - спавн грибов,ягод и прочих камней
       
      <nominal>10</nominal> - Колличество ивентов на карту единомоментно.То есть сразу. Именно ИВЕНТОВ. Десять машин, десять СТАЙ волков, десять ТОЧЕК спавна зомби....(может и меньше если невозможно заспавнить ивент из-за других условий, к примеру наличие игрока на спавне)

      <min>6</min> -  минимальное количество дочерних объектов указанных в <children> в ивенте
      <max>15</max> - максимальноеколичество дочерних объектов указанных в <children> в ивенте
      (обычно для стай волков и прочих живых организмов)
      Причем от 6 до 15 ВСЕХ вписанных <children>. А вот сколько конкретно каждого,это  уже в них настраивается

       <lifetime>180</lifetime> - "время жизни" события Именно СОБЫТИЯ. То есть заспавнаня ивентом машина-пока стоит на точке спавна-это СОБЫТИЕ,как только вы отехали-это уже лут и время её жизни будет считыватся с (не кночи будет помянут сей файл) тайпса.

       <restock>0</restock> - на сколько будет отложен спавн ивента до номинала, когда остальные условия для начала ивента выполнены.
      Думате если два хеликраша они исчезнут и заспавнятся одновременно? Ага,счасЗъ. Тут зависит от много,даже от взаимодействия с ними игрока.

      <saferadius>200</saferadius> - это расстояние от позиции игрока, на котором может возникнуть это событие.(поставте для интреса 50 для зомби:)))
       <distanceradius>0</distanceradius> - минимальное расстояние от другого события.(очень актульно для машин, решать вам)
      <cleanupradius>0</cleanupradius> - это расстояние от позиции игрока, на котором событие исчезнет после того, как время жизни закончится. (добвлено- для хеликрашей имхо лучше ставить ОЧЕНЬ большое,с хороший километр)
      <secondary>InfectedArmy</secondary> - это имя другого события, которое вы хотите вызвать одновременно с этим событием, например, чтобы вызвать зомби вокруг здания или предмета. Настраивается в дочернем событии.(можно создать свой, но смешать зомбей с волками-не получится, генетика не та)
      <flags deletable="0" init_random="0" remove_damaged="1" sec_spawner="0"/> -флаги настройки
      deletable 1/0 - ивент удалятеся согласно параметрам самого события или по истечению времени в тайпс (не точно)...ИМХО
      init_random 1/0 - ???
      remove_damaged 1/0 -  будет ли событие удаляться если достигла состояния "уничтожено" или останется лежать до истечения срока события.(актуально для машин...но ТОЛЬКО НА ТОЧКЕ СПАВНА!)
      sec_spawner="0" - сорри не знаю, а чего не знаю-не меняю.
      <position>fixed</position>
      <position>player</position> - позиция будет выбираться из зафиксированых в файле cfgeventspawns.xml или событие срабатывает "на игрока".

      <limit>.......</limit> - может быть следующии
      custom - относится к внешнему файлу, например, для территорий животных.
      child - событие будет обращатся к атрибутам min и max каждого дочернего элемента
      parent - lотносятся к минимальным и максимальным атрибутам самого события
      mixed -  будет учитыватся и дочерние и собсвенное min-max события
       
      <active>1/0</active> - включение и выключение события.(Вот она кнопка!)
       
       <children>
                  <child lootmax="0" lootmin="0" max="3" min="0" type="Animal_BosTaurusF_Brown"/>
      lootmax="0" lootmin="0" ....если предмет имеет сетку лута или контейнер -колличество лута при спавне (а теперь фокус, если в ивенте есть <secondary> с зомбями то их колличество будет равно.... мин + макс)
      max="3" min="0" ......минимальное и максимальное колличество дочерних обьектов. (к примеру-коров данного типа в стаде)
       
      types.xml-великий и ужасный.Содержит в себе данные о всём спавнещемся луте и контейнерах (хеликраши,машины,зомби-по сути-контейнеры).
      Всякий лут должен быть в этом файле иначе-нет его спавна на карте. Также и синтаксическая ошибка в этом файле приводит к исчезновению всего лута с карты.
      Если из него убрать что-то,(но этот предмет останеться лежать на земле до истечения срока)....и игрок его поднимет-краш.Так что файл требует трезвого ума и терпения.
       
          <type name="Canteen"> - Название ID предмета
              <nominal>30</nominal> -номинальное колличество спавна на карте к которому стремиться "спавнер".
              <lifetime>7200</lifetime> - время "лежания" предмета после спавна ( а также судя,по всему-время после падения на землю с игрока).в сек. (на параметр не влияет ускорение времени на сервере, но влияет параметр из скриптс-"колличество тактов в секунду")
              <restock>0</restock> - на сколько будет отложен спавн предмета до номинала, когда остальные условия для начала спавна выполнены. "задержка спавна".
              <min>20</min>- минимальное колличество предмета на карте после которого начинаеться работа спавнера.
              <quantmin>-1</quantmin> - если предмет "бутылка-магазин"-степень его наполнения минимальная - Для остальных значение -1
              <quantmax>-1</quantmax> - если предмет "бутылка-магазин"-степень его наполнения минимальная - Для остальных значение -1
             (теперь это значение работает и для оружия у котрого нет "сьёмного" магазина, типа СКС или 133 ружжа)
              <cost>100</cost> - приоритет спавна грубо говоря. чем меньше-тем ниже будет вещь в очереди.
              <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> -Флаги спавнера, они указывают в каких типах объектов считать nominal и min значения:
      count_in_cargo - считает все предметы в контейнерах, ящики, рюкзаки, включая автомобили
      count_in_hoarder - будет считаться в таких вещах как закопанные предметы, бочки, сундуки и всевозможные палатки
      count_in_map - объекты, размещенные на карте (здания)
      count_in_player - внутри инвентаря игроков, исключая руки (учёт для игроков онлайн, проверяется)
      crafted - указывает на то, что данный предмет может быть закрафчен игроками
      deloot - указывает что это объекты для спавна на динамических ивентах (событиях). (хеликрашыи, крушения поездов, дтп и прочее)
              <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> Теперь в лучшем случае дробаш там будет.
       
      Ну,как то так....

      Запрещено копирование данной статьи без соглосование с Администрацией и автором на другие ресурсы. All Rights Reserved
    • By blackredghost
      Здравствуйте! Пытаюсь запустить сервер в Arma 3. Файлы миссии достались мне от разраба, который сейчас в очень тяжелом материальном положении.
      Я плохо понимаю в Arma 3. Я БУДУ ОЧЕНЬ БЛАГОДАРЕН, если поможете мне разобраться как починить эту хрень. ДАЖЕ ДЕНЕГ ЗАПЛАЧУ!
      Вот
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By vitacite
      В связи с большим числом неадекватных пользователей - принял решение удалить. Нет никакого желания более кому-то чего-то рассказывать.
       
       
  • Our picks

×
×
  • 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.