Product description
Загрузочные телепорты - объекты, эмитирующие переход в другую локацию, подземелье, лабораторию и тд
Особенности:
- возможность в зависимости от конфигурации маппить или искать на карте заранее замаппленные объекты по координатам;
- возможность добавлять свои объекты для телепортации по шаблону;
- возможность добавлять каждому объекту несколько пунктов назначения (точек для телепортации);
- возможность задавать наименование и описание действия для каждого пункта назначения;
- возможность задавать требуемую оплату за телепотацию для каждого пункта назначения;
- возможность задавать публичные (точки входа и выхода) и приватные звуки с желаемой в секундах задержкой проигрываниядля каждого пункта назначения;
- возможность задавать "время перехода", в которое игрок не будет ничего видеть и не сможет двигаться для каждого пункта назначения.
Технические особенности:
- мод разделен на клиент - серверную и серверную части;
- мод не требует доп. модов и зависимостей;
- объекты для телепортации добавляются вручную через модификацию основного мода. Шаблон предоставляется вместе с основным модом;
- мод создает папку LoadingTeleports в папке профиля сервера с шаблономи конфигурации в формате json;
- мод проверен и оттестирован на версии 1.20.
Инструкции:
Установка:
1. Добавте файлы мода @LoadingTeleport в свой мод пак
2. Закиньте файлы мода @LoadingTeleportServer через FTP или иным способом на ваш хостинг.
3. Запустите сервер и дождитесь запуска миссии и пояления папки LoadingTeleport в папке профиля сервера. Выключите сервер.
4. Опционально добавьте свои объекты для телепортации по шаблону в LoadingTeleportsExt/config.cpp. Для этого вам нужны будут p3d модели и/или ссылки на них.
5. Опционально добавьте свои звуки (SoundSet) по шаблону в LoadingTeleportsExt/config.cpp. Для этого вам нужны будут ogg файлы и/или ссылки на них.
6. Опционально запакуйте, подпишите и добавьте модификацию LoadingTeleportsExt к своему мод паку.
7. Заполните конфигурацию config.json вашими добавленными объектами в LoadingTeleportsExt (см. инструкцию)
8. Заполните конфигурацию config_external.json (см. инструкцию)
9. Запустите сервер. Играем.
Конфигурация config.json:
{ "m_Configuring": 0, //(bool) включение режима конфигурирования. При маппинге объектов, которые еще не описаны в config.json, создает файл (objects_{датазапускасервера}.json) в папке профиля сервера для упрощения конфигурирования "m_Logging": 1, //(bool) включения вывода информации о поиске или спавне объекта в серверный лог "m_Teleports": [ //(array<object>) список - массив объектов для телепортации, наследующие LoadingTeleportBase { "m_Type": "Fridge_TP_To_1", //(string) тип/класс объекта "m_Position": [6314.14990234375, 92.0, 687.72900390625], //(vector) координата объекта "m_Orientation": [-43.00053787231445, 14.001262664794922, 49.99701690673828], //(vector) ориентация объекта "m_ToSpawn": 1, //(bool) флаг. Если = 1,то объект будет заспавнен. Если = 0, то объект будет искаться на карте "m_Destinations": [ //(array<object>) список точек назначения телепортации { "m_Position": [6348.11376953125, 92.14241790771485, 692.9767456054688], //(vector) координата, куда будет телепортирован игрок "m_Orientation": [77.72325134277344, 0.0, -0.0], //(vector) как будет ориентирован игрок после телепортации "m_ActionName": "Вход в кривой холодос", //(string) наименование действия для взаимодействия с объектом. "m_ActionDesc": "Можно зайти бесплатно", //(string) опционально. Описание действия, выводиться в чате при наведении на объект и выборе действия. Если поле пустое (""), то вывода не будет. "m_Fadetime": 3, //(int) "время перехода" в секундах "m_Payment": { //(object) опционально. Конфигурация оплаты за телепорт. "m_RequiredInHands": 0, //(bool) требование наличия предмета в руках персонажа "m_Type": "", //(string) тип/класс объекта требуемого для телепортации "m_DeleteInHandsOnSuccess": 0, //(bool) флаг удаления объекта в руках при успешной оплате "m_Durability": 0.0, //(float) требуемуя относительная (от 0 до 1) прочность объекта. Может быть указано больше 1, тогда будет искаться несколько объектов. Если = 0, то не учитывается в требованиях. "m_Quantity": 0.0, //(float) требуемуе абсолютное количество объекта. Если указано больше, чем количество одного, тогда будет искаться несколько объектов. Если = 0, то не учитывается в требованиях. "m_Count": 0, //(int) требуемуе число объектов. Если = 0, то не учитывается в требованиях. "m_MessageOnSuccess": "", //(string) сообщение после успешной оплаты "m_MessageOnFail": "" //(string) сообщение при несоответствии требований оплаты }, "m_Sounds": { //(object) конфигурация публичных и приватных "m_PublicIn": [ //(array<string>) список soundset для проигрывания звука в точке входа. Выбирается при каждом использовании рандомно. "pickUpPowerGenerator_SoundSet" ], "m_PublicOut": [ //(array<string>) список soundset для проигрывания звука в точке выхода. Выбирается при каждом использовании рандомно. "powergenerator_drop_SoundSet" ], "m_PrivatePlayer": [ //(array<string>) список soundset для проигрывания звука на только клиенте игрока при использовании. Выбирается при каждом использовании рандомно. "pickUpPowerGenerator_SoundSet" ], "m_PublicInDelay": 0.0, //(float) задержка проигрывания публичного звука в точке входа в сек "m_PublicOutDelay": 3.5, //(float) задержка проигрывания публичного звука в точке выхода в сек "m_PrivatePlayerDelay": 2.0 //(float) задержка проигрывания звука на клиента игрока в сек } } ] } ] }
Конфигурация config_external.json:
{ "m_Logging": 1, //(bool) включения вывода информации о поиске или спавне объекта в серверный лог "m_Teleports": [ //(array<object>) список - массив объектов любых для телепортации { "m_Type": "SurvivorM_Boris", //(string) тип/класс объекта. Может быть NPC или любой другой объект, не наследующий LoadingTeleportBase "m_Attachments": [ //(array<object>) опционально. Спискок объектов для кастомизации объекта при спавне (NPC) { "m_Type": "AK74", //(string) тип/класс объекта. "m_InHands": 1, //(bool) опционально. Должен ли быть объект в руках. Можно добавить только один объект. "m_Health": 0.0, //(bool) опционально. Относительный уровень прочности объекта. Используется только для внешнего вида. "m_Attachments": [ //(array<object>) опционально. Спискок объектов для кастомизации текущего объекта { "m_Type": "AK74_Hndgrd_Camo", "m_InHands": 0, "m_Health": 0.0, "m_Attachments": [] }, { "m_Type": "AK74_WoodBttstck_Camo", "m_InHands": 0, "m_Health": 0.0, "m_Attachments": [] }, { "m_Type": "Mag_AK74_30Rnd", "m_InHands": 0, "m_Health": 0.0, "m_Attachments": [] } ] } ], "m_Position": [6308.8291015625, 92.14250183105469, 733.6327514648438], //(vector) координата объекта "m_Orientation": [169.5727996826172, 0.0, -0.0], //(vector) ориентация объекта "m_ToSpawn": 1, //(bool) флаг. Если = 1,то объект будет заспавнен. Если = 0, то объект будет искаться на карте "m_Destinations": [ //(array<object>) список точек назначения телепортации. Такая же логика как в сonfig.json { "m_Position": [ 6314.3369140625, 92.14250183105469, 701.36865234375 ], "m_Orientation": [ -161.43849182128907, 0.0, -0.0 ], "m_ActionName": "Отведу далеко", "m_ActionDesc": "35 зеленых патронов 12го калибра", "m_Fadetime": 3, "m_Payment": { "m_RequiredInHands": 0, "m_Type": "Ammo_12gaSlug", "m_DeleteInHandsOnSuccess": 0, "m_Durability": 0.0, "m_Quantity": 35.0, "m_Count": 0, "m_MessageOnSuccess": "", "m_MessageOnFail": "Чтобы телепортироваться нужно 35 зеленых патронов 12го калибра" }, "m_Sounds": { "m_PublicIn": [], "m_PublicOut": [], "m_PrivatePlayer": [], "m_PublicInDelay": 0.0, "m_PublicOutDelay": 0.0, "m_PrivatePlayerDelay": 0.0 } } ] } ] }
Дополнительное видео - разъяснение от Judas, за что ему отдельная благодарность:
Loading teleports are objects, teleporting player character to another location, e.g. dungeon, laboratory, etc.
Features:
- the ability, depending on the configuration, to map or search on the map for pre-mapped objects by coordinates;
- the ability to add your own objects for teleportation according to the template;
- the ability to add several destinations to each object (points for teleportation);
- the ability to set the name and description of the action for each destination;
- the ability to set the required payment for teleportation for each destination;
- the ability to set public (entry and exit points) and private sounds with the desired playback delay in seconds for each destination;
- the ability to set a "transition time" in which the player will not see anything and will not be able to move for each destination.
Technical features:
- the mod is divided into client - server and server parts;
- mod does not require additional mods and dependencies;
- objects for teleportation are added manually through the modification of the main mod. The template is provided along with the main mod;
- the mod creates a LoadingTeleports folder in the server profile folder with a configuration template in json format;
- Mod is debuged and tested on version 1.20.
Instructions:
Installation:
1. Add @LoadingTeleport mod files to your modpack
2. Upload @LoadingTeleportServer mod files via FTP or in other way to your hosting.
3. Start the server and wait for the mission to start and the LoadingTeleport folder is appeared in the server profile folder. Shut down the server.
4. Optionally add your objects for template teleportation to LoadingTeleportsExt/config.cpp. To do this, you will need p3d models and / or links to them.
5. Optionally add your sounds (SoundSet) according to the template in LoadingTeleportsExt/config.cpp. To do this, you will need ogg files and / or links to them.
6. Optionally pack, sign and add the LoadingTeleportsExt modification to your modpack.
7. Fill in the config.json configuration with your added objects in LoadingTeleportsExt (see instructions)
8. Fill in the config_external.json configuration (see instructions)
9. Start the server. Play.
config.json configuration:
{ "m_Configuring": 0, //(bool) enables configuration mode. When mapping objects that are not yet described in config.json, creates a file (objects_{serverstartdate}.json) in the server profile folder to simplify configuration "m_Logging": 1, //(bool) enables the display of information about the search or spawn of an object in the server log "m_Teleports": [ //(array<object>) the list - the array of objects to teleport that inherit LoadingTeleportBase { "m_Type": "Fridge_TP_To_1", //(string) object type/classname "m_Position": [6314.14990234375, 92.0, 687.72900390625], //(vector) object coordinate - position "m_Orientation": [-43.00053787231445, 14.001262664794922, 49.99701690673828], //(vector) object orientation "m_ToSpawn": 1, //(bool) flag. If = 1, then the object will be spawned. If = 0, then the object will be searched on the map "m_Destinations": [ //(array<object>) the list of teleportation destinations { "m_Position": [6348.11376953125, 92.14241790771485, 692.9767456054688], //(vector) coordinate where the player will be teleported "m_Orientation": [77.72325134277344, 0.0, -0.0], //(vector) how the player will be oriented after teleportation "m_ActionName": "Entering cold curve", //(string) name of the action to interact with the object. "m_ActionDesc": "You can enter for free", //(string) optional. Description of the action, displayed in the player chat when hovering over an object and selecting an action. If the field is empty (""), then there will be no output. "m_Fadetime": 3, //(int) "fadetime" in seconds "m_Payment": { //(object) optional. Teleport payment configuration. "m_RequiredInHands": 0, //(bool) requirement to have an item in the character's hands "m_Type": "", //(string) type/class of the object required for teleportation "m_DeleteInHandsOnSuccess": 0, //(bool) flag to remove an object in hands upon successful payment "m_Durability": 0.0, //(float) the required relative (from 0 to 1) durability of the object. More than 1 may be specified, in this case multiple objects will be searched. If = 0, then it is not taken into account in the requirements. "m_Quantity": 0.0, //(float) required absolute quantity of the object. If more than one object can contain, then serveral objects will be searched. If = 0, then it is not taken into account in the requirements. "m_Count": 0, //(int) required number of objects. If = 0, then it is not taken into account in the requirements. "m_MessageOnSuccess": "", //(string) message after successful payment "m_MessageOnFail": "" //(string) message when payment requirements are failed }, "m_Sounds": { //(object) configuration of public and private "m_PublicIn": [ //(array<string>) soundset list to play the sound at the entry point. Selected randomly on each use. "pickUpPowerGenerator_SoundSet" ], "m_PublicOut": [ //(array<string>) soundset list to play the sound at the out point. Selected randomly on each use. "powergenerator_drop_SoundSet" ], "m_PrivatePlayer": [ //(array<string>) a list of soundsets to play the sound on only the player's client when used. Selected randomly on each use. "pickUpPowerGenerator_SoundSet" ], "m_PublicInDelay": 0.0, //(float) public delay at entry point in seconds "m_PublicOutDelay": 3.5, //(float) public delay at the exit point in seconds "m_PrivatePlayerDelay": 2.0 //(float) delay playing sound on the player client in seconds } } ] } ] }
config_external.json configuration:
{ "m_Logging": 1, //(bool) enables the display of information about the search or spawn of an object in the server log "m_Teleports": [ //(array<object>) the list - the array of any objects for teleportation { "m_Type": "SurvivorM_Boris", //(string) object type/class. Can be an NPC or any other object, not inhereting LoadingTeleportBase "m_Attachments": [ //(array<object>) optional. The list of objects to customize the object when spawning (NPC) { "m_Type": "AK74", //(string) object type/class. "m_InHands": 1, //(bool) optional. Should the object be in the hands. You can only add one object. "m_Health": 0.0, //(bool) optional. The relative health (durability) level of the object. Used for visual appearance only. "m_Attachments": [ //(array<object>) optional. List of objects for customizing the current object { "m_Type": "AK74_Hndgrd_Camo", m_InHands: 0 "m_Health": 0.0 "m_Attachments": [] }, { "m_Type": "AK74_WoodBttstck_Camo", m_InHands: 0 "m_Health": 0.0 "m_Attachments": [] }, { "m_Type": "Mag_AK74_30Rnd", m_InHands: 0 "m_Health": 0.0 "m_Attachments": [] } ] } ], "m_Position": [6308.8291015625, 92.14250183105469, 733.6327514648438], //(vector) object coordinate "m_Orientation": [169.5727996826172, 0.0, -0.0], //(vector) object orientation "m_ToSpawn": 1, //(bool) flag. If = 1, then the object will be spawned. If = 0, then the object will be searched on the map "m_Destinations": [ //(array<object>) list of teleportation destinations. Same logic as in config.json { "m_Position": [ 6314.3369140625, 92.14250183105469, 701.36865234375 ], "m_Orientation": [ -161.43849182128907, 0.0 -0.0 ], "m_ActionName": "I'll take you far", "m_ActionDesc": "35 green rounds 12 gauge", "m_fadetime": 3, m_Payment: { "m_RequiredInHands": 0, "m_Type": "Ammo_12gaSlug", "m_DeleteInHandsOnSuccess": 0, m_Durability: 0.0 "m_Quantity": 35.0 "m_Count": 0, "m_MessageOnSuccess": "", "m_MessageOnFail": "Requires 35 green 12-gauge ammo to teleport" }, "m_Sounds": { "m_PublicIn": [], "m_PublicOut": [], "m_PrivatePlayer": [], "m_PublicInDelay": 0.0, "m_PublicOutDelay": 0.0, "m_PrivatePlayerDelay": 0.0 } } ] } ] }
Additional video - explanation from Judas, for which special thanks to him:
What's New in Version 2.0.0
Released
ВНИМАНИЕ: текущим пользователям мода перед установкой рекомендуется сделать backup json конфигурации.
Список изменений:
1. Переработана конфигурация config.json (см. описание к моду):
- изменены наименования переменных;
- перенесен флаг "m_ToSpawn" (в старой версии Spawner) в каждый объект из списка;
- добавлена возможность добавлять несколько точек назначения для одного объекта;
- добавлена возможность давать описание, которое будет выводить в чате игрока, для каждой точки назначения;
- добавлена возможность указывать требуемую плату за телепортаю для каждой точки назначения;
- добавлена возможность указывать публичные и приватные звуки (SoundSet) с указанием времени задержки для каждой точки назначения;
2. Добавлена конфигурация config_external.json (см. описание к моду), позволяющая:
- добавлять действия для телепортации к любому встроенному в карту, замапленный или NPC объект сторонней модификации по координатам. Требование: DayZ воспринимает объект;
- добавлять - спавнить свои NPC с указанными аттачментами или объекты, не наследующие LoadingTeleportBase.
3. Изменения в конфигурации объектов LoadingTeleportsExt (config.cpp):
- вырезана конфигурация публичный и приватных звуков для LoadingTeleportBase (см. шаблон config.cpp).
4. Прочие изменения:
- инициализация чтения конфигураций теперь происходит после старта миссии - увеличивает вероятность обнаружения объекта на карте;
- расширен радиус поиска с 0.33 до 0.5 едениц по указанной координате.
WARNING: сurrent mod users are recommended to make a backup copy of the json file before installation.
Patch note:
1. Redesigned config.json configuration (see mod description):
- variable names are changes;
- moved flag "m_ToSpawn" (in the old version was Spawner) to each object from the list;
- added the ability to add multiple destinations for one object;
- added the ability to give an description that will be displayed in the player's chat for each destination;
- added the ability to require a payment to teleport for each destination;
- added the ability to provide the public and private sounds (SoundSet) with time delay for each destination;
2. Added configuration config_external.json (see mod description), allowing to:
- add a teleportation action to any mapped, user mapped or NPC implementation object by coordinates. Requirement: DayZ accepts an object;
- add (spawn) your own NPCs with attachments or objects, not inheriting LoadingTeleportBase.
3. Changes in LoadingTeleportsExt objects configuration (config.cpp):
- cuttted out the configuration of public and private sounds for LoadingTeleportBase (see config.cpp template).
4. Other changes:
- configurations are initialized now after the launch of the mission, increasing the probability to find an object on the map;
- expansion of the search by position radius from 0.33 to 0.5 units.
Type
Compatible version
Acceptance of the Terms of the marketplace
Terms of usage
Transfer, sale/resale, modification is prohibited. All rights are reserved ©2022
Передача, продажа/перепродажа, модификация запрещены. Мод защищен авторским правом ©2022
Actions after purchase
Standard steps for installing client - server modifications. See description.
Стандартные действия для установки клиент - серверных и серверных модификаций. Смотри описание.