EvgenKo423 Posted September 13, 2014 Share Posted September 13, 2014 (edited) Для отображения в "ушах" есть макрос {{frags}}. Я хочу покрасить количество фрагов в определённый цвет в зависимости от текущего значения (в бою). Поскольку для текущего количество фрагов динамический цвет не определён, я сам добавил в colors.xc соответствующую секцию, но в бою цвет не меняется!! Поэтому возникает вопрос: XVM что просто читает из конфига значения цветов для определённых параметров, а другие не подгружает?? Даже если параметр, по которому определять цвет, существует в самом моде?? о_______О "Добавленная секция" "frags": [ { "value": 3, "color": "0xFFFFFF" }, { "value": 6, "color": ${"def.colorRating.normal" } }, { "value": 8, "color": ${"def.colorRating.good" } }, { "value": 10, "color": ${"def.colorRating.very_good"} }, { "value": 15, "color": ${"def.colorRating.unique" } } ] "Использование цвета" "fragsFormatLeft": "<font face='$FieldFont' size='13' color='{{c:frags}}' alpha='{{alive?#FF|#80}}'>{{frags}}</font>" Edited September 14, 2014 by EvgenKo423 @ Quote Link to comment Short link Share on other sites More sharing options...
TornadoCat Posted September 13, 2014 Share Posted September 13, 2014 (edited) А ничего, как бы, что для такого параметра подстановка просто не запрограммирована в моде ? Пруф ниже Edited September 13, 2014 by Metallist95 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 13, 2014 Share Posted September 13, 2014 Поэтому возникает вопрос: XVM что просто читает из конфига значения цветов для определённых параметров, а другие не подгружает?? Даже если параметр, по которому определять цвет, существует в самом моде?? Потому что не сделано. (с) КО 1 @ Quote Link to comment Short link Share on other sites More sharing options...
EvgenKo423 Posted September 13, 2014 Author Share Posted September 13, 2014 (edited) А ничего, как бы, что для такого параметра подстановка просто не запрограммирована в моде ? А ничего, как бы, что для универсальности все параметры из конфига должны тупо читаться в словарь, а потом из словаря colors должны браться значения цвета по ключу, стоящему после "c:"?? И только при отсутствии ключа изменений происходить не должно. Вы че там, на каждый параметр строку кода дописываете?? Потому что не сделано. (с) КО Жаль... Edited September 13, 2014 by EvgenKo423 @ Quote Link to comment Short link Share on other sites More sharing options...
Jove мне как сестра! Posted September 13, 2014 Share Posted September 13, 2014 (edited) А ничего, как бы, что для универсальности все параметры из конфига должны тупо читаться в словарь, а потом из словаря colors должны браться значения цвета по ключу, стоящему после "c:"?? И только при отсутствии ключа изменений происходить не должно. Вы че там, на каждый параметр строку кода дописываете?? Возьми и реализуй, умник. Или только языком трепать мастер? Edited September 13, 2014 by Jove мне как сестра! 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
TornadoCat Posted September 13, 2014 Share Posted September 13, 2014 А ничего, как бы, что для универсальности все параметры из конфига должны тупо читаться в словарь, а потом из словаря colors должны браться значения цвета по ключу, стоящему после "c:"?? И только при отсутствии ключа изменений происходить не должно. Вы че там, на каждый параметр строку кода дописываете?? Тогда в таком случае бери исходный код и допиливай универсальность, трепло 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
EvgenKo423 Posted September 13, 2014 Author Share Posted September 13, 2014 Я вас не обзывал, господа. Попрошу не хамить. @ Quote Link to comment Short link Share on other sites More sharing options...
Jove мне как сестра! Posted September 13, 2014 Share Posted September 13, 2014 не обзывал Я тоже. Тем не менее: реализовать могём, или просто бросаемся словами на ветер? @ Quote Link to comment Short link Share on other sites More sharing options...
EvgenKo423 Posted September 13, 2014 Author Share Posted September 13, 2014 (edited) Пожалуйста: 1. Убрать из файла /src/xvm-as2/src/com/xvm/Macros.as все строки, использующие GraphicsUtil.GetDynamicColorValue 2. В файле /src/xvm-as2/src/com/xvm/GraphicsUtil.as заменить функцию GetDynamicColorValue на подобную следующей: Функция public static function FillDynamicColorValues(pdata:Object):Object { var cfg_root: Object = Config.config.colors; for(var param:String in cfg_root) { var value: Number = pdata[param]; if (value == null || isNaN(value)) continue; var cname = "c:" + param; if (pdata[cname] != null) continue; var cfg: Array = cfg_root[param]; var cfg_len: Number = cfg.length; for (var i:Number = 0; i < cfg_len; ++i) { var cvalue: Number = cfg[i].value; var color: Number = Utils.toInt(cfg[i].color, 0xFFFFFF); if (value < cvalue) pdata[cname] = "#" + Strings.padLeft(color.toString(16), 6, "0"); } } return pdata; } 3. В файл /src/xvm-as2/src/com/xvm/Macros.as добавить функцию, подобную следующей: Функция public static function RegisterDynamicColorValues(playerName:String) { if (!Config.config) return; var pname:String = Utils.GetPlayerName(playerName); dict[pname] = GraphicsUtil.FillDynamicColorValues(dict[pname]); } 4. После вызова имеющихся функций Macros.Register* (где бы они там не вызывались...) вызвать Macros.RegisterDynamicColorValues 5. PROFIT!!! Ради одного PR создавать аккаунт на BitBucket-е не буду... Edited September 13, 2014 by EvgenKo423 2 @ Quote Link to comment Short link Share on other sites More sharing options...
sech_92 Posted September 13, 2014 Share Posted September 13, 2014 Ради одного PR создавать аккаунт на BitBucket-е не буду Можете и не один, раз умеете. Насколько я знаю, команда XVM всегда рада добровольцам. Тем более, это не обязаловка. Можете и раз в месяц коммитить, уже что-то :) 1 @ Quote Link to comment Short link Share on other sites More sharing options...
EvgenKo423 Posted September 14, 2014 Author Share Posted September 14, 2014 Да я обычно поиграю в танки пару месяцев, а потом долго на них смотреть не могу :) Сейчас учёба начинается, у меня времени становится мало... @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 14, 2014 Share Posted September 14, 2014 Там кроме этого еще с мержем конфига придется разбираться, хардкодить заглушку специально для данной секции. Сейчас все, что отсутствует во вшитом конфиге игнорируется. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.