Jump to content

Bandits User Interface: Custom Bar


Hoft

Recommended Posts

  20-й раздел меню Бандитского интерфейса позволяет добавить к панели умений дополнительные действия. Действия можно активировать мышкой или забиндить кнопки и прожимать как скилы.

 

W60e.png

 

  Расположение Кастом Бара:

0eph.png

 

  Количество и размер кнопок адд-он выбирает динамически на основании активированных в меню кнопок. Там же доступен предпросмотр панели.

 

  Команды лидера.

  Нажимать может кто угодно но только лидер группы/рейда может отдавать команды собираться, атаковать, сдаваться, и объявлять перерыв. При нажатии вся группа увидит соответствующее оповещение.

  У каждого оповещения своя реакция:

 - Собираться, атаковать просто звук и сообщение на экране.

 - Команда "Вайп" будет висеть на экране пока все не лягут. Так же будет видно сколько людей задерживает группу.

 - Команды "Перерыв" будут сопровождаться обратным отсчетом до окончания перерыва.

  Любую из команд можно отменить повторным нажатием.

  "Команды" будут полезны если не все присутствуют в голосовом канале или же наоборот собрались флудерасты и РЛу слово вставить не дают. Есть и ограничения:

 - Команды попросту не будут видеть бедолаги игроки без Бандитского интерфейса.

 - Команды будут видеть только те кто находится в той же локации что и вы.

 

  Внимание опасность!!! Далее только для продвинутых! Ламерам и слабонервным лучше воздержаться от прочтения и использования.

 

  Собственные конопки.

  Не-огра-ни-чен-ный простор для фантазии! Для своей кнопки можно задать действие в виде слеш команды:

 - Эмоция. /sleep, /dance, /lute, к примеру

 - Команда. /reloadui, /logout, /quit, к примеру

 - Скриптовая команда. Начинается со /script. Тут можно творить вообще невообразимое потому что в вашем распоряжении весь доступный адд-онам функционал. При желании/по глупости можно игру наизнанку вывернуть. *шепот* или устроить оказию другим игрокам.

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

 

  Выбор значка.

  Для кнопок можно самим задавать значок. Был выбор: делать какой то интерфейс, дающий возможность то ли искать, то ли выбирать значек. Если выбирать то список будет ограничен. Если использовать поиск то все будет сильно зависеть от удачности выбранного ключевого слова, плюс у ЗоСов со систематизацией наименований все как то не очень. В итоге была дана возможность выбирать значек без каких либо ограничений. Хоть картинка вашего рабочего стола!

  Для выбора значка в поле Texture filename нужно вписать/вставить путь к файлу с изображением. Меню тут же отрисует "то что вы ему дали". Если допущена ошибка в имени файла/пути то значок останется черным или белым. Стоит отметить что значки должны быть в формате игровых текстур (.dds). Клиент под Макинтош почему то и .png спокойно хавает. Пример "кастомного" значка: /BanditsUserInterface/textures/Bandits_logo.dds. Самый простой способ это использовать те значки которых и так неимоверное количество в самой игре.

  Я, правда, без понятия как обычным смертным это делать. Разработчик декодит игру и ковыряется в исходниках или открывает список тут: https://wiki.esoui.com/Texture_List. Можно установить адд-он Texture It: https://www.esoui.com/downloads/info970-CirconiansTextureIt.html, там можно искать и просматривать картинки прямо в игре. В любом случае можно оставить те что уже присутствуют по умолчанию или писать краткий текст, тогда вместо картинки будет надпись, и это второй тип значка:

  Надпись вместо значка. Если в поле Texture filename вписать текст не более 5 символов то этот текст будет использоваться вместо значка.

Edited by Hoft
Link to post
  Слэш команды.
 
  Команды чата. Используются для переключения каналов чата.

/guild1-5 or /g1-5 – Переключиться на канал гильдейского чата 1-5-й гильдии
/officer1-5 or /o1-5 – Переключиться на офицерский чат 1-5-й гильдии
/party or /p – Переключиться на чат группы
/tell or /t or /w or /whisper [name] – Написать личное сообщение
/reply or /respond or /r – Ответить на личное сообщение
/say or /s – Переключиться на локальный канал
/yell or /y – Переключиться на канал "для истерик"
/zone or /z – Переключиться на канал зоны
/zen, /zde , /zfr – Переключиться на языковой канал зоны
/emote or /e or /me – Переключиться на канал эмоций

  Примеры:
/script StartChatInput("/p brb 2 min")
/script StartChatInput("/s Там-та-дам")
/script StartChatInput("/z Гильдия Daggerfall Bandits проводит набор активных игроков")
 
  Игровые команды.

/bug, /feedback – Открыть интерфейс баг репорта
/chat, /help – Открыть интерфейс почты Деда Мороза ЗоС
/chatlog – Включить/выключить функцию писать сообщения чата в файлик ChatLog.txt
/fps – Включить/выключить панельку с пингом, фпс
/invite [name] – Пригласить игрока в группу
/jumptofriend [name] – Телепортироваться к игроку
/jumptogroupmember [name] – Телепортироваться к игроку
/jumptoguildmember [name] – Телепортироваться к игроку
/jumptoleader – Телепортироваться к лидеру группы
/logout – Выйти в окно выбора персонажа
/quit – Выйти из игры
/reloadui – Перезагрузить интерфейс
/stuck – Телепортироваться к ближайшему святилищу

 

 

  Примеры:

/jumptoleader      значок: /esoui/art/compass/groupleader.dds

/invite @FriendName     значок: esoui/art/tutorial/contact-radialicon_invitegroup_up.dds или esoui/art/journal/leaderboard_tabicon_guest_up.dds

 

  Команды адд-онов.

 

 

  Команды Бандитского интерфейса:

/bui [hh/dm]

/regrouper, /rg [ list/save/disband/regroup/add [name] ] – Регрупер
  Команды Телепортера (если установлен Chat Tab Selector):
/home – Телепортироваться домой
/friendhome, /fh – Телепортироваться в дом к другу
/guildhall, /gh – Телепортироваться в гильдхолл
/tp Zone Name - Телепортироваться в указанную зону

 

 

  Примеры:

/rg disband     значок: esoui/art/hud/radialicon_cancel_up.dds или esoui/art/contacts/tabicon_ignored_up.dds

/tp Stormhaven     значок: esoui/art/icons/poi/poi_wayshrine_oneway_complete.dds или esoui/art/tutorial/poi_city_complete.dds

 

  Эмоции.

 

 

/angry
/cuckoo
/handtoheart
/pointdown
/situps
/annoyed
/curtsey
/headache
/pointleft
/sleep
/applaud
/dance
/headscratch
/pointright
/stagger
/approve
/dancedrunk
/heartbroken
/pointup
/stop
/armscrossed
/disapprove
/hello
/poke
/stretch
/beckon
/disgust
/huh
/pour
/surprised
/beg
/dismiss
/humble
/pray
/surrender
/beggar
/doom
/impatient
/preen
/tap
/bestowblessing
/downcast
/jumpingjacks
/push
/taunt
/bless
/drink
/kiss
/pushup
/thank
/blowkiss
/drum
/kneel
/pushups
/thanks
/boo
/drunk
/kneelpray
/rally
/thankyou
/bored
/dustoff
/knock
/ritual
/threaten
/bow
/eat
/kowtow
/rubhands
/thumbsdown
/breathless
/exasperated
/laugh
/rude
/thumbsup
/brushoff
/facepalm
/leanback
/saluteloop
/tilt
/bucketsplash
/faint
/leanside
/scared
/torch
/celebrate
/fistpump
/leaveme
/scratch
/touch
/cheer
/flirt
/lol
/search
/twiddle
/clap
/flute
/lute
/shakefist
/wagfinger
/cold
/followme
/shh
/wand
/come
/goaway
/no
/shieldeyes
/wave
/comehere
/grats
/nod
/shout
/welcome
/confused
/greet
/overhere
/shovel
/congrats
/hail
/payme
/shrug
/whistle
/congratulate
/hammer
/phew
/sick
/write
/controlrod
/hammerlow
/playdead
/sigh 
/cower
/hammerwall
/point
/sit
/yes
/crouch
/handsonhips
/pointback
/sitchair
/you
/horn
/cry

 

 

  Примеры:

/applaud    значок:  esoui/art/treeicons/store_indexicon_convenience_up.dds

/congrats    значок:  esoui/art/treeicons/store_indexicon_novelties_up.dds

/playdead    значок:  esoui/art/treeicons/tutorial_idexicon_death_up.dds

/lute    значок:  esoui/art/emotes/emotes_indexicon_entertain_up.dds

Edited by Hoft
Link to post

  Скриптовые команды. Самое сложное и в то же время интересное. Этот раздел будет со временем пополняться новыми идеями.

 

  Получение значков:

 

 

  Значок предмета инвентаря:

/script local itemIcon=GetItemLinkInfo("itemlink") StartChatInput(itemIcon)

itemlink - это название предмета, если его линкануть в чат

  Значок предмета из раздела коллекций:

/script StartChatInput(GetCollectibleIcon(id))

id можно узнать если кликнуть правой кнопкой мыши по предмету в разделе коллекции>link to chat, выделить, скопировать, вставить в текстовом редакторе. Циферка это "айдишник".

  Значок умения на панели:

/script local texture=GetSlotTexture(slot) StartChatInput(texture)

slot - это номер слота на панели умений. 3 это первый слот, 7 это последний, 8 это ульта.

  Посмотреть на значок:

/script d("|t26:26:/esoui/art/lfg/lfg_tank_up_64.dds|t")

 

 

 

  Активация "мементоса", одевание костюма, смена прически, призыв питомца и все то что находится в разделе коллекции:

 

 

/script UseCollectible(id)

id можно узнать если кликнуть правой кнопкой мыши по предмету в разделе коллекции>link to chat. Выделить, скопировать, вставить в текстовом редакторе. Циферка это "айдишник".

Значок можно получить командой /script StartChatInput(GetCollectibleIcon(id))

 

 

 

  Дата/время и пр.:

 

 

/script d(GetTimeString())

/script d(GetDate())

/script d(GetAPIVersion())

/script d(GetFramerate())

/script StartChatInput(GetRawUnitName("boss1"))

/script d(GetMapName())

/script d(AreAnyItemsStolen(BAG_BACKPACK) and "Есть ворованное" or "Ворованного нет")

 

  Прочая неведомая но жутко интересная хрень:

/script slot=EQUIP_SLOT_HEAD d("["..slot.."] "..GetItemName(BAG_WORN, slot).." - "..GetItemCondition(BAG_WORN, slot).." "..tostring(DoesItemHaveDurability(BAG_WORN, slot)))

/script local link=GetItemLink(BAG_WORN,EQUIP_SLOT_CHEST) local hasSet,setName,_,numEquipped,maxEquipped=GetItemLinkSetInfo(link) d(setName)

/script for pin,data in pairs(ZO_MapPin.PIN_DATA) do local texture=data.texture d(pin.." ("..tostring(data.size)..") |t18:18:"..tostring(texture).."|t"..tostring(texture)) end

/script for _, itemData in pairs(SHARED_INVENTORY:GenerateFullSlotData(nil, BAG_BACKPACK)) do
if itemData and itemData.itemType==ITEMTYPE_TROPHY then d(itemData.name.." "..itemData.stackCount) end
end

 

 

 

  Смена своей роли в группе:

 

 

/script UpdateSelectedLFGRole(LFG_ROLE_DPS / LFG_ROLE_HEAL / LFG_ROLE_TANK)
Значки:
esoui/art/lfg/lfg_tank_up_64.dds
esoui/art/lfg/lfg_dps_up_64.dds
esoui/art/lfg/lfg_healer_up_64.dds

 
  Выставление, да простят меня за это ЗоСы, на панель выбранного умения:

Начинаем приступать к реальному мозгокрутству.
 
/script
local _,i=GetAbilityProgressionXPInfoFromAbilityId(id)
local _,m,r=GetAbilityProgressionInfo(i)
local _,_,index=GetAbilityProgressionAbilityInfo(i,m,r)
CallSecureProtected('SelectSlotAbility', index, slot)
 
slot это слот умения на панели. 3 это первый слот, 7 это последний, 8 это ульта.
id можно получить, к примеру, следующим образом: Выставляем на панель умение, пишем в чат: /script StartChatInput(GetSlotBoundId(slot))
Значок можно получить: /script local texture=GetSlotTexture(slot) StartChatInput(texture)

 

  Использование умения:

 

 

Это уже из разряда читорства и такие действия запрещены. Решил сразу написать чтоб сотню раз не отвечать на один и тот же вопрос.
Использование предмета из инвентаря. Это можно но через Ж потому что инвентарь тут сделан каким то рукожопом и править этот сущий кошмар вряд ли когда то кто то решится. Т.е. как бы и можно и в то же время скриптовой командой тут не отделаешься. Тоже чтоб сразу ответить на возможные вопросы.

 

  Написать "в личку" игроку "в таргете":

 

 

/script local name=GetUnitDisplayName('reticleover') if name then StartChatInput("/w "..name.." ") else a("No target") end

Значок: esoui/art/tutorial/chat-notifications_up.dds

Эту команду будет удобно забиндить на кнопку.

 

 

 

  Сообщить о своей "заинтересованности" )):

 

 

  Интерактивный предмет или NPC

/script local _,name=GetGameCameraInteractableActionInfo()StartChatInput('/s Я смотрю на '..tostring(name))

  Другой игрок:

/script local name=GetUnitDisplayName('reticleover') StartChatInput('/s Я смотрю на '..tostring(name))

  У меня в целом широкие взгляды:

/script local _,name=GetGameCameraInteractableActionInfo()
name=name or GetUnitDisplayName('reticleover')
if name then StartChatInput('/s Я смотрю на '..tostring(name)) end

 

 

 

  Использование функций различных адд-онов:

 

 

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

/script BUI.OnScreen.Notification(103531,"Roaring Flare",nil,10000,nil,"@Zymel")

/script if BUI_StatShare then BUI_StatShare:SetHidden(not BUI_StatShare:IsHidden()) else BUI.StatShare.UI_Init() end

/script WPamA.ChangeUIMode(1)

/script BUI.Vars.EnableWidgets=not BUI.Vars.EnableWidgets

  Убирать с экрана/делать видимым:

/script ZO_CompassFrame:SetHidden(not ZO_CompassFrame:IsHidden())

/script ZO_FocusedQuestTrackerPanel:SetHidden(not ZO_FocusedQuestTrackerPanel:IsHidden())

/script ZO_ActionBar1:SetHidden(not ZO_ActionBar1:IsHidden())

/script ZO_PlayerProgress:SetHidden(false) ZO_PlayerProgress:SetAlpha(1)

 

 

 

  Вам просто жизненно необходимо сообщить о чем то всей группе:

 

 

/script BeginGroupElection(nil, GetUnitDisplayName('player').." нубас")

 

 

Edited by Hoft
Link to post
DemGruim

Кажется, кого-то утомили флудерасты в рейдах  :D  ;)

 

 

 

Команды попросту не будут видеть бедолаги игроки без Бандитского интерфейса.

спасибо, посмеялась)) 

 

Вообще клёвая штука! Спасибо за твой труд, ты творишь какое-то аддонистое волшебство  :clapping: 

P.S. вопрос на засыпку из серии "любопытно": а если использовать свои изображения, то размер неважен, только формат .dds, и "оно само" будет сжимать до нужных размеров ? Или всё-таки стоит придерживаться указанных размеров по ссылке (32x32 / 64x64)? 

Link to post

 

 


если использовать свои изображения, то размер неважен, только формат .dds, и "оно само" будет сжимать до нужных размеров ? Или всё-таки стоит придерживаться указанных размеров по ссылке (32x32 / 64x64)?

Размер не важен. Он будет уменьшен до размеров значка. Кратность размеров должна соблюдаться. Не пытайтесь рисовать. Нужен специальный редактор, специальный плагин, знание формата. И такое изображение будет доступно только на вашем компе. Лучше использовать широкий ассортимент того что уже "зашито" в игру.

Link to post
Winstonshead

Спасибо, отличный аддон

Edited by Winstonshead
Link to post

Версия 3.225:

- Исправлено отображение значков

- Расширен размер поддерживаемых скриптовых команд

- Поле ввода скрипта теперь можно разворачивать в полноценное текстовое поле и писать в несколько строк.

 

Бонусом:

 

 

  Выставление в первый слот панели умений Purge:
/script
 local _,i=GetAbilityProgressionXPInfoFromAbilityId(40232)
 local _,m,r=GetAbilityProgressionInfo(i)
 local _,_,index=GetAbilityProgressionAbilityInfo(i,m,r)
 CallSecureProtected('SelectSlotAbility', index, 3)
Значок: /esoui/art/icons/ability_ava_005_a.dds
 
  Выставление в пятый слот панели умений Рапидки:
/script
 local _,i=GetAbilityProgressionXPInfoFromAbilityId(40211)
 local _,m,r=GetAbilityProgressionInfo(i)
 local _,_,index=GetAbilityProgressionAbilityInfo(i,m,r)
 CallSecureProtected('SelectSlotAbility', index, 7)
Значок: /esoui/art/icons/ability_ava_002_a.dds

 

 

Edited by Hoft
Link to post
  • 9 months later...

Можно подробнее? Совсем не понятно что именно ты хочешь, особенно ввиду того что в игре отдельная кнопка выделена на это действие.

Link to post

В игре это реализовано очень криво: у тебя одна и та же кнопка для взаимодействия и с трупом игрока и с живым игроком. Я хочу, чтобы у меня это были две разные кнопки, чтобы когда труп лежит под стаком рейда, мне эта кнопка не вызывала меню взаимодействия с живыми, которые загораживают труп.

Edited by k111a
Link to post
  • 2 months later...
colwadosgame

Добрый день, подскажите как закончить скрипт чтоб сообщение в чат летело сразу, без нажатия Inter

например /script StartChatInput("/z Гильдия Daggerfall Bandits проводит набор активных игроков") и потом нужно нажать ввод

Link to post

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

Link to post
  • 3 weeks later...
Skysleam

Интересует, можно ли как то убрать с экрана общие уведомления и второстепенные, а оставить только звук (имею ввиду блок тейкин аим и тд)?

Link to post
Murzzikk

Есть команда для выхода из группы? Кнопку поставить внизу, данж прошел, кнопку нажал.

Edited by Murzzikk
Link to post
Veerbat

@Murzzikk,  "/groupleave" , это?

 

UPD: что то я невнятно выразился)   script GroupLeave()  там надо написать

Edited by Veerbat
Link to post
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Сообщения

    • greatebattle
      Я давно ни с кем не воюю, однако иногда ловлю себя на том, что кофе у меня закипело, сварилось, убежало - но при этом кофе же у меня чёрный, крепкий, сладкий. Да, мать говорила "кофе" в среднем роде, так у меня отпечаталось. А сама я начала пить кофе в зрелом возрасте, поэтому другая половина слов отпечаталась уже в правильном виде. Тем не менее, я стараюсь употреблять правильные формы, если только детские привычки не подводят. Насчёт происхождения слов - рекомендую лекции академика Зализняка, есть на ютьюбе, есть в текстовом виде. Очень познавательные. (Кроме того, их не прерывают дурацкие картинки с гримасами ведущего, что, с моей точки зрения, преогромное достоинство.) P.S.Просветите, как теперь вставлять видео в коммент? Не нахожу.
    • Hoft
      По поводу биндов: В лут менеджере есть контекстные кнопки при взаимодействии с различными типами хранилищ, при этом используются дефолтные для игры клавиши. Назначаемых клавиш там нет. Добавить не сложно не этого не будет. С одной стороны потому что этот механизм довольно кривой и вызывает баг на стороне сервера у игроков которые очень любят бинды. А с другой делать бинд на действие которое производится крайне редко и на это действие в самой игре уже реализован механизм... мягко говоря тупо. По поводу бижутерии: Скидывается. Что то не так у тебя. Попробуй нажать кнопку "Reset local".
    • Kubik
      Искатели Lost Ark! Зима — традиционно холодное время года, но в этот раз она слишком морозная даже для шувьердцев. Северяне выписали с Папуаники посланницу юга, которая принесла с собой солнечную погоду и теплый ветер. Все бы хорошо, но из-за резкой перемены температуры начали таять ледники. А еще климатические аномалии повлияли на Хранителей: они начали сбиваться в стаи, чтобы прийти друг другу на выручку в случае угрозы. Итак, что же ожидает нас впереди. 20 января в крупных городах Акрасии появится морозная стела [Рейды Зимолетья], которая будет доступна ежедневно с 06:00 мск до 05:40 мск в течение 5 недель. Награда доступна 1 раз в сутки, при этом количество попыток неограниченно. Принять участие в событии сможет любой игрок 50-го уровня, с рейтингом снаряжения выше 250. Список Хранителей будет меняться ежедневно. Для Хранителей начнет действовать особый режим «Баланс», уравнивающий экипировку всей группы до определенного значения, а сложность рейда будет зависеть от количества участников. У входа в локацию появится «Боевой арсенал», где игроки смогут использовать инвентарь, менять боевые предметы и умения. Кроме этого, подойдя к «Боевому арсеналу» во время сражения, можно пополнить запасы расходных предметов, а также восстановить количество попыток умения Пробуждения. Обратите внимание: время, отведенное на убийство Хранителей, ограничено. Доступное число возрождений — 6. Механики боя Все Хранители получат ускорение, но при этом изнурить их станет намного проще. Хранитель, который является первым в списке, всегда готов прийти на выручку к другим. При этом на Хранителя, с которым вы сражаетесь, начнет действовать негативный эффект замедления атаки и передвижения. При успешном изнурении или расколе брони Хранителя во время боя игроки будут получать сферы усиления, действующие на всех участников группы.  После выполнения механики Хранитель, пришедший на помощь, убежит. Совет: в этот момент можно использовать Феромонную бомбу, чтобы вернуть Хранителя обратно.  Полученные эффекты могут суммироваться до 3 раз и действуют до конца сражения. В награду за победу вы получите Зимолетные жетоны, обменять которые можно у  NPC [Обмен зимолетных жетонов] в крупных городах Акрасии, и серебро. По будним дням за успешный рейд вам достанется 100 жетонов, по выходным — 180.  Награды Обратите внимание: получить жетоны за прохождение события «Зимолетье» можно не более одного раза в день на каждого персонажа. Не забудьте забрать сундук с наградой перед выходом — при повторном входе он уже не появится. До встречи в LOST ARK!
    • Sreg
      Куда дели кнопку "непрочитанный контент"? верните как было!...
    • Richard_Riddick
      Правильный ответ: yes'либы)))  
  • Upcoming Events

×
×
  • Create New...