Jump to content
Korean Random

wotunion

User
  • Posts

    298
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by wotunion

  1. По поводу создания произвольного количества кастомизируемых текстовых полей в окне боевого интерфейса создана новая тема
  2. Кастомизируемые текстовые поля в окне боевого интерфейса с поддержкой макросов и обновлений по событию UPD. Допускается подстановка глобальных макросов, личных макросов, макросов статистики для текущего игрока UPD. UPD. Добавлены глобальные макросы для отображения шансов на победу: статический {{chancesStatic}} и динамический {{chancesLive}} UPD. UPD. Поля можно обновлять по событию, пока доступны: "ON_VECHICLE_DESTROYED", "ON_BATTLE_STATE_CHANGED", ON_CURRENT_VECHICLE_DESTROYED, ON_MODULE_DESTROYED, ON_MODULE_REPAIRED UPD. Добавлена поддержка горячих клавиш (действие по нажатию/по удержанию) UPD. BattleLabels: battleLabelsTemplates.xc "formats" -----> "format" UPD. Добавлены дефолты для остальных параметров UPD. Добавлено событие: "ON_PLAYERS_HP_CHANGED" Общее подключение @xvm.xc battle.xc 'battleLabels.xc' hotkeys.xc Подключение полей battleLabelsTemplates.xc "To do"
  3. В дефолтном конфиге вообще не должно быть настроенных полей, какое поле делать решает конфигуратор, через подстановки или нет Сейчас реализовано так, как в миникарте: через @xvm подключается battlelabelslist.xc, в котором список референсов на конкретные поля в battlelabels.xc, никакого функционала для себя нет, уже в который раз повторю - есть возможность кастомизации дефолтных надстроек шрифта, к какой части полей их применять, через подстановки или без - решается при создании конкретных текстовых полей для конкретных задач Это инструмент, а не навязывание конкретных настроек, такой же как в ушах, например Если Вы создаете три однотипных поля - делается референс, если нужно три разных, не делается, полная свобода настроек Со временем, конечно, с дефолтным конфигом могут поставляться предустановленные поля, такие как тоталхп команд, и те же шансы на победу после создания соответствующих макросов
  4. Кстати нашел одну вещь: Атрибут Text:align в принципе не может работать в span без атрибутов display и width, т.е. в ушах в экстраполях выравнивание тоже не будет работать. Чтобы не дополнять ориг.код из Utils мне придется отдельную функцию у себя разместить в классе. Или же реализовывать выравнивание с помощью <p align=''>? Пруф http://jsfiddle.net/BFQJ4/ А вот рабочий http://jsfiddle.net/ZondArt/BFQJ4/1/ Имеется в виду выравнивание текста в поле А, и еще надо настраивать междустрочное расстояние, при span слишком большие вайтспейсы между строками (leading) Короче говоря, без Css нормально отформатировать текст, а особенно, мультилайн, сложновато, что говорит в пользу первого upd.display:block должно работать
  5. night_dragon_on переименовал объекты в конфиге, надо либо вернуть, либо изменить в коде @demon2597,@goodman, Вот здесь https://bitbucket.org/XVM/xvm/commits/19da2d41d18f30bedcd3a54da18ff1022d067699 @sirmax, Можно вернуть предыдущий battle.xc https://bitbucket.org/XVM/xvm/commits/19da2d41d18f30bedcd3a54da18ff1022d067699 Здесь регистр изменен, в коде тогда тоже надо менять Я сейчас не могу, пока поля доделываю, надо свой репозиторий пересоздавать @sirmax, Есть рабочий вариант:
  6. @night_dragon_on, "WinChancesOnBattleInterface": { + "winChancesOnBattleInterface": { // true - displaying chances to win on battle interface window (only while service is enabled (chances to win at battle/at battle (live)) on modxvm.com). // true - показывать шансы на победу в окне боевого интерфейса (только при включенном сервисе (шанс на победу в бою или шанс на победу в бою/в бою (динамический)) на modxvm.com). "enabled": true, // true - disable displaying of static chances to win in battle interface window (affects only while "enabled" == true and displaying of chances to win at battle is enabled on modxvm.com). // true - отключить отображение статического шанса на победу в окне боевого интерфейса (влияет только если "enabled" == true и включено отображение шанса на победу в бою на modxvm.com). - "DisableStatic": false, + "disableStatic": false, // true - disable displaying of dynamic chances to win in battle interface window (affects only while "enabled" == true and displaying of chances to win at battle and chances to win at battle (live) is enabled on modxvm.com). // true - отключить отображение динамического шанса на победу в окне боевого интерфейса (влияет только если "enabled" == true и включено отображение шанса на победу в бою и шанса на победу в бою (динамического) на modxvm.com). - "DisableLive": false, + "disableLive": false, // Axis field coordinates. // Положение поля по осям. "position": { Чувствительно к регистру, в коде тоже надо менять тогда Причина выше
  7. Это не пробелы, это встроенный шрифт $PartnerCondensed в Fonts у Вас левый, выше в теме про это Не против) Я ничего не менял
  8. И я за это, спасибо @sirmax,@goodman, Добавлю к сказанному Вот часть кода для кастомизации дефолтных настроек шрифта, назвем это так, ("fontCSS" переименован в "defaultFontSettings"): f.styleSheet = Utils.createStyleSheet(Utils.createCSS("class" + String(InstanceIndex), Macros.FormatGlobalNumberValue(int(BLCfg.defaultFontSettings.color)) != null ? BLCfg.defaultFontSettings.color : 0xFFFFFF, Macros.FormatGlobalStringValue(BLCfg.defaultFontSettings.name) != null ? BLCfg.defaultFontSettings.name : "$FieldFont", Macros.FormatGlobalNumberValue(BLCfg.defaultFontSettings.size) != null ? BLCfg.defaultFontSettings.size : 12, BLCfg.defaultFontSettings.align != null ? BLCfg.defaultFontSettings.align : "left", BLCfg.defaultFontSettings.bold != null ? BLCfg.defaultFontSettings.bold : false, BLCfg.defaultFontSettings.italic != null ? BLCfg.defaultFontSettings.italic : false));
  9. Реализация ТОЧНО такая же самая как в полях в миникарте , только в миникарте дефолты жестко прописаны: textField.setNewTextFormat(new TextFormat("$FieldFont", 12, 0xFFFFFF, false, false, false, "", "", align)); а в случае с текстоввыми полями дефолты для каждого поля можно настроить а кто сказал, что подстановки не будут работать? это тот же JSONX Для одинкаовых полей самое оно sirmax высказал необходимость аналогии с эктраполями на миникарте, так и реализовываю, только дал возможность кастомизировать дефолты для шрифта
  10. Ничего общего реализация текстовых полей не имеет к этому "\n<span class='mm_a'> {{vehicle}}</span>", //Союзник "teamkiller": "\n<span class='mm_t'> {{vehicle}}</span>", //Тимкиллер "enemy": "\n<span class='mm_e'> {{vehicle}}</span>", //Враг "squad": "\n<span class='mm_s'> <i>{{nick%.9s}}</i></span>", //Взводный "oneself": "", //Свой маркер и маркер приёмника камеры наблюдения в случае смерти "lostally": "<textformat leading='0'><span class='mm_dot'>{{vehicle-class}}</span>\n<span class='mm_la'><i>{{vehicle}}</i></span><textformat>",//Союзник, потеряна связь "lostteamkiller": "<textformat leading='0'><span class='mm_dot'>{{vehicle-class}}</span>\n<span class='mm_lt'><i>{{vehicle}}</i></span><textformat>",//Тимкиллер, потеряна связь "lost": "<textformat leading='0'><span class='mm_dot'>{{vehicle-class}}</span>\n<span class='mm_l'><i>{{vehicle}}</i></span><textformat>", //Противник, пропавший "lostsquad": "<textformat leading='0'><span class='mm_dot'>{{vehicle-class}}</span>\n<span class='mm_ls'><i>{{nick%.9s}}</i></span><textformat>",//Взводный, потеряна связь "deadally": "<span class='mm_dot'>\u2626</span>", //Мертвый союзник "deadteamkiller": "<span class='mm_dot'>\u2626</span>", //Мертвый тимкиллер "deadenemy": "<span class='mm_dot'>\u004e</span>", //Мертвый противник "deadsquad": "<textformat leading='-3'><span class='mm_dot'>\u2626</span>\n<span class='mm_ds'><i>{{nick%.9s}}</i></span><textformat" //Мертвый взводный }, в случае с текстовыми полями Вы можете написать так, же как в New_minimap "format":"<font face='GF' size='11' color='#FFFFFF'>\u00c6</font>"}, И если fontcss ничего не заполнено, будут дефолты взятые отсюда, (это из исходников рендера меток миникарты) textField.setNewTextFormat(new TextFormat("$FieldFont", 12, 0xFFFFFF, false, false, false, "", "", align)); что в этом случае не поменяет ничего, (кстати color='#FFFFFF' - из примера лишнее, это дефолт реализация никоим образом не заставляет вас прописывать стили у меня практически те же дефолты стоят Давайте объясню на примере. Имеем: "заголовок", 14pt, синего цвета "1." 12 pt оранжевого цвета "Уровень боя" - 12pt белого цвета {{макрос}} "2." 11pt оранжевого цвета "Шансы на победу: " 11 pt белого цвета болд {{макрос}} Реализация // defaults: "0xFFFFFF" / (MACROS ALLOWED), $FieldFont / (MACROS ALLOWED), 12 / (MACROS ALLOWED), "left", false, false "fontCSS": { "color": "0xFFFFFF", "name": "$PartnerCondensed", "size": 12, "align": "left", "bold": false, "italic": false}, /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Displayed text field data (HTML ALLOWED, MACROS ALLOWED) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// "formats": "<b><font size = "14", color = "blue">Заголовок</font></b><br><font color = "orange">1.</font>Уровень боя {{макрос}}" и т.д. след.строчка Здесь fontcss помог не ставить font-color white два раза и font size 12 тоже два разасам тег <...class...> НЕ НУЖНО прописывать, по простому в fontcss вы настраиваете повторяющиеся участки текста, давая им единое оформление в formats т.е. тексту без тега еще пример Задача Текст (синий) 20pt Текст (синий) 20pt Текст (синий) 20pt Текст (синий) 20pt Текст (синий) 20pt Текст (синий) 20pt Текст (зеленый) 20pt Реализация // defaults: "0xFFFFFF" / (MACROS ALLOWED), $FieldFont / (MACROS ALLOWED), 12 / (MACROS ALLOWED), "left", false, false "fontCSS": { "color": "0x0000ff", "name": "$PartnerCondensed", "size": 20, "align": "left", "bold": false, "italic": false}, /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Displayed text field data (HTML ALLOWED, MACROS ALLOWED) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// "formats": "Текст<br>Текст<br>Текст<br>Текст<br>Текст<br>Текст<br> <font color = '0x008000'>Текст</font>" Последний пример наиболее точно показывает преимущества Такого неудобства, как в Вашей старой миникарте, здесь и близко нет, прописывать класс НЕ НУЖНО, по сути в fontsCSS повторяющиеся настройки для однотипного текста Все прозрачно. переименую я fontCSS просто в font так лучше будет
  11. Короче говоря, я доделаю до конца, запуллю, покажу, остальное дело не за мной Т.е. какой вариант, убрать "костыль" и не иметь ничего? Я взялся за функционал полей, но не реализацию подключения .css в XVM вообще, и использую присутствующие инструменты XVM и AS2,
  12. Это Ваш текст. Скиньте, я посмотрю, если можно скопируйте сюда нужное место Не понял. Вот Вам оригинальный код из "Ушей" tf.styleSheet = Utils.createStyleSheet(Utils.createCSS("extraField", 0xFFFFFF, "$FieldFont", 14, "center", false, false)); ... f.htmlText = "<span class='extraField'>" + value + "</span>";
  13. Хорошо, а немного выше я не то же написал? <span class='css'>[здесь html из formats]</span> а 'css' и берется из fontCSS Мы либо не прописавыем css и пишем ВСЕ свои атрибуты в formats, либо пишем однотипные атрибуты в css и уточняем их в formats
  14. Хорошо, по порядку Ваш вариант оформления тестового поля: "заголовок", 14pt, синего цвета "1." 12 pt оранжевого цвета "Уровень боя" - 12pt белого цвета {{макрос}} "2." 11pt оранжевого цвета "Шансы на победу: " 11 pt белого цвета болд {{макрос}} Вместо font вы предлагаете использовать TextField.textColor? А вместо html просто текст, с жестко установленным цветом? Идея этих текстовых полей как раз в максимальной настраиваемости и оформлении
  15. Пусть объяснит В чем именно проблема с css? Он же значительно упрощает оформление текста, и чем он мешает если устанавливать пользовательские настройки в formats, которые буду иметь приоритет перед css Если не будет стайлшита, все, повторю, все, одинаково форматируемые части текста надо будет вручную обкладывать тегами <font> в formats по несколько раз И концентрирую внимание на то, что стайлшит для каждого поля отдельный Ничего личного, я свое мнение обосновал, Вы свое - нет
  16. Вы не разобрались. Я в этом уверен.Пример напишите... Оформите два сложных поля с css и без и сравните. Из миникарты никуда html не девался value = Macros.Format(playerName, cfg.format, bs); //Logger.add(playerName + ": " + value + " <= " + cfg.format); textField.htmlText = value; Разберитесь и не вводите других в заблуждение
  17. Css никоим образом не мешает уточнению дефолтных (из fontcss) атрибутов в formats Общая схема такая: <span class='css'>[здесь html из formats]</span> 'Css' берется из fontCSS Для каждого поля свой css
  18. Css это общий стиль, если задать стиль в formats, то будет отображаться стиль из formats, он дочерний, все как в htmlСтиль из Css будет отображаться если в formats голый текст. Например, <font color="0xFFEEFE">{{macros}}</font> "перебъет" цвет шрифта из fontsCSS. Ну это же базовые вещи в html. UPD нужен рабочий пример хоть на тему сабжа из шапки...Будет, когда доделаю, скоро Опять сори за форматирование, с телефона Upd. Без Css любому произвольному тексту тексту в formats придется приписывать атрибуты шрифта. Например, в шансах на победу тоже используется Css, но он влияет на все, кроме цвета, поскольку само значение шанса отдается уже с атрибутом цвета
  19. @sirmax, Формат (battleLabels.xc): Уже совсем недолго добавлю в todo, но пока занят текствыми полями Если ткнете где Tab обрабатывается (типа onHold и onRelease), то быстрее сделаю Вообще, с текстовыми полями можно будет самому написать отображение шансов , только макрос надо будет добавить
  20. Ок, уже для каждого текстового поля реализовано создание отдельного стайлшита через Utils Весь код будет в одном классе + 1 строчка в BattleMain.as для инициализации, ну и для апдейта во время боя можно по строчке в ивенты кинуть и сделать, допустим, настройку для поля типа Updateable true|false и UpdateOnEvent = '...'. полезно будет для хп панели или для шансов на победу. но это позже
  21. Utils.createStyleSheet можно использовать (в PlayersPanel используется, на миникарте - нет) ?
  22. Хорошо, спасибо Тогда я беру за основу конфигурацию поля как в метках на миникарте В первом демо, когда сделаю, представлю самый простой вариант типа "format": "<font size='8'>{{battletier}}</font>без дополнительных данных, чтобы Вы посмотрели общую реализацию @sirmax, Еще один вопрос, делать все настройки текстовых полей в одном файле, как в minimapLabelsTemplates.xc, или каждое поле в своем .xc? "labels": { "enabled": true, // Format set // Набор форматов "formats": [ ${ "battleLabels.xc":"def.test" }, ${ "battleLabels.xc":"def.test2" }, ] или "labels": { "enabled": true, // Format set // Набор форматов "formats": [ ${ "test.xc":"def.test" }, ${ "test2.xc":"def.test2" }, ] Первый вроде как компактнее и удобнее для редактирования, зато второй мобильнее
×
×
  • Create New...