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

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

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

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

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

Добавление на карту зданий и спавн в них лута

Recommended Posts

Как добавить здания на карту? И как прописать в них спавн лута?

Несмотря на то, что задача видится единой,  вопросов по её решению, как очевидно, два.

 

1) КАК ДОБАВИТЬ ЗДАНИЯ НА КАРТУ:

шаг первый: проходим по ссылке и скачиваем offline-админку https://vk.com/fidovpublic?w=wall-94007758_3744 или сразу с яндекс-диска https://yadi.sk/d/vL_KvUQ4di38Hw (версия 1.3.1) https://yadi.sk/d/dIbbc1GFkUrD7A (версия 1.2); 

Шаг второй: устанавливаем, заходим, нажимаем Y, выбираем "ОБ" (то есть объекты), "постройки", размещаем объект на земле, кликаем по наименованию в окне, теперь скролом колесика мыши по координатам - можно подвинуть влево/вправо, вперед назад, вниз/вверх,далее нажимаем на значок "экскаватор" (открывается дополнительное окно ниже), в нем так же скролом наклоняем или разворачиваем объект, можем сохранить и после рестарта объекты будут стоять на том же месте.

Шаг третий: нажимаем экспорт и идем в notepad++, нажимаем ctrl+V (вставляем из буфера обмена код с нашими зданиями и их координатами). Выглядит это так: GetGame().CreateObject("Land_Container_1Moh", "446.953156 422.951996 11226.987305").SetOrientation("132.000000 0.000000 0.000000");

Шаг четвертый: открываем файл init.c (Server\mpmissions\dayzOffline.chernarusplus\init.c), находим void main() {…., опускаемся ниже до строчки weather.SetWindFunctionParams(0.1, 0.3, 50); После нее прописываем

Object obj;

GetGame().CreateObject("Land_Container_1Moh", "446.953156 422.951996 11226.987305").SetOrientation("132.000000 0.000000 0.000000"); 

( поставьте свои координаты чтобы Вам было удобно проверить или может скачать файл с несколькими новыми военными базами у меня https://yadi.sk/i/c_RH9woVKvIsvQ ) 

загрузить здания без лута - для этого вам будет уже достаточно вышеприведенного текста, если вы, например, готовите базу для игроков, либо дополняете локации нелутабельными объектами, создаете красоту и атмосферу. Если же Вам нужен лут, то переходим вместе со мной к этапу №2 и пытаемся вместе разобраться.

 

2) КАК ДОБАВИТЬ ЛУТ В ЗДАНИЯ? (Я ПРОШУ УЧАСТНИКОВ ФОРУМА ПОМОЧЬ В ЭТОМ)

приведу несколько статей на этой счет:

статья первая: "генерация новых точек для спавна лута в зданиях"

Следуя директивам: так же в init.c вставляем код
находим "class CustomMission: MissionServer" (он идет сразу после добавленных нами зданий)
и в этот класс вставляем void OnInit () { текст } (текст указан ниже)
вот так вот:

class CustomMission: MissionServer
{    
    void OnInit () 
    {
        CETesting TestHive = GetTesting();
        TestHive.ExportProxyProto();
        TestHive.ExportProxyData( "7500 0 7500", 7000 ); 
    }

};

запустите сервер и подождите примерно 30-60 секунд после прочтения миссии!
как только вы видите это в консоли: [ce][mapexport]:: entity found:13722, entity valid:8983, types total: 224... took 33 sec. 
перейдите в папку хранения в миссии, откройте его, и вы должны увидеть новую папку с именем "export" внутри него будет содержать копию 2 xml и заменить старые с новыми, когда получишь 2 файла удали код который добавил при следующем запуске сервера

 

и еще три статьи на одну тему

Статья вторая: Вы должны добавить здание в mapgrouppos.xml с той же позицией. Тогда у вас должен появиться там спавн лута, пишет автор статьи. Ссылка на статью https://forums.dayz.com/topic/240272-dayz-map-mod/
Статья третья: Я "игрался" с кодом и добавил некоторые записи в mapgrouppos.xml, но я понял, что это определение экземпляров макетов лута для каждой строительной сетки (т.е. у меня был лут, плавающий в воздухе, без зданий под ним и вокруг него) тут админ, видимо, забыл про файл init.c и сами здания отсутствовали. Ссылка на статью 

 

Статья четвертая: В mapgrouppos.xml указаны все точки спавнов. Ссылка на статью 

идем в mapgrouppos.xml

DayZCommunityOfflineMode / Missions / DayZCommunityOfflineMode.ChernarusPlus /mapGroupPos.xml

и видим там все здания в координатами

<group name="Land_Misc_FeedShack" pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" a="160.013718" />

<group name="Land_Misc_FeedShack" pos="80.250587 411.261566 10449.115234" rpy="-0.000000 0.000000 -58.923214" a="148.923203" />

а наш код, выгруженный из offline админки 

GetGame().CreateObject("Land_Container_1Moh", "446.953156 422.951996 11226.987305").SetOrientation("132.000000 0.000000 0.000000");
GetGame().CreateObject("Land_Container_1Moh", "451.626770 423.004059 11222.603516").SetOrientation("-45.999992 -0.000000 0.000000");

Только вот что такое "rpy" и "a" я не знаю, могу предположить что

"rpy" это есть SetOrientation а "а" это градус поворота, но как это выгрузить из offline админки я ума не приложу

Оставляю на Ваше изучение, использование и дополнение (прошу помочь)

 

Share this post


Link to post
Share on other sites



И так, вот код с оффлайна
 

obj = GetGame().CreateObject("Land_City_Stand_FastFood", "8157.828613 475.809326 9090.811523");
obj.SetOrientation("-115.000000 0.000000 0.000000");
obj.SetPosition("8157.828613 475.809326 9090.811523");

 А вот с mapGroupPos 
 

<group name="Land_City_Stand_FastFood" pos="8157.828613 475.809326 9090.811523" rpy="0.000000 0.000000 -115.000000" a="-110.838165" />

pos="" - это координаты по широте, долготе и высоте
rpy="" - это радиус вращения, только в отличии от оффлайна координаты нужно вставить зеркально
a="" - пока не понял, но взял координат именно с такой же постройки

 И всё лут появится

Edited by adler14k (see edit history)

Share this post


Link to post
Share on other sites

Народ

Подскажите класснеймы зданий

В 062 они назывались

 

Пожарка

Land_A_Stationhouse

5этажка

Land_Tenement_building_small

9 этажка

Land_Tenement_building_Big

 

Шпиль или как там его из 3х частей - телебашня которая

 Land_A_TVTower_Base
 Land_A_TVTower_Mid
 Land_A_TVTower_Top
 

Диспетчерская с СЗ

Land_Mil_ControlTower

 

Land_A_Castle_Bastion

 

Share this post


Link to post
Share on other sites

ACTPA 

obj.GetPosition - это Pos= 

 

obj.GetOrientation - это rpy=

 

obj.GetDirection - это походу a=

Да взять скриптом в лог данные

 

 

З.Ы.

 

 /**
 \brief Retrieve orientation (yaw, pitch, roll) in <b>degrees</b>
 \return vector of yaw, pitch and roll angles (x = yaw, y = pitch, z = roll)
 */
 proto native vector GetOrientation();

 

 //! Retrieve direction vector
 proto native vector GetDirection();
 

Edited by BorizzK (see edit history)

Share this post


Link to post
Share on other sites
47 минут назад, BorizzK сказал:

ACTPA 

obj.GetPosition - это Pos= 

obj.GetOrientation - это rpy=

obj.GetDirection - это походу a=


 

я действительно просто взял этот "а" из такого же объекта и поменял "зеркально" координаты ориентирования и все работает. Я только что проверил. Проблем нет.  Спасибо за ответы.

Share this post


Link to post
Share on other sites
56 минут назад, BorizzK сказал:

Диспетчерская с СЗ

Land_Mil_ControlTower

Land_Mil_ATC_Big

Share this post


Link to post
Share on other sites
57 минут назад, ACTPA сказал:

что значит зеркально?

написано rpy="0.000000 0.000000 -115.000000"

а ставить rpy="-115.000000 0.000000 0.000000" ?????

В оффлайне написано -115.000000 0.000000 0.000000
А в mapGroupPos нужно 0.000000 0.000000 -115.000000

Share this post


Link to post
Share on other sites
Только что, adler14k сказал:

В оффлайне написано -115.000000 0.000000 0.000000
А в mapGroupPos нужно 0.000000 0.000000 -115.000000

Большое спасибо. Я проверил у в=меня все работает. Надеюсь эта будет для всех актуальна

Share this post


Link to post
Share on other sites
Только что, ACTPA сказал:

Большое спасибо. Я проверил у в=меня все работает. Надеюсь эта будет для всех актуальна

Да не за что, сам тестил и на тестил

А "rpy" - это получается вектор поворота по осям

Share this post


Link to post
Share on other sites
2 минуты назад, BorizzK сказал:

ACTPA 

Как бы вытащить вообще все класснеймы из игры...

я пользовался только тем что имеется в оффлайн админках, если найду, напишу тебе 

Share this post


Link to post
Share on other sites

ACTPA буду балагодарен

В sqf была функция выводившая в лог или массив все класснеймы актуальных обьектов, я их через админменю книжное перебирал, ставил, ориентировал итдитп

А то все никак пвп зоны не дострою

 

Share this post


Link to post
Share on other sites

 

4 минуты назад, BorizzK сказал:

ACTPA буду балагодарен

я их через админменю книжное перебирал, ставил, ориентировал итдитп

 

смотри https://dayz.gamepedia.com/ATC_Tower объект называется Land_Mil_ATC_Big а как я это понял? открываем фотку. а там написано Land_Mil_ATC_Big

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Share this post


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

Народ

Подскажите класснеймы зданий

В 062 они назывались

 

Пожарка

Land_A_Stationhouse

5этажка

Land_Tenement_building_small

9 этажка

Land_Tenement_building_Big

 

Шпиль или как там его из 3х частей - телебашня которая

 Land_A_TVTower_Base
 Land_A_TVTower_Mid
 Land_A_TVTower_Top
 

Диспетчерская с СЗ

Land_Mil_ControlTower

 

Land_A_Castle_Bastion

 

Пожарка - Land_City_FireStation
Диспетчерская с СЗ - Land_Mil_ATC_Small ------- (2 вида) ---- Land_Mil_ATC_Big
5 этажей - Land_Tenement_small
9 этажей - Land_Tenement_Big
Шпиль 
Land_Tower_TC2_Base

Land_Tower_TC2_Mid

Land_Tower_TC2_Top

Share this post


Link to post
Share on other sites
9 минут назад, BorizzK сказал:

ACTPA 

О

Данке шон

Так есть же оффлайн админка со всем списком предметов и их привью. Там же можно поставить и указать все вектора и даже экспорт 

Share this post


Link to post
Share on other sites

adler14k Скачал

Не запускался пока в include в путь не добавил $CurrentDir:\\ тк он в последних версиях это поменяли

запускаю

по Y админменю нет

Share this post


Link to post
Share on other sites
49 минут назад, BorizzK сказал:

adler14k Скачал

Не запускался пока в include в путь не добавил $CurrentDir:\\ тк он в последних версиях это поменяли

запускаю

по Y админменю нет

В батнике миссии -filepatching нужно было дописать 

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

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