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

Дайджест за январь-март

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

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

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

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

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

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

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

Подробнее

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

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

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

Setras

Разработчик аддонов
  • Постов

    1703
  • Зарегистрирован

  • Посещение

Весь контент Setras

  1. Матан не пробовал? Х_х guild.GetProgress() единственное подходящее.
  2. Открывать стойла и прочую хтень можно и через альт+контрол. А вот в бою удобее использовать кнопки типа Q E R F V C X T G B Y H N U J M
  3. Ну я юзал Sysinternal's process explorer xD
  4. Я думаю Quote: пожалуйста не надо писать "запускаЙ в песочнице" и прочую ересь, хотите помочь, дайте ссылку =) Надо было написать большим красным жирным текстом. Тогда м.б. alexcas сперва подумал - а стоит ли писать то что он написал.
  5. Quote: Я согласен убирать окна вручную. Сделайте пожалуйста такой аддон. Если ТЫ согласен убирать окна ВРУЧНУЮ, то что мешает тебе ВРУЧНУЮ нажимать "отказ" на УВЕДОМЛЕНИЯХ?
  6. В аллодах весьма широко настраивается чат. Сделай новую вкладку только с личными сообщениями и вытащи ее в отдельное окно...
  7. Да, можно автоматически отклонять приглашения. Но окошко убирать придется вручную.
  8. Эту фишку убрали разработчики и работать она не будет. Можно реализовать ее немного геморным способом.
  9. На счет этого я не в курсе. В моем случае текстура была без центра (center 0) т.е. узора не было. Как делается в текстурах с черепицей - не знаю, но полагаю что Left + Center + Right должно быть == Width. Но на счет этого я не уверен.
  10. Да, инфу о том что кто-то сдал квест можно получать из сообщения в гильд чат "Я заснял, я заснял!". EVENT_CHAT_MESSAGE.
  11. Это TiledTexture, т.е. текстура которая растягивается/черепится(черепится - что делает). Например делаешь свиток, и в засисимости от количества текста в нем он должен растягиваться/сворачиваться чтобы не было много лишнего пустого места. Параметры <LeftX>35</LeftX> и <RightX>78</RightX> отвечают за то, сколько "нерастягиваемого" пространства есть слева и справа. Другой пример - картина произвольного размера с рамкой по краям. LeftX это рамка слева, RightX - справа. Если виджет с текстурой шириной 115 - то первые 35 будет левая рамка, потом 2 пикселя того что в центре, потом 78 пикселей правой рамки. Если картина шириной в 600 - то опять же первые 35 пикселей будет левая рамка, потом 487 пикселей центр, потом 78 правая рамка. Y соответственно то же самое по вертикали. Посмотреть как это работает можно на примере банковского хранилища или сумки. При увеличении размера хранилища с 12 до 24 ячеек дверца левая увеличивается по высоте. Хотя она все еще остается той же самой Tiled текстурой натянутой на ту же самую панель. Просто кусок из центра уже дублируется. П.С. И отвечу на вопрос - нет, никак(по крайней мере до этого момента мы о таком не слышали). Эти координаты отвечают за то, какие части текстуры нельзя растягивать/копировать при увеличении размера, а какие можно.
  12. Можно также добавить другую команду для скрытия аддона, скажем /hide evc или /hide guic. Чтобы иметь возможность скрывать их отдельно друг от друга. Либо кнопку присобачить...
  13. local Config = userMods.GetAvatarConfigSection( common.GetAddonName().."UI" ) or {} if Config and Config.IsVisible then mainForm:Show(Config.IsVisible) end function USCommand(param) local usc = userMods.FromWString( param.text ) if usc == "/show" or usc == "/hide" then Config.IsVisible = (usc == "/show") and true or false userMods.SetAvatarConfigSection( common.GetAddonName().."UI", Config ) mainForm:Show(Config.IsVisible) end end common.RegisterEventHandler( USCommand, "EVENT_UNKNOWN_SLASH_COMMAND" )
  14. Гребаная принцесса всех распугала. Уебищная реклама. Скиллкодеру наверно нравится Х_х
  15. Ему нужны не переносы, а разные строки. Про переносы кстати в теме гуи тоже написано. Текствью может неудобно ему разные делать.
  16. <tr>Одна строка</tr><tr>Вторая строка</tr> Почитай тему касательно создания GUI, найти ее можно через гугл.
  17. "Код я выкладывал, там я делал иначе но потом делал по-другому, а когда сделал третьим способом то работало но была какая-то ошибка" и "конкретные примеры кода в случае когда что-то не работает" это несколько разные вещи. Гуи - тебе нужна панель WidgetPanel, в ней TextView, в нем параметр который можно менять. Функцией SetVal( self, tag, value ) значение меняется из игры. Что не получилось? Как часы сделаны смотрел?
  18. 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 - это число. Параметр переданный моей функцией является строкой. Ошибка выдается не при проверке на существование, а при попытке вывести информацию в лог. Причину я уже описал выше. П.С., на будущее: НЕ ВИДЯ КОДА зачастую НЕЛЬЗЯ КОНКРЕТНО СКАЗАТЬ В ЧЕМ ОШИБКА.
  19. 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
  20. Кучу ненужной фигни кстати можешь удалить. И оставить только: 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" )
  21. mission.GetWorldTimeHMS() и mission.GetLocalTimeHMS() возвращают таблицу в полях h, m и s (и ms во 2 случае) которой находятся значения часов, минут и секунд(и миллисекунд) соответственно. В твоем примере функции получения времени вообще не используются.
×
×
  • Создать...

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

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