Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

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

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

Можно ли создать такой аддон?


Гость skillcoder

Рекомендуемые сообщения

Не осилила читать все 86 страниц данной темы, потому извиняюсь если уже существует такой аддон. Искала, но не нашла. Слышала что есть аддон, который показывает на карте точное (или хотябы приблизительное) местонахождение астральных камней для квеста Путь Язычника/Воина/Мага/и т.п. . Показывает именно камни, а не осколки.

Если уже есть такой аддон - буду очень признательна если кто-нибудь может указать мне на него. Ну а если нет - буду еще более признательна если он в скором будущем появится.

Спасибо за внимание =)

Ссылка на комментарий
Поделиться на другие сайты

Можно ли написать аддон, который будет красными\синими метками показывать на карте, в чьем владении нынче места силы на Асээ-Тэпх?

Если было - извините.

Ссылка на комментарий
Поделиться на другие сайты

Доброго времени суток. Возможно ли починить аддон ControlCountdown http://ui9.ru/forum/controlcountdown/about или сделать аналогичный аддон. Или если уже кто то это сделал ткните носом, пожалуйста. :)

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

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

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

Соло-летчикам бы очень облегчило жизнь

Ссылка на комментарий
Поделиться на другие сайты

Можно ли сделать несложный по замыслу аддон?

Если при выделении Tab'ом в цель попадает пет - выделить следующую цель (в смысле опять сделать Tab). Такой аддон был бы очень полезен в борьбе с тупым таргетом АО, который очень часто выделяет ненужных петов.

Ссылка на комментарий
Поделиться на другие сайты

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

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

пробовал mission.GetWorldTimeHMS() и mission.GetLocalTimeHMS() -- только спамят ошибки в лог(( прошу, помогите.

Ссылка на комментарий
Поделиться на другие сайты

mission.GetWorldTimeHMS() и mission.GetLocalTimeHMS() возвращают таблицу в полях h, m и s (и ms во 2 случае) которой находятся значения часов, минут и секунд(и миллисекунд) соответственно.

В твоем примере функции получения времени вообще не используются.

Ссылка на комментарий
Поделиться на другие сайты

Кучу ненужной фигни кстати можешь удалить. И оставить только:

Code:
--------------------------------------------------------------------------------

-- GuildOnlineChecker

--------------------------------------------------------------------------------

function logger (online, par)

local wd = mission.GetWorldDateYMD()

local wt = mission.GetWorldTimeHMS()

--Info: addon GuildOnlineChecker: 2012/02/27 22:22:22  [--> в онлайн] [name]  заходит в игру

local str = ""..wd.y.."/"..wd.m.."/"..wd.d.." "..wt.h..":"..wt.m..":"..wt.s..(online and "  [--> в онлайн] [" or  " [<-- в оффлайн] [")..userMods.FromWString(par.name)..(online and "] заходит в игру" or "]выходит из игры")

common.LogInfo( common.GetAddonName(),str)

end

function LogOn( par )

logger(true, par)

end

function LogOff( par )

logger(false, par)

end

common.RegisterEventHandler( LogOn, "EVENT_GUILD_MEMBER_ONLINE" )

common.RegisterEventHandler( LogOff, "EVENT_GUILD_MEMBER_OFFLINE" )

Ссылка на комментарий
Поделиться на другие сайты

Спасибо большое.

Просто пробовал функцию в таком виде, в кот она была в примере:

Code:
local time = mission.GetWorldTimeHMS()

common.LogInfo( "time: ", time.h, "/", time.m, "/", time.s )

и она лишь спамила лог, а время не выдавала.

И еще вопрос. Пытаюсь писать аддон по контролю СО:

Code:
--------------------------------------------------------------------------------

-- EventCounter

--------------------------------------------------------------------------------

function EventCounter()

local wd = mission.GetWorldDateYMD()

local wt = mission.GetWorldTimeHMS()

local timestamp = ""..wd.y.."/"..wd.m.."/"..wd.d.."  ["..wt.h..":"..wt.m..":"..wt.s.."]  " -- дата, время

local q1 = "Разбитая цепь"

local q2 = "Праведная ярость"

local q3 = "Орудия Сумрачного острова"

local eventRules = rules.GetEvents()

for i in eventRules do

local eventRuleInfo = rules.GetEventInfo( eventRules [ i ]  )

local counter = rules.GetEventCounter( eventRules [ i ]  )

if eventRuleInfo then

local eventRuleInfoName = string.lower(userMods.FromWString(eventRuleInfo.name))

common.LogInfo( "Info:", timestamp, eventRuleInfo.name )

if  (eventRuleInfoName == q1) or (eventRuleInfoName == q2) or (eventRuleInfoName == q3) then

--if counter.limit == 30 then

--common.LogInfo( "Info: ", counter.value, " / ", counter.limit)

--end

end

end

end

end

--EventCounter() -- вкл, для срабатывания функции при перезагрузке аддона AddonManager-ом.

common.RegisterEventHandler( EventCounter, "EVENT_MISSION_RULES_CHANGED" )

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

Ссылка на комментарий
Поделиться на другие сайты

Code:
local time = mission.GetWorldTimeHMS()
common.LogInfo( "time: ", time.h, "/", time.m, "/", time.s )

Должно работать правильно и не должно выдавать ошибок.
Вероятно ты как-то иначе писал, с ошибками.

Существует ли переменная counter.limit когда ты к ней обращаешься? Возможно в десятках других квестов где счетчик не предусмотрен такой переменной попросту нет.

Я бы вставил проверку на существование переменной, и если она существует - проверял бы ее значение.

if counter.limit and counter.limit == 30 then
common.LogInfo( "Info: ", counter.value, " / ", counter.limit)
end
Ссылка на комментарий
Поделиться на другие сайты

если проверить на существование, выдает:

Code:
Error: addon EventCounter:   func: LogInfo, field, line: -1, defined: C, line: -1,  [C] 

Error: addon EventCounter:     func: EventCounter, global, line: 21, defined: Lua, line: 4,  [string "Mods/Addons/EventCounter/EventCounter.lua"] 

Error: addon EventCounter: Game::LuaLogInfo: param 2 (type: number) not meet the given condition: , details: int __cdecl Game::LuaLogInfo(struct lua_State *)

Ссылка на комментарий
Поделиться на другие сайты

о. а если сделать вывод, как ты предложил со временем, через .. , то все работает=) ошибок не выдает. проверю в 20-00 на СО и отпишусь.

Code:
if counter.limit then

local str = counter.value.." / "..counter.limit

common.LogInfo( "Info: ", str)

end

Ссылка на комментарий
Поделиться на другие сайты

Code:
Error: addon EventCounter:   func: LogInfo, field, line: -1, defined: C, line: -1,   [C]  
Error: addon EventCounter:     func: EventCounter, global, line: 21, defined: Lua, line: 4,   [string "Mods/Addons/EventCounter/EventCounter.lua"]  
Error: addon EventCounter: Game::LuaLogInfo: param 2 (type: number) not meet the given condition: , details: int __cdecl Game::LuaLogInfo(struct lua_State *)

Тут тебе сообщается что параметр номер 2(тип которого - номер) в функции LogInfo в строке 21 функции которая определена в строке 4 не подходит под условия.
Смотрим какую функцию используешь ты:
Allods Online/data/Mods/Docs/Modding Docs 120222/LuaApi/FunctionCommonLogInfo.html
Там написано что данная функция принимает следующие параметры:
Code:
-- параметры:
filter: string - фильтр логирования
text01: string or WString - первый обязательный текстовый аргумент
...: list of string or WString - список необязательных текстовых аргументов

Т.е. параметры 2 ... должны быть string или WString, а ты передаешь number (число).

Я же использую функцию LogInfo определенную в Allods Online\data\Mods\SampleCommon\SampleAddonBase.lua, этот скрипт у меня в аддонах подгружается перед моим скриптом, и функцию LogInfo из него я и использую. Вот ее код:
Code:
function GetStringListByArguments( argList )
local newArgList = {}

for i = 1, argList.n do
local arg = argList [ i ] 
if common.IsWString( arg ) then
newArgList [ i ]  = arg
else
newArgList [ i ]  = tostring( arg )
end
end

return newArgList
end
--------------------------------------------------------------------------------
function LogInfo( ... )
common.LogInfo( common.GetAddonName(), unpack( GetStringListByArguments( arg ) ) )
end

Которая, как можно заметить, конвертирует все параметры не являющиеся WString'ами в string'и.

Две точки (..) это оператор сложения (конкатенации, concat) строк который попросту складывает (склеивает) строки. Луа, если я не ошибаюсь, пытается автоматически конвертировать переменные под нужный тип если такая возможность предусмотрена оператором (в данном случае ..). Т.е. .. попросту превращает значения в стринги и склеивает их. "Тест раз раз"..555.." Пыщь" превращается в строку "Тест раз раз555 Пыщь", несмотря на то что 555 - это число. Параметр переданный моей функцией является строкой.


Ошибка выдается не при проверке на существование, а при попытке вывести информацию в лог. Причину я уже описал выше.
П.С., на будущее:
НЕ ВИДЯ КОДА зачастую НЕЛЬЗЯ КОНКРЕТНО СКАЗАТЬ В ЧЕМ ОШИБКА.
Ссылка на комментарий
Поделиться на другие сайты

Ну как это не видя?) Весь код я выкладывал на предыдущей странице.

Спасибо за разъяснения.

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

Сейчас попробовал в качестве каркаса часики phantime, но что-то не получилось...

Сначала, пожалуй, проверю, считает ли оно вообще, а потом попыхчу. Ну или если кто поможет с ГУИ, буду крайне благодарен.

Ссылка на комментарий
Поделиться на другие сайты

"Код я выкладывал, там я делал иначе но потом делал по-другому, а когда сделал третьим способом то работало но была какая-то ошибка" и "конкретные примеры кода в случае когда что-то не работает" это несколько разные вещи.

Гуи - тебе нужна панель WidgetPanel, в ней TextView, в нем параметр который можно менять. Функцией SetVal( self, tag, value ) значение меняется из игры.

Что не получилось? Как часы сделаны смотрел?

Ссылка на комментарий
Поделиться на другие сайты

Уже стало получатся) Следующий вопрос, как в файле формата текста задать перенос строки?

Code:
<header alignx = "center" fontsize="14"><rs class="class"><r name="111"/><r name="222"/><r name="333"/></rs></header>
Ссылка на комментарий
Поделиться на другие сайты

<tr>Одна строка</tr><tr>Вторая строка</tr>

Почитай тему касательно создания GUI, найти ее можно через гугл.

Ссылка на комментарий
Поделиться на другие сайты

Оффтопите господа....

1-е устное предупреждение. Дальше буду банить

*почему здесь нет смайликов? :( *

synmais, нафига тебе переносы? Делай разные TextView

Если очень хочется можешь покопаться в панелях CuEx - там оно где то есть

Ваших кодов форматирования недостаточно, чтобы переносы заработали

Ссылка на комментарий
Поделиться на другие сайты

Ему нужны не переносы, а разные строки. Про переносы кстати в теме гуи тоже написано. Текствью может неудобно ему разные делать.

Ссылка на комментарий
Поделиться на другие сайты

Существует такая проблема, отследить кто из участников гильдии онлайн не выполнил квесты на гильдию. Я имею ввиду Колыбель, Сумрачный Остров, ну и ежедневные дейлы у регистратора гильдий. Нельзя ли написать аддон чтобы в ги чате выскакивало сообщении о том что пример :( Вася Пупкин выполнил квест орудия сумрачного острова в 20.32. ) .

Ссылка на комментарий
Поделиться на другие сайты

Насколько я знаю, в общедоступные чаты аддоны писАть не могут ни при каких обстоятельствах. Да и такую личную информацию, как сдача определенного квеста определенным человеком можно вытащить, если только он поставит твой аддон (т.е. все согильдяи должы его установить). Можно наверн забабахать онлайн-базу, когда, например, человек сдает что-то определенное и его аддон шлет инфу на сервер (форум). Посмотри эту тему, может тоже сойдет, хотя и не полная автоматика, надо логи просматривать.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования