Jump to content
Korean Random
sirmax

[Сниппеты / Snippets] Расширенная настройка боевого интерфейса

Recommended Posts

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

А смысл? Только захламлять ресурс компа?

Сделаем проще. Объясняю:

Открываете файлик battle.xc, который я Вам скинул в Вашем архиве, блокнотом (лучше НотПадом++). В самом верху в нем находите такие строки.

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {   //перемещаем панель захвата

   "_y": 75                    //сдвигаем панель захвата по вертикали вниз. В зависимости от разрешения монитора она будет на разном разрешении монитора сдвигаться вниз по разному. 

   }

    }],

Это сдвиг панели захвата. Если Вы хотите, к примеру, передвинуть еще и лампу засвета (шестое чувство), то дописываете строки и у Вас этот блок примет такой вид:

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {

   "_y": 75

   },

"sixthSenseIndicator": {                            //двигаем лампочку шестого чувства левее и выше

    "_x": "sixthSenseIndicator._x - 500", // фиксированное смещение по горизонту левее от стандартного положения

   "_y": "sixthSenseIndicator._y - 480"   // фиксированное смещение по вертикали выше от стандартного положения.

   }

    }],

Заметили разницу? Выделил добавленное жирным. Добавилась запятая и парные скобки на блок лампочки засвета. То что идет после // - это не выполняемый конфигом комментарий. Это пример сдвига от штатного положения, не зависящий от разрешения монитора.

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

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {

   "_y": 75

   },

"sixthSenseIndicator": {                            //двигаем лампочку шестого чувства в произвольное место, зависящее от разрешения монитора

    "_x": 300, // фиксированное смещение по горизонту в произвольное место, зависящее от разрешения монитора

   "_y": 1200   // фиксированное смещение по вертикали в произвольное место, зависящее от разрешения монитора.

   }

    }],

Заметили разницу между написанием? Фиксированный сдвиг от штатного места и произвольный сдвиг.

Теперь, мы хотим еще поднять левое ухо (своей команды) в самый верх монитора (левый верхний угол). Наш верхний блок изменится так:

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {

   "_y": 75

   },

"sixthSenseIndicator": {                            //двигаем лампочку шестого чувства в произвольное место, зависящее от разрешения монитора

    "_x": 300, // фиксированное смещение по горизонту в произвольное место, зависящее от разрешения монитора

   "_y": 1200   // фиксированное смещение по вертикали в произвольное место, зависящее от разрешения монитора.

   },

"leftPanel": {

        "_alpha": 80, //изменяем прозрачность уха. Можно изменить от 0 до 100

        "_y": 1,          //смещаем по вертикали вверх (самый угол монитора)

      }

    }],

Добавилась еще одна запятая и парные скобки на блок. Здесь пример был скомбинирован - мы подняли ухо и изменили его прозрачность. Прозрачность можно менять везде.

Еще пример перемещения на заданное значение от размера экрана (на середину, четверть, три четверти, одну восьмую и пр.)

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {

   "_y": 75

   },

"sixthSenseIndicator": {                            //двигаем лампочку шестого чувства в произвольное место, зависящее от разрешения монитора

    "_x": 300, // фиксированное смещение по горизонту в произвольное место, зависящее от разрешения монитора

   "_y": 1200   // фиксированное смещение по вертикали в произвольное место, зависящее от разрешения монитора.

   },

"leftPanel": {

        "_alpha": 80, //изменяем прозрачность уха. Можно изменить от 0 до 100

        "_y": 1,          //смещаем по вертикали вверх (самый угол монитора)

      },

   "battleTimer": {          //двигаем время боя 

   "_x": "WIDTH / 1.8", //двигаем время боя приблизительно на пятую часть ширины монитора от правого края

   "_y": 5                      //переместили по вертикали на 5 от верха монитора

   }

    }],

Вот, вроде, основные принципы передвижек и изменения прозрачности элементов. Понять принцип, я думаю, можно. Еще так же можно менять цвет текста и еще кучу всего (я всего и не знаю...).

Ну и в заключение перекопипастил список элементов, которые можно двигать из шапки темы.

"leftPanel"          // панель уши левые

  "rightPanel"         // панель уши правые

  "minimap"               // миникарта

  "playerMessangersPanel",  // сообщения чат убитых(кто кого убил)

  "switcher_mc"          // панель переключения ушей

  "fragCorrelationBar"     // счёт боя

  "debugPanel"             // пинг-лаг-фпс панель

  "battleTimer"          // время боя

  "damagePanel"           // дамаг-панель

  "sixthSenseIndicator"   // индикатор(шестое чувство)

  "vehicleErrorsPanel"     // сообщения в центре экрана(о снаряжении, командире)

  "messenger"           // сообщения(чат что пишут игроки)

  "damageInfoPanel"        // ?

  "timerBig"             // таймер до начала боя

  "deathZoneTimer"        // ?

  "overturnedTimer"      // ?

  "drownTimer"            // таймер когда тонет танк

  "langBarPanel"       // ?

  "consumablesPanel"     // панель расходники и патроны

  "vehicleMessagesPanel"   // сообщения внизу в центре экрана(о том,кто попал,повредил тебя)

  "teamBasesPanel"         // полоса захвата баз

Ну и знатоки еще могут примеров накидать. Вот и получится мануал по работе с элементами :-)

Edited by ventura69
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

А смысл? Только захламлять ресурс компа?

Сделаем проще. Объясняю:

Открываете файлик battle.xc, который я Вам скинул в Вашем архиве, блокнотом (лучше НотПадом++). В самом верху в нем находите такие строки.

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {   //перемещаем панель захвата

   "_y": 75                    //сдвигаем панель захвата по вертикали вниз. В зависимости от разрешения монитора она будет на разном разрешении монитора сдвигаться вниз по разному. 

   }

    }],

Это сдвиг панели захвата. Если Вы хотите, к примеру, передвинуть еще и лампу засвета (шестое чувство), то дописываете строки и у Вас этот блок примет такой вид:

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {

   "_y": 75

   },

"sixthSenseIndicator": {                            //двигаем лампочку шестого чувства левее и выше

    "_x": "sixthSenseIndicator._x - 500", // фиксированное смещение по горизонту левее от стандартного положения

   "_y": "sixthSenseIndicator._y - 480"   // фиксированное смещение по вертикали выше от стандартного положения.

   }

    }],

Заметили разницу? Выделил добавленное жирным. Добавилась запятая и парные скобки на блок лампочки засвета. То что идет после // - это не выполняемый конфигом комментарий. Это пример сдвига от штатного положения, не зависящий от разрешения монитора.

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

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {

   "_y": 75

   },

"sixthSenseIndicator": {                            //двигаем лампочку шестого чувства в произвольное место, зависящее от разрешения монитора

    "_x": 300, // фиксированное смещение по горизонту в произвольное место, зависящее от разрешения монитора

   "_y": 1200   // фиксированное смещение по вертикали в произвольное место, зависящее от разрешения монитора.

   }

    }],

Заметили разницу между написанием? Фиксированный сдвиг от штатного места и произвольный сдвиг.

Теперь, мы хотим еще поднять левое ухо (своей команды) в самый верх монитора (левый верхний угол). Наш верхний блок изменится так:

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {

   "_y": 75

   },

"sixthSenseIndicator": {                            //двигаем лампочку шестого чувства в произвольное место, зависящее от разрешения монитора

    "_x": 300, // фиксированное смещение по горизонту в произвольное место, зависящее от разрешения монитора

   "_y": 1200   // фиксированное смещение по вертикали в произвольное место, зависящее от разрешения монитора.

   },

"leftPanel": {

        "_alpha": 80, //изменяем прозрачность уха. Можно изменить от 0 до 100

        "_y": 1,          //смещаем по вертикали вверх (самый угол монитора)

      }

    }],

Добавилась еще одна запятая и парные скобки на блок. Здесь пример был скомбинирован - мы подняли ухо и изменили его прозрачность. Прозрачность можно менять везде.

Еще пример перемещения на заданное значение от размера экрана (на середину, четверть, три четверти, одну восьмую и пр.)

"elements": [{        // настройка перемещение элементов

"teamBasesPanel": {

   "_y": 75

   },

"sixthSenseIndicator": {                            //двигаем лампочку шестого чувства в произвольное место, зависящее от разрешения монитора

    "_x": 300, // фиксированное смещение по горизонту в произвольное место, зависящее от разрешения монитора

   "_y": 1200   // фиксированное смещение по вертикали в произвольное место, зависящее от разрешения монитора.

   },

"leftPanel": {

        "_alpha": 80, //изменяем прозрачность уха. Можно изменить от 0 до 100

        "_y": 1,          //смещаем по вертикали вверх (самый угол монитора)

      },

   "battleTimer": {          //двигаем время боя 

   "_x": "WIDTH / 1.8", //двигаем время боя приблизительно на пятую часть ширины монитора от правого края

   "_y": 5                      //переместили по вертикали на 5 от верха монитора

   }

    }],

Вот, вроде, основные принципы передвижек и изменения прозрачности элементов. Понять принцип, я думаю, можно. Еще так же можно менять цвет текста и еще кучу всего (я всего и не знаю...).

Ну и в заключение перекопипастил список элементов, которые можно двигать из шапки темы.

"leftPanel"          // панель уши левые

  "rightPanel"         // панель уши правые

  "minimap"               // миникарта

  "playerMessangersPanel",  // сообщения чат убитых(кто кого убил)

  "switcher_mc"          // панель переключения ушей

  "fragCorrelationBar"     // счёт боя

  "debugPanel"             // пинг-лаг-фпс панель

  "battleTimer"          // время боя

  "damagePanel"           // дамаг-панель

  "sixthSenseIndicator"   // индикатор(шестое чувство)

  "vehicleErrorsPanel"     // сообщения в центре экрана(о снаряжении, командире)

  "messenger"           // сообщения(чат что пишут игроки)

  "damageInfoPanel"        // ?

  "timerBig"             // таймер до начала боя

  "deathZoneTimer"        // ?

  "overturnedTimer"      // ?

  "drownTimer"            // таймер когда тонет танк

  "langBarPanel"       // ?

  "consumablesPanel"     // панель расходники и патроны

  "vehicleMessagesPanel"   // сообщения внизу в центре экрана(о том,кто попал,повредил тебя)

  "teamBasesPanel"         // полоса захвата баз

Ну и знатоки еще могут примеров накидать. Вот и получится мануал по работе с элементами :-)

я просто пытался сам добавить строки, но выбивало ошибку конфига, незнал как нужно правильно это зделать,

можите ещо подсказать как добавить рамку передвигающей панели

Share this post


Link to post

Short link
Share on other sites

можите ещо подсказать как добавить рамку передвигающей панели

Вот этого не знаю, наверно к Sirmax вопрос.

Share this post


Link to post

Short link
Share on other sites

можите ещо подсказать как добавить рамку передвигающей панели

рамку на всю "панель" сделать нельзя, но на части "панели" можно воспользоватся "border": true,

пример - границы вокруг элемента минуты:

"battleTimer": {             // будем править таймер - объект _root.battleTimer

...

"minutesMC": {             // TextField: минуты

"border": true,

...

Share this post


Link to post

Short link
Share on other sites

можите ещо подсказать почему я менял положения дебют панели, а она оставалась на старом месте, так само и минекарта

рамку на всю "панель" сделать нельзя, но на части "панели" можно воспользоватся "border": true,
пример - границы вокруг элемента минуты:
"battleTimer": { // будем править таймер - объект _root.battleTimer
...
"minutesMC": { // TextField: минуты
"border": true,
...


я зделал точно так же но ничего не изменилось, и никаких даже частей грани не добавилось(

Edited by RokTok

Share this post


Link to post

Short link
Share on other sites

я зделал точно так же но ничего не изменилось, и никаких даже частей грани не добавилось(

чтото не так с кодом(запятая не там вставили не там) вот вам мой код в пример а дальше думайте сами

snippet-battleTimer.xc

Share this post


Link to post

Short link
Share on other sites

чтото не так с кодом(запятая не там вставили не там) вот вам мой код в пример а дальше думайте сами

А как рамку выровнять,поставил "border": true, как у вас,но рамка сильно смещена влево от таймера и сам прямоугольник вытянут вниз.Забыл заскринить.

Share this post


Link to post

Short link
Share on other sites

Подскажите, как двигать панель с иконками(расходники) и панель сообщений о повреждении модулей танка? Пробовал менять координаты в файликах никакой реакции.

snippet-consumablesPanel.xc

snippet-vehicleMessagesPanel.xc

Share this post


Link to post

Short link
Share on other sites

Подскажите, как двигать панель с иконками(расходники) и панель сообщений о повреждении модулей танка? Пробовал менять координаты в файликах никакой реакции.

Реакция есть, но она видна только при отсутствии сторонних модов, затрагивающих эти элементы (например моды панели повреждений).

Share this post


Link to post

Short link
Share on other sites
Реакция есть, но она видна только при отсутствии сторонних модов, затрагивающих эти элементы (например моды панели повреждений).

плохо =( тогда и смысл их двигать пропадет. А нет другого способа их сдвинуть, если используется Standart Damage Panel?

Edited by Hawk1983x

Share this post


Link to post

Short link
Share on other sites

Только если такой функционал предусмотрен используемым модом.

Вот эта панель повреждений умеет это делать.

Share this post


Link to post

Short link
Share on other sites

Парни,а можно двигать модифицированную дебаг-панель?Хочется передвинуть к левому краю(выделено на скрине).

a26175b4c86e.jpg

Share this post


Link to post

Short link
Share on other sites

, ну так проверь, debugPanel рыть.

Я только декомпиллер освоил и то на троечку,там такого не видел:)

Share this post


Link to post

Short link
Share on other sites

такого не видел

 

Какого? Сниппет предлагаю создать, логгирющий дебагпанель. Нужно докопаться до координат каждого из элементов

 

"debugPanel": {// [scaleform UIComponent debugPanel]

"enabled": true,

"enabled": true,

"_disabled": false,

"sizeIsInvalid": false,

"__height": 24.1,

"initialized": true,

"__width": 186.5,

"clock": "_level0.debugPanel.clock",

"lag": "_level0.debugPanel.lag",

"ping": "_level0.debugPanel.ping",

"fps": "_level0.debugPanel.fps" },

Share this post


Link to post

Short link
Share on other sites

 

Какого? Сниппет предлагаю создать, логгирющий дебагпанель. Нужно докопаться до координат каждого из элементов

 

А так,попробую.Я думал вы предложили саму панель перетрусить))

Не получилось(((

Edited by КВГ

Share this post


Link to post

Short link
Share on other sites

Вот так она двигается вся, вместе с часами      
{"debugPanel": {"_x": 60, "_y": 10 }}

Share this post


Link to post

Short link
Share on other sites

Вот так она двигается вся, вместе с часами      

{"debugPanel": {"_x": 60, "_y": 10 }}

У меня всего две настройки и все в elements.xc.Пробовал вписать примерно так,ломался конфиг((

Вот мой elements.xc:

'elements.xc'

/**

* GUI elements settings (experts only)

* Настройки графических элементов (только для экспертов!)

*/

{

"timerFont": { // подстановка для формата текста

"size": 30, // размер шрифта

"font": "$TitleFont", // шрифт

"align": "center" // выравнивание

},

// Interface elements

// Элементы интерфейса

"elements": [

// _x - положение по X (по горизонтали)

// _y - положение по Y (по вертикали)

{

"sixthSenseIndicator": {

"_x": "sixthSenseIndicator._x - 100",

"_y": "sixthSenseIndicator._y -155"

},

"battleTimer": { // таймер боя

"_x": "WIDTH - 80", // установить X на 80 левее края экрана

"_y": 0, // установить Y по верху экрана

"dotsMC": { // TextField: точки

"_x": "-80/2", // центрируем

"_y": "-3", // выравниваем точки относительно цифр

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"text": ":",

"@textFormat": ${"timerFont"}

},

"secondsMC": { // TextField: секунды

"_x": 5, // выравнивание влево, поэтому x = 5

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"@textFormat": { "$ref": { "path": "timerFont" }, "align": "left" } // формат текста с выравниванием влево

},

"minutesMC": { // TextField: минуты

"_x": -85, // выравнивание вправо, поэтому x = -(width+5)

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"@textFormat": { "$ref": { "path": "timerFont" }, "align": "right" } // формат текста с выравниванием вправо

}

}

}

]

}

Я правильно понял,что надо так?

'как надо'

/**

* GUI elements settings (experts only)

* Настройки графических элементов (только для экспертов!)

*/

{

"timerFont": { // подстановка для формата текста

"size": 30, // размер шрифта

"font": "$TitleFont", // шрифт

"align": "center" // выравнивание

},

// Interface elements

// Элементы интерфейса

"elements": [

// _x - положение по X (по горизонтали)

// _y - положение по Y (по вертикали)

{

"debugPanel": {

"_x": 60,

"_y": 10 }

},

{

"sixthSenseIndicator": {

"_x": "sixthSenseIndicator._x - 100",

"_y": "sixthSenseIndicator._y -155"

},

"battleTimer": { // таймер боя

"_x": "WIDTH - 80", // установить X на 80 левее края экрана

"_y": 0, // установить Y по верху экрана

"dotsMC": { // TextField: точки

"_x": "-80/2", // центрируем

"_y": "-3", // выравниваем точки относительно цифр

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"text": ":",

"@textFormat": ${"timerFont"}

},

"secondsMC": { // TextField: секунды

"_x": 5, // выравнивание влево, поэтому x = 5

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"@textFormat": { "$ref": { "path": "timerFont" }, "align": "left" } // формат текста с выравниванием влево

},

"minutesMC": { // TextField: минуты

"_x": -85, // выравнивание вправо, поэтому x = -(width+5)

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"@textFormat": { "$ref": { "path": "timerFont" }, "align": "right" } // формат текста с выравниванием вправо

}

}

}

]

}

Share this post


Link to post

Short link
Share on other sites

У меня всего две настройки и все в elements.xc.Пробовал вписать примерно так,ломался конфиг((

Забыли пару скобок

/**

* GUI elements settings (experts only)

* Настройки графических элементов (только для экспертов!)

*/

{

"timerFont": { // подстановка для формата текста

"size": 30, // размер шрифта

"font": "$TitleFont", // шрифт

"align": "center" // выравнивание

},

// Interface elements

// Элементы интерфейса

"elements": [

// _x - положение по X (по горизонтали)

// _y - положение по Y (по вертикали)

{

"debugPanel": {

"_x": 90,

"_y": 10 }

},

{

"sixthSenseIndicator": {

"_x": "sixthSenseIndicator._x - 100",

"_y": "sixthSenseIndicator._y -155"}

},

{

"battleTimer": { // таймер боя

"_x": "WIDTH - 80", // установить X на 80 левее края экрана

"_y": 0, // установить Y по верху экрана

"dotsMC": { // TextField: точки

"_x": "-80/2", // центрируем

"_y": "-3", // выравниваем точки относительно цифр

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"text": ":",

"@textFormat": ${"timerFont"}

},

"secondsMC": { // TextField: секунды

"_x": 5, // выравнивание влево, поэтому x = 5

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"@textFormat": { "$ref": { "path": "timerFont" }, "align": "left" } // формат текста с выравниванием влево

},

"minutesMC": { // TextField: минуты

"_x": -85, // выравнивание вправо, поэтому x = -(width+5)

"_height": 100, // высота (с запасом)

"_width": 80, // ширина (с запасом)

"@textFormat": { "$ref": { "path": "timerFont" }, "align": "right" } // формат текста с выравниванием вправо

}

}

}

]

}

Share this post


Link to post

Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...