Вопросы по Lua, XML, WoW API.  
Автор Сообщение



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Огромное спасибо!



19 мар 2012, 14:47
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

Fiction писал(а):

Возможно сделать чтоб мой фрейм, фрейм таргета , и т.д. появлялись только когда я в бою? Через скрип или мб аддон какой?



Делал подобное в своем UI, но у меня там свои неймплейты и юнитфреймы, и переписывать под стандартные весь код лень.

А точнее у меня было так:

У интерфейса есть два режима которые автоматически переключаются набором событий.

Режим боя показывает фрейм игрока и неймплейты над френдли таргетами, а режим "отдыха" скрывает их.

Они показываются если:

  ты в бою или

  процент твоих хп или маны ниже, например, 90%, или

  на тебе есть некоторые важные ауры, типа тех, что показывает LoseControl

Ну и при наличии цели - ничего не скрывается.

 

UPD

По поводу фикса кода.

Проверил еще раз - с авторским кодом не работает.

Так-что либо оставьте все как есть (никаких проблем быть не должно), либо для красоты и большей "правильности" замените вот это

Код:

elseif status=="confirm" then

  if queueTimethen

    SafeQueue_PrintTimeWaited()
    queueTime=nil

    remaining=0

  end 
  queue=i
end

на это:

Код:

elseif status=="confirm" then

  if queueTimethen

    SafeQueue_PrintTimeWaited()
    queueTime=nil 
  end
  remaining=0
  queue=i
end



19 мар 2012, 14:49
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Отрицание писал(а):

По поводу фикса кода.

Проверил еще раз - с авторским кодом не работает.

не понял, что ты имеешь ввиду, объясни, что ты изменил в аддоне плз

и еще вопрос, для бг этот таймер не работает?



19 мар 2012, 15:08
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

А в оригинальной английской версии он работал для бг?

А точнее - работал-ли он для обычного бг и для рбг. Для рбг думаю да, а для бг - хз.



19 мар 2012, 15:14
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Отрицание писал(а):

А в оригинальной английской версии он работал для бг?

А точнее - работал-ли он для обычного бг и для рбг. Для рбг думаю да, а для бг - хз.

проверь, все ли правильно http://pastebin.com/85HhbF1v нет, не работал для бг вроде

Насчет кодировок не знаю, я менял ANSI на UTF-8, думал может в этом проблема.

Еще одна просьба, мог бы ты урезать аддон, оставив только скрытие кнопки и таймер(то есть никаких ингейм настроек и т.п)? Хочу добавить в свою тему со скриптами.



19 мар 2012, 15:14
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

Мб кто шарит, запилит как в дефолте провернуть скриытие фреймов вне боя?

 

 

 



19 мар 2012, 15:22
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

wit4er писал(а):

Отрицание писал(а):

А в оригинальной английской версии он работал для бг?

А точнее - работал-ли он для обычного бг и для рбг. Для рбг думаю да, а для бг - хз.

проверь, все ли правильно http://pastebin.com/85HhbF1v нет, не работал для бг вроде

Насчет кодировок не знаю, я менял ANSI на UTF-8, думал может в этом проблема.

Так немного правильнее:

http://pastebin.com/DLVsXR8w

хотя и то, как у тебя, должно работать.

 

Кодировка должна быть UTF-8 (юникод), если будет ANSI то вов неправильно раскодирует русские символы, весь текс на русском в коде превратится в вопросики.

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

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



19 мар 2012, 15:26
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Отрицание писал(а):

 

использовать гсаб по паттерну в виде русских букв - нельзя.  

я теперь понял, в чем была моя ошибка Smile



19 мар 2012, 15:29
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

Посмотрел код - аддон задуман работать только для арены (не для бг, рбг или скримишей), там, по идее, не много переделывать, что-бы он работал не только для арен, но есть вопрос: можно одновременно стоять в очереди в 2 места, например на случайное бг и арену?



19 мар 2012, 15:36
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Отрицание писал(а):

Посмотрел код - аддон задуман работать только для арены (не для бг, рбг или скримишей), там, по идее, не много переделывать, что-бы он работал не только для арен, но есть вопрос: можно одновременно стоять в очереди в 2 места, например на случайное бг и арену?

Нет, нельзя. А можешь все-таки настройки у него вырезать и функцию с минимапой?

 



19 мар 2012, 15:39
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

Какую функцию с минимапой?



19 мар 2012, 15:45
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Код:

local function SafeQueue_MiniMapButton(self, button)
if SafeQueueDB.minimap == "off" or not IsRaidLeader() then return end
if (button == "RightButton") then
for i=1, GetMaxBattlefieldID() do
local status, _, _, _, _, _, registeredMatch = GetBattlefieldStatus(i)
if (registeredMatch == 1) then
if (status == "queued") then
DropDownList1:Hide()
AcceptBattlefieldPort(i, 1)
AcceptBattlefieldPort(i, 0)
end
break
end
end
end
end



19 мар 2012, 15:50
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

Ээ, а в смысле делать она что должна? Автоматически входить на арену если ты лидер рейда? Или отменять рег? Или что?



19 мар 2012, 15:56
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Отрицание писал(а):

Ээ, а в смысле делать она что должна? Автоматически входить на арену если ты лидер рейда? Или отменять рег? Или что?

При нажатии правой кнопкой мыши на значок очереди у минимапы, автоматически снимается очередь. Выпадающего меню соответственно тоже нет.



19 мар 2012, 16:00
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

Уверен, что стоит возвращать пункт покинуть очередь в меню?

На него, вроде, если случайно мисскликнуть, когда уже висит инвайт, то откажешься от входа на арену?



19 мар 2012, 16:03
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Отрицание писал(а):

Уверен, что стоит возвращать пункт покинуть очередь в меню?

На него, вроде, если случайно мисскликнуть, когда уже висит инвайт, то откажешься от входа на арену?

Я так понял в аддоне сделана защита от Esc(когда закрываеться окошко StaticPopup, и можно зайти на арену выбрав "Начать бой" у миникарты) + к этой защите сделано быстрое снятие очереди, при нажатии на значок у миникарты. Если убрать обе функции, то будет все по-старому.



19 мар 2012, 16:10
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

Если выпилить настройки и функцию с минимапы то как-то так:

http://pastebin.com/3D3jfhvM

Можно все это еще очень сильно сокращать делая /run скрипты, но я не фанат этого, аддон намного удобнее.



19 мар 2012, 16:11
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Отрицание писал(а):

Если выпилить настройки и функцию с минимапы то как-то так:

http://pastebin.com/3D3jfhvM

Можно все это еще очень сильно сокращать делая /run скрипты, но я не фанат этого, аддон намного удобнее.

local function SafeQueue_PrintTimeWaited() тоже можно убрать, да?

SafeQueueDB = SafeQueueDB or {announce = "self"} зачем нужна эта строчка?



19 мар 2012, 16:12
Профиль

0
Сообщение Вопросы по Lua, XML, WoW API.

П.С.

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

/run SafeQueueDB.announce = "self"

/run SafeQueueDB.announce = "raid"

/run SafeQueueDB.announce = "party"

wit4er писал(а):

local function SafeQueue_PrintTimeWaited() тоже можно убрать, да?

Это уберет анонс времени проведенного в очереди в чат, тогда так:

http://pastebin.com/5bjPHzN6


А, и только-что заметил, вот в этом:

http://pastebin.com/3D3jfhvM

нужно еще изменить вот это:

if secs > 0 and SafeQueueDB.enabled == true then

на это:

if secs > 0 then


Иначе не будет работать.



19 мар 2012, 16:13
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Вопросы по Lua, XML, WoW API.

Еще я убрал

Код:

  1. local function SafeQueue_Print(msg)
  2.         DEFAULT_CHAT_FRAME:AddMessage("|cff33ff99SafeQueue|r: " .. msg)
  3. end

А можно ли добавить 2 минутный таймер для БГ?



19 мар 2012, 16:22
Профиль
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru