Altair

Разработчик аддонов
  • Публикации

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

  • Посещение

  • Days Won

    9

О Altair

Профиль

  • Пол
    Неизвестен

Посетители профиля

4 783 просмотра профиля
  1. localhost? ) p - это priest, а не paladin.
  2. Ты забыл предупредить, что людям надо поставить PowerShell. Можно было без дополнительных зависимостей написать то же самое на lua, благо компилятор-то есть в клиенте, хоть и запакован в ModdingDocuments.zip.
  3. Если ключ, то просто table[key] ~= nil. Если нужно значение проверить, то нужно таки перебирать все значения. Для скорости можно построить транспонированную табличку (т.е. где значение первой является ключом транспонированной и наоборот) и по ней уже проверять наличие значения в первой.
  4. Что такое "name:WString"? Почему =, а не ==? Если результат выполнения метода WString() - это строка, то почему эта строка сравнивается с questId, а не с именем квеста?
  5. Да, писал на коленке из другой страны, баги неизбежны )) Исправил оригинальное сообщение, теперь корректно обрабатываются блоки, которые начинаются с нулей.
  6. Жреца вообще забыли
  7. Работа со строками в LUA дорогая. Любое создание строки, любой вызов функции из библиотеки string (кроме len, char, byte) - это дорого в вычислительном плане. Если у вас изначально есть число, то лучше с этим числом операции производить именно в виде числа.
  8. Ну так воспользуйся тогда моей функцией)
  9. По-моему, кто-то просто давно не распаковывал ModdingDocuments.zip, который давным давно в виде архива поставляется. И у топик-стартера наверняка лежит просто махровая старая версия доков, в которой еще есть эта функция. В текущем клиенте нет такого.
  10. "Криво" - это как? В чем задача-то, конкретнее? Нужно разбить строковое представление целого числа на группы по 3 разряда? Тогда должно быть что-то типа такого: function FormatInt(int) -- Если у нас число из трех разрядов или меньше, то мы можем сразу вернуть его строковое представление if int < 1000 then return tostring(int) end -- Дополнительная функция, которая добавляет leading zeroes, если в значении блока вдруг меньше трех разрядов, т.е. присутствуют нолики в начале local GetThreeDigitBlock = function(num) return (num < 100 and (num < 10 and "00"..num or "0"..num) or num) end -- Если же оно больше, то мы делим его в цикле на 1000 и остаток от деления записываем в начало таблички blocks local blocks = {} while int >=1 do local modulus = int % 1000 -- Если modulus равен int, то мы дошли до самого начала нашего большого числа и в таком случае не нужно добавлять leading-zeroes -- Если же не равен, значит мы в данный момент добавляем блок из середины строкового представления входного числа, -- который надо корректно отформатировать, добавив нули в начало при необходимости local block = modulus ~= int and GetThreeDigitBlock(modulus) or modulus table.insert(blocks, 1, block) int = math.floor(int / 1000) end -- Возвращаем в конце конкатенированную таблицу blocks с пробелом в качестве разделителя return table.concat(blocks, " ") end Функция на входе принимает число (например, то же avatar.GetMoney() / 10000, т.е. количество золота), а на выходе выдает отформатированную строку (lua-string, которую нужно будет сконвертировать в WString для передачи в AOPanel).
  11. Вот это извращение! Не проще ли money поделить два раза на 100 и остатки сконвертировать в строки? Это же будет в разы оптимальнее!
  12. Оружие для обеих рук всегда показывает как лучше, потому что сравнивает с предметом для левой руки, который не одет.
  13. Если предложение состояло в том, чтобы в тултипе показать список возможных статов на конкретной шмотке, то это УЖЕ есть из коробки в стандартном интерфейсе. Никакие аддоны для этого не нужны, Allods Team уже позаботилась о нас.
  14. Теперь понятно. Разумно. Добавлю, когда доберутся руки обновить. Небольшой апдейт для остальных: 3х3 и 6х6 хоть и не отличаются ничем от остальных активностей в плане "принятия", но почему-то не хотят у меня работать. Так-то я бы с удовольствием давно б добавил их в список. Про безвременье - добавлю новые зоны, но, опять же, когда руки до обновления дойдут. Про интерфейсы дополнительные - тут точно нет. Слишком сложно для такого простого аддона. Про 5.0.2 - поддержку пиратских клиентов не планировал никогда осуществлять. Могу только предложить попробовать более старые версии аддона.
  15. Аффтар тут, но пока не готов обновлять. Про выход из группы - не понятно, зачем и как. Тут вся идея аддона в том, чтобы командами выполнять те действия, которые сам автор команды выполнить не может. Если нужен просто "ярлык" на выход, чтобы не лазить по менюшке, то можно подумать, как это удобнее сделать.