█XlebniDizele4ku 344 #16270 Posted October 8, 2012 (edited) kashbessm { "markers": { "ally": { "alive": { "normal": { "damageText": { "color": { "attack": { "by_enemy": { "0x00CC00" Я правильно понял? я об этом тоже писал. все будет гораздо компактнее, если в эти 8 мест (я, кстати, экстендед не использую, так как настроил уже имеющимся инструметом ВСЮ нужную в бою инфу на normal экран) копировать не все матрицы. это возможно, если сами матрицы раздробить на строки параметров. например: attack_ally fire_squad и так далее. это даст возможность копировать в подсекции markers только то, что нужно поменять, по сравнению с настройками корневой секции. Понятно. Похоже на макрос. Несколько наопределял и сиди вставляй куда хочешь. Про extended не пользую, поддерживаю. *highfive! styleMacroAbc. Здравсвуйте, CSS. Edited October 8, 2012 by █XlebniDizele4ku Share this post Link to post Short link Share on other sites
kashbessm 19 #16271 Posted October 8, 2012 (edited) мне пришлось забыть про простой блокнот еще во времена OverTargetMarkers. и как раз из-за normal/extended/ally/enemy. но я тогда нашел хороший xml редактор, который и json понимает. и теперь все визуально удобно и компактно. и ошибку не пропустишь. так что олдскул блокнот постоит в сторонке. но вот эту часть: { "markers": { "ally": { "alive": { "normal": { "damageText": { "color": { "attack": { "by_enemy": { "0x00CC00" я бы по-другому все-таки (компактности и ясности ради) { "markers": { "ally": { "alive": { "normal": { "damageText": { "attack": { "by_enemy": <font color='', face='' size='', ...>{{dmg}}</font> Edited October 8, 2012 by kashbessm Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #16272 Posted October 8, 2012 Что за редактор? С моей стороны notepad++ с подсветкой и folding-ом. Share this post Link to post Short link Share on other sites
kashbessm 19 #16273 Posted October 8, 2012 (edited) Что за редактор? Altova XML Spy. пример скрина в аттаче Edited October 8, 2012 by kashbessm Share this post Link to post Short link Share on other sites
sirmax 5,499 #16274 Posted October 8, 2012 (edited) C учетом последних обсуждений, если damage включаем в damageText, конфиг получается такой: "markers": { "ally": { "alive": { "normal": { "damageText": { "shadowColor": "0x000000", // или "{{c:dmg-src}}" если инвертировать тень/шрифт "damageMessage": "<font color='{{c:dmg-src}}'>{{dmg}} {{i:dmg-kind}}</font>", // default "damageMessages": { // optional "unknown": "...", "ally": "...", "enemy": "...", "squad": "...", "player": "..." } } необходимо делать макросы и настройки для них в секции colors: {{c:dmg-src}} - по источнику урона {{c:dmg-kind}} - по типу урона и новую секцию images: {{i:dmg-kind}} - картинки по типу урона Плюсы этой схемы: - минимально расширяется конфиг - более интуитивная настройка - так как damageText поддерживает html, можно убрать секцию "font", и заменить на Минусы: - нет настройки по типу урона. Я считаю, что и не надо - вполне достаточно тип урона отобразить иконкой. Да и динамический цвет по типу урона без привязки к источнику тоже можно использовать UPD: еще стоит добавить "css", и парсить его через parseCSS(). Это намного упростит написание damageText Ща покажу все на примерах Edited October 8, 2012 by sirmax Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #16276 Posted October 8, 2012 Нужно будет отдельный небольшой кусок кода, который проверял бы, что приёмник ally и источник ally. Отдельный самостоятельный цвет относительно текущей матрицы. Собственно, таким образом задача поставлена. Пока что вопросов нет. Share this post Link to post Short link Share on other sites
sirmax 5,499 #16277 Posted October 8, 2012 (edited) Вот как сейчас: "damageText": { "visible": true, "x": 0, "y": -67, "alpha": 100, "color": null, "font": { "name": "$FieldFont", "size": 14, "align": "center", "bold": true, "italic": false }, "shadow": { "alpha": 100, "color": "0x000000", "angle": 45, "distance": 0, "size": 6, "strength": 200 }, "speed": 2, "maxRange": 40, "damageMessage": "{{dmg}}", "blowupMessage": "Blow-up!" }, Вот как я предлагаю: "damageText": { "visible": true, "x": 0, "y": -67, "alpha": 100, "shadow": { "alpha": 100, "color": "0x000000", // macros allowed "angle": 45, "distance": 0, "size": 6, "strength": 200 }, "speed": 2, "maxRange": 40, "css": "p {color: {{c:dmg-src}}; font-family: $FieldFont; font-size: 14; text-align: center; font-weight: bold;} .f13 {font-size: 13;} .f16 {font-size: 16;} .f20 {font-size: 20;}" "damageMessage": "<p>{{dmg}} {{i:dmg-kind}}</p>", // default "blowupMessage": "<p>Blow-up!</p>", // default "damageMessages": { "unknown": "<p class='f13'>{{dmg}} {{i:dmg-kind}}</p>", //"ally": "...", // use default //"enemy": "...", // use default "squad": "<p class='f16'>{{dmg}} {{i:dmg-kind}}</p>", "player": "<p class='f20'>{{dmg}} {{i:dmg-kind}}</p>", //"friendly_fire": "..." }, "blowupMessages": { "unknown": "<p class='f13'>Blow-up!</p>", //"ally": "...", // use default //"enemy": "...", // use default "squad": "<p class='f16'>Blow-up!</p>", "player": "<p class='f20'>Blow-up!</p>" //"friendly_fire": "..." } }, Edited October 8, 2012 by sirmax Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #16278 Posted October 8, 2012 Мы уже обсудили, что friendly_fire сделать нельзя, так как нельзя определить ник стреляющего А ник и не нужен. При создании инстанса маркера в нём есть инфа ally он или enemy. updateHealth все-таки в нём вызывается. Передавать ally маркер или enemy в damageIndicator при создании и там внутри сравнивать. Share this post Link to post Short link Share on other sites
sirmax 5,499 #16279 Posted October 8, 2012 А ник и не нужен. При создании инстанса маркера в нём есть инфа ally он или enemy. updateHealth все-таки в нём вызывается. Передавать ally маркер или enemy в damageIndicator при создании и там внутри сравнивать. Так это ты отловишь того, по кому попали. А как определить кто стрелял? Share this post Link to post Short link Share on other sites
kashbessm 19 #16281 Posted October 8, 2012 А ник и не нужен. согласен, зачем ник если он и так ally? идея конфига сирмакса очень нравится. особенно, если цвет, определенный в стиле, будет доминировать над макро-правилом для цвета. типа .ca {font-color: #00EEFF;} А как определить кто стрелял? текущая матрица хлебнидизелечка, как раз и отлавливает "кто стрелял". не? Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #16283 Posted October 8, 2012 Так это ты отловишь того, по кому попали. А как определить кто стрелял? А кто стрелял явно передается в updateHealth. * flag - int: * 0 - "FROM_UNKNOWN", 1 - "FROM_ALLY", 2 - "FROM_ENEMY", 3 - "FROM_SQUAD", 4 - "FROM_PLAYER" Share this post Link to post Short link Share on other sites
sirmax 5,499 #16284 Posted October 8, 2012 (edited) А, ну да. Тогда не вопрос, добавляем "friendly_fire" в "damageTexts" и "blowupTexts". В макросе {{c:dmg-src}} для этого определяем два цвета - свой по своему и чужой по чужому идея конфига сирмакса очень нравится. особенно, если цвет, определенный в стиле, будет доминировать над макро-правилом для цвета. типа .ca {font-color: #00EEFF;} Можно и в "css" макросы использовать, например: "css": "body {color: #ff0000;} .ca: {color: {{c:dmg-src}}}" "damageText": "<body>RED<span class='ca'>DMGSRC</span></body>" Пока затишье, задам еще вопрос. Нужно ли для разных источников урона менять параметры x, y, alpha, speed, maxRange? Или достаточно возможностей html в damageMessage? Вот как сейчас: "damageText": { "visible": true, "x": 0, "y": -67, "alpha": 100, "color": null, "font": { "name": "$FieldFont", "size": 14, "align": "center", "bold": true, "italic": false }, "shadow": { "alpha": 100, "color": "0x000000", "angle": 45, "distance": 0, "size": 6, "strength": 200 }, "speed": 2, "maxRange": 40, "damageMessage": "{{dmg}}", "blowupMessage": "Blow-up!" }, Вот как я предлагаю: "damageText": { "visible": true, "x": 0, "y": -67, "alpha": 100, "shadow": { "alpha": 100, "color": "0x000000", // macros allowed "angle": 45, "distance": 0, "size": 6, "strength": 200 }, "speed": 2, "maxRange": 40, "css": "p {color: {{c:dmg-src}}; font-family: $FieldFont; font-size: 14; text-align: center; font-weight: bold;} .f13 {font-size: 13;} .f16 {font-size: 16;} .f20 {font-size: 20;}" "damageMessage": "<p>{{dmg}} {{i:dmg-kind}}</p>", // default "blowupMessage": "<p>Blow-up!</p>", // default "damageMessages": { "unknown": "<p class='f13'>{{dmg}} {{i:dmg-kind}}</p>", //"ally": "...", // use default //"enemy": "...", // use default "squad": "<p class='f16'>{{dmg}} {{i:dmg-kind}}</p>", "player": "<p class='f20'>{{dmg}} {{i:dmg-kind}}</p>" }, "blowupMessages": { "unknown": "<p class='f13'>Blow-up!</p>", //"ally": "...", // use default //"enemy": "...", // use default "squad": "<p class='f16'>Blow-up!</p>", "player": "<p class='f20'>Blow-up!</p>" } }, Edited October 8, 2012 by sirmax Share this post Link to post Short link Share on other sites
kashbessm 19 #16294 Posted October 8, 2012 (edited) Пока затишье, задам еще вопрос. Нужно ли для разных источников урона менять параметры x, y, alpha, speed, maxRange? Или достаточно возможностей html в damageMessage? с имхошным пониманием принципов юзабилити - это не нужно и отвлекает. однако, читая ветку, я встречал мнения "ух-ты! из буквочек устроим красный пожар! а душа медленно отлетит..." так что вам, дорогие разработчики, решать, делать ли версию компактной или универсальной. и где золотая середина. кстати. если конфиг будет похож на то что я вижу в пред-посте, то строки //"ally": "...", // use default //"friendly_fire": "..." когда они находятся в секции markers->ally->alive->normal->damagetext дублируют друг друга. Edited October 8, 2012 by kashbessm Share this post Link to post Short link Share on other sites
sirmax 5,499 #16297 Posted October 8, 2012 с имхошным пониманием принципов юзабилити - это не нужно и отвлекает. однако, читая ветку, я встречал мнения "ух-ты! из буквочек устроим красный пожар! а душа медленно отлетит..." так что вам, дорогие разработчики, решать, делать ли версию компактной или универсальной. и где золотая середина. Я придерживаюсь того же мнения, ждем что скажут остальные. кстати. если конфиг будет похож на то что я вижу в пред-посте, то строки //"ally": "...", // use default //"friendly_fire": "..." когда они находятся в секции markers->ally->alive->normal->damagetext дублируют друг друга. Ага, значит friendly_fire можно убрать. Еще вопрос по поводу "css". Можно сделать глобальный параметр, в котором будут определяться все стили на все случаи жизни. Можно даже вынести их в отдельный файл (XVM.css). Другой вариант - как написано выше - определять его в той же секции где он будет использоваться. Как считаете, какой вариант удобней? CSS планируется начать использовать очень плотно, в частности, на него переведу все текстовые поля. В маркерах появится возможность использовать html. Share this post Link to post Short link Share on other sites
kashbessm 19 #16301 Posted October 8, 2012 Еще вопрос по поводу "css". Можно сделать глобальный параметр, в котором будут определяться все стили на все случаи жизни. Можно даже вынести их в отдельный файл (XVM.css). Другой вариант - как написано выше - определять его в той же секции где он будет использоваться. Как считаете, какой вариант удобней? CSS планируется начать использовать очень плотно, в частности, на него переведу все текстовые поля. В маркерах появится возможность использовать html. удобнее, конечно же, редактировать стиль в той же секции, которой сейчас занимаешься. чтобы все было под руками. минус такого подхода - если css будет размазан по всему конфигу порциями, невнимательный юзер сможет наплодить дублей. но я бы этого не боялся, так как нечасто встретится невнимательный чел, решившийся править конфиг в текстовом редакторе. большинство предпочтет gui. а если встретится - пусть тренирует внимание, это полезно. Share this post Link to post Short link Share on other sites
sirmax 5,499 #16302 Posted October 8, 2012 А мне вот кажется наоборот, что удобней общий css, да еще и во внешнем файле, чтобы можно было синтаксис подсветить. Тогда нет необходимости копировать одинаковые стили, например, определил ты себе .s14 {font-family:Arial; font-size:14;font-weight:bold;...} и используй везде: <span class="s14">...</span> У CSS есть один большой минус - не продвинутые пользователи не разберутся. Им проще как сейчас - отдельные настройки каждого параметра шрифта. Как макрос по типу урона лучше назвать: {{dmg-kind}} или {{dmg-type}}? Share this post Link to post Short link Share on other sites
kashbessm 19 #16304 Posted October 8, 2012 А мне вот кажется наоборот, что удобней общий css, да еще и во внешнем файле, чтобы можно было синтаксис подсветить. персонально мне и так и так будет удобно. так что тут я не голосую :) Как макрос по типу урона лучше назвать: {{dmg-kind}} или {{dmg-type}}? вот уж все равно. :)) по смыслу kind несколько точнее. Share this post Link to post Short link Share on other sites
demon2597 5,468 #16305 Posted October 8, 2012 (edited) А мне вот кажется наоборот, что удобней общий css, да еще и во внешнем файле, чтобы можно было синтаксис подсветить. Тогда нет необходимости копировать одинаковые стили, например, определил ты себе .s14 {font-family:Arial; font-size:14;font-weight:bold;...} и используй везде: <span class="s14">...</span> У CSS есть один большой минус - не продвинутые пользователи не разберутся. Им проще как сейчас - отдельные настройки каждого параметра шрифта. Как макрос по типу урона лучше назвать: {{dmg-kind}} или {{dmg-type}}? Мне вообще css ни о чем не говорит (придется разбираться), так, что вам виднее. Макрос- любой пойдет, так и так понятно. Но kind- грамотнее с точки зрения English Пока затишье, задам еще вопрос. Нужно ли для разных источников урона менять параметры x, y, alpha, speed, maxRange? Или достаточно возможностей html в damageMessage? Да вроде бы и нынешнего хватает, хотя конечно найдутся желающие тут помудрить, наверное правда важно определить границу фанатизма, а дальше- время покажет Edited October 8, 2012 by demon2597 Share this post Link to post Short link Share on other sites
sirmax 5,499 #16307 Posted October 8, 2012 (edited) По макросу {{c:dmg-src}} - получается не совсем корректно: colors: { dmg_src: { "unknown": "...", "ally": "...", "enemy": "...", "squad": "...", "player": "..." } } тут все значения должны иметь по два смысла - при попадании по своим и по чужим. Можно делать так: colors: { dmg_src: { ally: { }, enemy: { } } то есть в секции markers/ally/... используется dmg_src/ally, а markers/enemy/... - dmg_src/enemy пойдет? ничего не упустил? Да вроде бы и нынешнего хватает, хотя конечно найдутся желающие тут помудрить, наверное правда важно определить границу фанатизма, а дальше- время покажет Вот именно сейчас определяется граница фанатизма. Дальше изменять что-либо будет сложнее. В принципе, изменение шрифта - это уже большое подспорье желающим помудрить. :) Edited October 8, 2012 by sirmax 1 Share this post Link to post Short link Share on other sites
demon2597 5,468 #16308 Posted October 8, 2012 Вполне покатит Вот именно сейчас определяется граница фанатизма. Дальше изменять что-либо будет сложнее. В принципе, изменение шрифта - это уже большое подспорье желающим помудрить. :) Ага, мне лично больше и не нужно. Для меня это и есть та граница Share this post Link to post Short link Share on other sites