WORLD OF WARCRAFT

Тема: kgPanels - скрипты и не только!  (Прочитано 7806 раз)

0 Пользователей и 1 Гость просматривают эту тему.

prof1x

  • Новичок
  • *
  • Сообщений: 18
kgPanels - скрипты и не только!
« : 04 Июня, 2016, 13:16:49 »
  • Рейтинг:0 (+0 | 0)


Возникла пара вопросов по этому аддону:
1. Меняется название панели при перезагрузке интерфейса. Т.е. с помощью скрипта
/script ChatFrame1:AddMessage(GetMouseFocus():GetName())
получаем название панели. Например оно будет "kgPanel10". Однако после перезагрузки интерфейса панель может называться уже иначе, например "kgPanel6". В чем дело?

2. Как выглядит скрипт для onClick, в котором будет открываться окно настроек одного из аддонов? Например для открытия настроек некоторых аддонов мы в чате вводим/bt4
/kgpanels config
/gladius
/gnosis
и т.д.
Так вот какой код нужно прописать для onClick, чтобы такая же команда выполнялась при нажатии по панели?
« Последнее редактирование: 04 Июня, 2016, 15:53:54 by prof1x »

prof1x

  • Новичок
  • *
  • Сообщений: 18
Re: kgPanels - скрипты и не только!
« Ответ #1 : 04 Июня, 2016, 14:31:24 »
  • Рейтинг:0 (+0 | 0)
1ый вопрос был решен при помощи вот этих тем:
http://www.wowinterface.com/forums/showthread.php?t=34502
http://www.wowinterface.com/forums/showthread.php?t=34251

afreg

  • Завсегдатай
  • **
  • Сообщений: 437
  • Химюон - Азурегос

  • Варкрафт: +
    • Имя: Химюон
    • Класс: жрец
    • Сервер: Азурегос
Re: kgPanels - скрипты и не только!
« Ответ #2 : 04 Июня, 2016, 16:50:19 »
  • Рейтинг:0 (+0 | 0)
2. Как выглядит скрипт для onClick, в котором будет открываться окно настроек одного из аддонов? Например для открытия настроек некоторых аддонов мы в чате вводим/bt4
/kgpanels config
/gladius
/gnosis
и т.д.
Так вот какой код нужно прописать для onClick, чтобы такая же команда выполнялась при нажатии по панели?

У меня получилось запустить ExorsusRaidTools таким вот скриптом:
local editbox = CreateFrame("EditBox", "MyEditBox", UIParent, "ChatFrameEditBoxTemplate")
editbox:SetText("/exrt")
ChatEdit_SendText(editbox)
Правда интерфейсная ошибка вылазит =((
Еще есть RunSlashCmd, но она у меня не сработала (запускаю проверки через аддон WowLua)

Нашел еще вот такой вот диалог, судя по ответу автора вопроса, предложенный метод сработал.
« Последнее редактирование: 04 Июня, 2016, 17:14:41 by afreg »

prof1x

  • Новичок
  • *
  • Сообщений: 18
Re: kgPanels - скрипты и не только!
« Ответ #3 : 04 Июня, 2016, 19:57:40 »
  • Рейтинг:0 (+0 | 0)
2. Как выглядит скрипт для onClick, в котором будет открываться окно настроек одного из аддонов? Например для открытия настроек некоторых аддонов мы в чате вводим/bt4
/kgpanels config
/gladius
/gnosis
и т.д.
Так вот какой код нужно прописать для onClick, чтобы такая же команда выполнялась при нажатии по панели?

У меня получилось запустить ExorsusRaidTools таким вот скриптом:
local editbox = CreateFrame("EditBox", "MyEditBox", UIParent, "ChatFrameEditBoxTemplate")
editbox:SetText("/exrt")
ChatEdit_SendText(editbox)
Правда интерфейсная ошибка вылазит =((
Еще есть RunSlashCmd, но она у меня не сработала (запускаю проверки через аддон WowLua)

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

Спасибо, твой вариант сработал, странно что не работает с RunSlashCmd, так то он не такой громоздкий

prof1x

  • Новичок
  • *
  • Сообщений: 18
Re: kgPanels - скрипты и не только!
« Ответ #4 : 04 Июня, 2016, 20:56:38 »
  • Рейтинг:0 (+0 | 0)
для WeakAuras некорректно работает. Как только отжимаю кнопку, окно WA сразу закрывается

afreg

  • Завсегдатай
  • **
  • Сообщений: 437
  • Химюон - Азурегос

  • Варкрафт: +
    • Имя: Химюон
    • Класс: жрец
    • Сервер: Азурегос
Re: kgPanels - скрипты и не только!
« Ответ #5 : 04 Июня, 2016, 22:21:36 »
  • Рейтинг:0 (+0 | 0)
Нашел еще вот такой вот диалог, судя по ответу автора вопроса, предложенный метод сработал.

По этому рецепту написал мини-аддон (свой первый аддон :D) в 15 строчек, который добавляет глобальную функцию RunSlashCmd()
Собственно, распаковываешь архив в папку addons, перезагружаешь вов, смотришь чтоб аддон WowRunInSlash был включен и пользуешься командой RunSlashCmd("/yourcommand") для вызова своих слешовых /yourcommand
Если что, все файлы спокойно открываются в блокнотике, можно почекать их.
У меня ва спокойно открыась из чата с /run RunSlashCmd("/wa")
Если у тебя на кнопке будет все так же вырубаться, проблема в кнопке

Нернберг

  • Новичок
  • *
  • Сообщений: 51

  • Варкрафт: +
    • Имя: Нернберг
    • Класс: Паладин
    • Сервер: Галакронд
Re: kgPanels - скрипты и не только!
« Ответ #6 : 05 Июня, 2016, 10:38:44 »
  • Рейтинг:0 (+0 | 0)
WeakAuras можно вызвать и простым скриптом /run SlashCmdList.WEAKAURAS(1)

afreg

  • Завсегдатай
  • **
  • Сообщений: 437
  • Химюон - Азурегос

  • Варкрафт: +
    • Имя: Химюон
    • Класс: жрец
    • Сервер: Азурегос
Re: kgPanels - скрипты и не только!
« Ответ #7 : 05 Июня, 2016, 12:04:42 »
  • Рейтинг:0 (+0 | 0)
WeakAuras можно вызвать и простым скриптом /run SlashCmdList.WEAKAURAS(1)
Естественно. Любое действие слэшкоманды можно вызвать, впрямую написав функцию, которую эта слэшкоманда вызывает. Только я хз как эти функции массово искать. Мб вы знаете?

Нернберг

  • Новичок
  • *
  • Сообщений: 51

  • Варкрафт: +
    • Имя: Нернберг
    • Класс: Паладин
    • Сервер: Галакронд
Re: kgPanels - скрипты и не только!
« Ответ #8 : 05 Июня, 2016, 14:52:13 »
  • Рейтинг:0 (+0 | 0)
Массово только поиском по содержимому папки с аддонами по ключевому слову SlashCmdList, пример http://savepic.ru/9975787.jpg

prof1x

  • Новичок
  • *
  • Сообщений: 18
Re: kgPanels - скрипты и не только!
« Ответ #9 : 05 Июня, 2016, 15:47:41 »
  • Рейтинг:0 (+0 | 0)
По этому рецепту написал мини-аддон (свой первый аддон :D) в 15 строчек, который добавляет глобальную функцию RunSlashCmd()

Это очень помогло, спасибо  :). Осталась только проблема с тем, что некоторые аддоны открываются нормально, а некоторые закрываются сразу как кнопку отпускаешь. Пока нормально работают/kgpanels config
/stuf
А сразу закрываются /raven
/wa
Кстати хотел еще сделать кнопку на релоад интерфейса, так вот при нажатии по кнопке с кодомRunSlashCmd("/reload") вообще ничего не происходит

Нернберг

  • Новичок
  • *
  • Сообщений: 51

  • Варкрафт: +
    • Имя: Нернберг
    • Класс: Паладин
    • Сервер: Галакронд
Re: kgPanels - скрипты и не только!
« Ответ #10 : 05 Июня, 2016, 15:58:41 »
  • Рейтинг:0 (+0 | 0)
На релоад можно скрипт сделать /run ReloadUI()

afreg

  • Завсегдатай
  • **
  • Сообщений: 437
  • Химюон - Азурегос

  • Варкрафт: +
    • Имя: Химюон
    • Класс: жрец
    • Сервер: Азурегос
Re: kgPanels - скрипты и не только!
« Ответ #11 : 05 Июня, 2016, 17:45:17 »
  • Рейтинг:0 (+0 | 0)
Я так понимаю, весь функционал аддона можно реализовать и через WA (хотя мб я и не прав).
Вот пример двух кнопок для wa, одна открвыает панель настроек BigWigs, вторая WeakAuras (пользовался RunSlashCmd).
Может, пригодится.
dyeCjaGifPpjvsJsLYPuPAwkIUfvKDPsQFrsvgMuLoMIYYqv6zOeAAsv5AubFtQaJdvrNdvH1jvuVtQuDpPkCqawiGEiQktuQiUikPnssLpkvKoPIWkjjZKkQBIsq7uL4NOQAOuHwkjLNsmvQ6QsfQVIcNvQGERuHmxPk6UOeyVI)sIbd6WkSyvsEmqtgvUSKntL(mPmAPs50iwnjv1RrjA2Q42KQDRQFtPHJsTCkEUuMo01rA7kQ(UujgVuvDEu0(v6ml(iJ4dgPfH3RNDDVxZBh4uFoPX7SE5UIhJi6r4IWfFK(531TvyuNt8K3zo4Gd8KhSOd8Sxh4Hd9fxN6RVim531TvyuNtomRd4TxEWZ(6L3E5XSE7LNX1P(6lsRoUoAjpgbi)Ep)SqNzvD(iMsJyFpt2venJLYoYt19gIMwzA5YSieUi6mvyaqbifr73ICSdU4JGJt9y8r0PhKeFWGr4iUUeq6bzgFeD6bjXhmyeZaSIpIo9GK4dgmI7aej2p(i60dsIpyWi0wPaEgTwUkIXEQ4JOtpij(GbdgP6N945kUamyeW4ZLzXhH(OHOPvM4JasBOvpIl9brI9VDFvTWfUWfAkKA(f6ooTQ7RQ656EWiOHOPvM4JGmzxraPn0QhHJAgiX(rCAweqAdT6kit2vKAE9yeqAdT6rCPpisS)T7RQfUWfUWJfCCwOzH9yHmQblbqnJ21MsJy)wh1vgauyaaifr73vwW1MsJy)v1cx4cx4XcoolKbafGueTVcdalShlKptnWsDMHEDBkqkI2F6Kl8jNjxOzYfovkqQP64NGaPiAFFPZ(mWA69v1cx4cxidakaPiAFfga6SuiGZXrl5X2T7RQfUWfUqgauasr0(kma0zPqb0qyJ3MY)Z3HaYYPtUqx6dIe7F7(QAHlCHlCHlCHlCHlCHlun6lNrRB8PZDBQ61LX07RQfUWfUW65UVQw4cx4cnfsn)crdTwv1ZfPMxp2I4OZa6qwvtH1lEwvBIlDQcd(vZ5ojciTHwDLUr4QiG0gA1dg5yhCXhHJ46saPhKz8r0PhKeFWGrm2tfFeD6bjXhmyeZaSIpIo9GK4dgmcoo1JXhrNEqs8bdgXDaIe7hFeD6bjXhmyWiCKg7ZGPGdqw2IWaqetPrSVNj7kcb0(r4in1N(GizEfz8mJqEcQaA1zFkS4YLzrgCCeKy)XrbnenTY0IpxMfFe0q00kt8rA0RQ51JoAkxs)rehz1zNJGmzxrA4aPTi0wPmoDzWSHgAfGrA0RQ51Jc11L0Fef(aiEfXdqnFe6xZRhJmOOnc9jye2NbZYePMxpgHp7ZrqI9BrOTsH(emadgH(OHOPvM4dgmyecxegauyaaifr7hPF(DDBfMlSOdrEQU3q00ktlx4nchPX(myobO9JmXJLXDaw9Ccq736P3m4kfwFnYxLH8AbZfEJpchPP(0hejZRiJNze0q00kt8rqMSRiG0gA1JWrndKy)ionlciTHwDLUr4QiG0gA1JuZRhBrC0zaDiRQPW6fpRQnXLovHb)Q5CNebK2qREex6dIe7F7(QAHlCHl8ybhNfAwypwiJAWsauZODTP0i2V1rDLbafGmasr0(DLfCTP0i2FvTWfUWfESGJZczaqbifr7RaKXc7Xc5ZudSuNzOx3McKIO9No5cFYzYfAMCHtLcKAQo(jiqkI23x6SpdSMEFvTWfUWfYaGcqkI2xbiJolfc4CC0sESD7(QAHlCHlKbafGueTVcqgDwkuane24TP8)8DiGSC6Kl0L(GiX(3UVQw4cx4cx4cx4cx4cx4cvJ(Yz06gF6C3MQEx1LP3xvlCHlCH1ZDFvTWfUWfAkKA(fIgATQQNlciTHwDfKj7ksnVEmyKJDWfFeoIRlbKEqMXhrNEqs8bdgXmaR4JOtpij(GbJySNk(i60dsIpyWi44upgFeD6bjXhmye3bisSF8r0PhKeFWGbJWrASpdMcoazzlcqgrmLgX(EMSRieq7hzWXrqI9hhf0q00ktl(Czw8rqdrtRmXhH2kf6tWamcYKDfPHdK2IqBLY40LbZgAOvagPrVQMxpkuxxs)ru4dG4vepa18rOFnVEmYGI2i0NGryFgmltKAE9ye(Sphbj2VfPrVQMxp6OPCj9hrCKvNDoye6JgIMwzIpyWGrOpAiAALj(iG0gA1J4sFqKy)B3xvlCHlCHMcPMFHUJtR6(QQEUUhmYt19gIMwzA5cVr6NFx3wH5ItSOdriCryaqbidGueTFeosJ9zWCcq7hzIhlJ7aS65eG2V1tVzWvkS(AKVkd51cgmY8CzwF8olyc

prof1x

  • Новичок
  • *
  • Сообщений: 18
Re: kgPanels - скрипты и не только!
« Ответ #12 : 05 Июня, 2016, 22:41:11 »
  • Рейтинг:0 (+0 | 0)
Проблему с автозакрытием решил вот таким кодом для onClickif released then
RunSlashCmd("/wa")
end
Теперь осталась только проблема с релоадом. Пробовал следующие варианты:
if released then
RunSlashCmd("/reload")
end
if released then
RunSlashCmd("/run ReloadUI()")
end
Ни один из них работать не хочет

afreg

  • Завсегдатай
  • **
  • Сообщений: 437
  • Химюон - Азурегос

  • Варкрафт: +
    • Имя: Химюон
    • Класс: жрец
    • Сервер: Азурегос
Re: kgPanels - скрипты и не только!
« Ответ #13 : 06 Июня, 2016, 00:24:31 »
  • Рейтинг:0 (+0 | 0)
if released then
RunSlashCmd("/run ReloadUI()")
end
Ни один из них работать не хочет
if released then
ReloadUI()
end
ReloadUI() это функция, а не слэшкоманда. Собственно /run используется для запуска функций через макрос/чат

prof1x

  • Новичок
  • *
  • Сообщений: 18
Re: kgPanels - скрипты и не только!
« Ответ #14 : 06 Июня, 2016, 01:01:05 »
  • Рейтинг:0 (+0 | 0)
Все перепробовал, ничего не получается :facepalm:
Единственным решением проблемы является пока только этот код:
local f=CreateFrame("BUTTON")
f:ClearAllPoints()
f:SetAllPoints(self)
f:SetScript("OnClick", ReloadUI)
Однако он не совсем подходит, т.к. потом не могу потом менять параметры фрейма с помощью onEnter.
Может еще кто что придумает? Пока искал случайно наткнулся вот на такой аддон:
http://www.wowinterface.com/downloads/info7055-ReloadUI.html#info
Может с его помощью чего выйдет?

 

закрыть