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 serversDon'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
- 0
-
Our picks
Здравствуйте, форумчане!
Потихоньку изучаю скриптинг и возник вопрос:
как загружать файл с папки 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(еще не совсем все это понимаю)
Edited by Nescafe (see edit history)Прошу подсказать как сделать, какие ошибки, а желательно написать как будет правильно, чтобы было проще понять на примере
Не кидайтесь тапками, я только учусь:3
Share this post
Link to post
Share on other sites