Jump to content
Korean Random
Storan

Маркеры - отлетающий урон. Обсуждение

Recommended Posts

kashbessm

 

{ "markers":

{ "ally":

{ "alive":

{ "normal":

{ "damageText":

{ "color":

{ "attack":

{ "by_enemy":

{ "0x00CC00"

 

Я правильно понял?

 

я об этом тоже писал.

все будет гораздо компактнее, если в эти 8 мест

(я, кстати, экстендед не использую, так как настроил уже имеющимся инструметом ВСЮ нужную в бою инфу на normal экран)

копировать не все матрицы.

 

это возможно, если сами матрицы раздробить на строки параметров.

 

например:

attack_ally

fire_squad

 

и так далее.

 

это даст возможность копировать в подсекции markers только то, что нужно поменять, по сравнению с настройками корневой секции.

 

Понятно. Похоже на макрос. Несколько наопределял и сиди вставляй куда хочешь.

 

Про extended не пользую, поддерживаю. *highfive! :bo:

 

styleMacroAbc. Здравсвуйте, CSS.

Edited by █XlebniDizele4ku

Share this post


Link to post

Short link
Share on other sites

мне пришлось забыть про простой блокнот еще во времена 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 by kashbessm

Share this post


Link to post

Short link
Share on other sites

Что за редактор?

 

С моей стороны notepad++ с подсветкой и folding-ом.

Share this post


Link to post

Short link
Share on other sites

Что за редактор?

Altova XML Spy.

пример скрина в аттаче

post-7319-0-02831700-1349710484_thumb.png

Edited by kashbessm

Share this post


Link to post

Short link
Share on other sites

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 by sirmax

Share this post


Link to post

Short link
Share on other sites

Нужно будет отдельный небольшой кусок кода, который проверял бы, что приёмник ally и источник ally. Отдельный самостоятельный цвет относительно текущей матрицы.

 

Собственно, таким образом задача поставлена. Пока что вопросов нет.

Share this post


Link to post

Short link
Share on other sites

Вот как сейчас:

"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 by sirmax

Share this post


Link to post

Short link
Share on other sites

Мы уже обсудили, что friendly_fire сделать нельзя, так как нельзя определить ник стреляющего

 

А ник и не нужен. При создании инстанса маркера в нём есть инфа ally он или enemy. updateHealth все-таки в нём вызывается.

Передавать ally маркер или enemy в damageIndicator при создании и там внутри сравнивать.

Share this post


Link to post

Short link
Share on other sites

А ник и не нужен. При создании инстанса маркера в нём есть инфа ally он или enemy. updateHealth все-таки в нём вызывается.

Передавать ally маркер или enemy в damageIndicator при создании и там внутри сравнивать.

Так это ты отловишь того, по кому попали. А как определить кто стрелял?

Share this post


Link to post

Short link
Share on other sites

А ник и не нужен.

согласен, зачем ник если он и так ally?

 

идея конфига сирмакса очень нравится.

особенно, если цвет, определенный в стиле, будет доминировать над макро-правилом для цвета.

типа

.ca {font-color: #00EEFF;}

 

А как определить кто стрелял?

текущая матрица хлебнидизелечка, как раз и отлавливает "кто стрелял". не?

Share this post


Link to post

Short link
Share on other sites

Так это ты отловишь того, по кому попали. А как определить кто стрелял?

 

А кто стрелял явно передается в 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

А, ну да. Тогда не вопрос, добавляем "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 by sirmax

Share this post


Link to post

Short link
Share on other sites

Пока затишье, задам еще вопрос. Нужно ли для разных источников урона менять параметры x, y, alpha, speed, maxRange? Или достаточно возможностей html в damageMessage?

с имхошным пониманием принципов юзабилити - это не нужно и отвлекает.

однако, читая ветку, я встречал мнения "ух-ты! из буквочек устроим красный пожар! а душа медленно отлетит..."

так что вам, дорогие разработчики, решать, делать ли версию компактной или универсальной. и где золотая середина.

 

кстати.

если конфиг будет похож на то что я вижу в пред-посте, то строки

//"ally": "...", // use default

//"friendly_fire": "..."

когда они находятся в секции

markers->ally->alive->normal->damagetext

дублируют друг друга.

Edited by kashbessm

Share this post


Link to post

Short link
Share on other sites

с имхошным пониманием принципов юзабилити - это не нужно и отвлекает.

однако, читая ветку, я встречал мнения "ух-ты! из буквочек устроим красный пожар! а душа медленно отлетит..."

так что вам, дорогие разработчики, решать, делать ли версию компактной или универсальной. и где золотая середина.

Я придерживаюсь того же мнения, ждем что скажут остальные.

 

кстати.

если конфиг будет похож на то что я вижу в пред-посте, то строки

//"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

Еще вопрос по поводу "css". Можно сделать глобальный параметр, в котором будут определяться все стили на все случаи жизни. Можно даже вынести их в отдельный файл (XVM.css).

Другой вариант - как написано выше - определять его в той же секции где он будет использоваться. Как считаете, какой вариант удобней?

 

CSS планируется начать использовать очень плотно, в частности, на него переведу все текстовые поля. В маркерах появится возможность использовать html.

удобнее, конечно же, редактировать стиль в той же секции, которой сейчас занимаешься. чтобы все было под руками.

минус такого подхода - если css будет размазан по всему конфигу порциями, невнимательный юзер сможет наплодить дублей.

но я бы этого не боялся, так как нечасто встретится невнимательный чел, решившийся править конфиг в текстовом редакторе.

большинство предпочтет gui.

а если встретится - пусть тренирует внимание, это полезно.

Share this post


Link to post

Short link
Share on other sites

А мне вот кажется наоборот, что удобней общий 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

А мне вот кажется наоборот, что удобней общий css, да еще и во внешнем файле, чтобы можно было синтаксис подсветить.

персонально мне и так и так будет удобно. так что тут я не голосую :)

 

Как макрос по типу урона лучше назвать: {{dmg-kind}} или {{dmg-type}}?

вот уж все равно. :)) по смыслу kind несколько точнее.

Share this post


Link to post

Short link
Share on other sites

А мне вот кажется наоборот, что удобней общий 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 by demon2597

Share this post


Link to post

Short link
Share on other sites

По макросу {{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 by sirmax
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Вполне покатит

 

 

Вот именно сейчас определяется граница фанатизма. Дальше изменять что-либо будет сложнее. В принципе, изменение шрифта - это уже большое подспорье желающим помудрить. :)

Ага, мне лично больше и не нужно. Для меня это и есть та граница

Share this post


Link to post

Short link
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...