Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
- 0
-
Наш выбор
-
Создаем свой серверный мод. [DayZ 1.4 to Discontined]
123new опубликовал тему в Версия 1.0 и выше,
-
Увеличение карты х2
vitacite опубликовал тему в Картостроение,
Здравствуйте, форумчане!
Потихоньку изучаю скриптинг и возник вопрос:
как загружать файл с папки profiles?
Если я правильно понимаю, то нужно отдельно создавать manager в 3_Game, а в 5_mission можно получать информацию только на стороне клиента(мода)
Имеется мод с UI, в нем есть правила, они загружались из самого мода, решил попробовать переделать на profiles:
создал скрипт в 3_Game\RulesConfig.c с содержимым:
в скрипте 5_Mission\lobbymenu\interaction\rules
class RulesMenu: ScriptedWidgetEventHandler { Widget layoutRoot; GridSpacerWidget wrap; void RulesMenu(Widget parent) { //GetRulesConfig(); BuildLayout(parent); FillRules(); Print("[GetRulesConfig] show."); } void BuildLayout(Widget parent) { layoutRoot = GetGame().GetWorkspace().CreateWidgets("NM/assets/layouts/lobbymenu/interaction/rules/rules.layout", parent); CastTo(wrap, layoutRoot.FindAnyWidget("wrap")); layoutRoot.SetHandler(this); } void FillRules() { if (GetRulesConfig().data) { Print("[GetRulesConfig] show2"); foreach(RulesData element: GetRulesConfig().data) { string title = element.title; TStringArray subrules = element.subrules; Widget groupRoot = GetGame().GetWorkspace().CreateWidgets("NM/assets/layouts/lobbymenu/interaction/rules/group.layout", wrap); TextWidget m_title = TextWidget.Cast(groupRoot.FindAnyWidget("title")); m_title.SetText(title); WrapSpacerWidget wrp = WrapSpacerWidget.Cast(groupRoot.FindAnyWidget("wrp")); foreach(string elm: subrules) { Widget elementRoot = GetGame().GetWorkspace().CreateWidgets("NM/assets/layouts/lobbymenu/interaction/rules/element.layout", wrp); TextWidget w_title = TextWidget.Cast(elementRoot.FindAnyWidget("title")); w_title.SetText(elm); } } } } void Show() { layoutRoot.Show(true); SetFocus(layoutRoot); } void Hide() { layoutRoot.Show(false); SetFocus(null); } }
в скрипте 5_Mission\missions\MissionServer.c:
modded class MissionServer { override void OnInit() { GetRulesConfig(); super.OnInit(); Print("[GetRulesConfig] OnInit - Loaded config successfully."); } }
но никак не получается получить данные с 3_game, осложнение для меня это :ref вместе с array(еще не совсем все это понимаю)
Изменено пользователем Nescafe (история изменений)Прошу подсказать как сделать, какие ошибки, а желательно написать как будет правильно, чтобы было проще понять на примере
Не кидайтесь тапками, я только учусь:3
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах