Классы
Статы, идеальное соотношение · Умения и вехи, как получить · Души · Сравнение классов
Воин · Жрец · Некр · Лучник · Шаман · Мист · Бард · Инж · Демон
Игровой процесс
Как одеваться · Драконий облик · Наследие Богов · Фарм золота
Прохождения локаций
Мониторинг серверов и редактор аддонов
Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.
Подсказки из игры на вашем сайте
Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.
-
Постов
286 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Магазин
Галерея
Весь контент Zeno
-
Как-то так должно работать, хотя мне почему-то кажется, что 40 размер шрифта великоват. function LogToChat(chatText) -- [138] Что ещё за цифровые комментарии? local wtChat = stateMainForm:GetChildUnchecked("ChatLog",false):GetChildUnchecked("Container",true) -- Это текстовый контейнер чата? if not wtChat or not wtChat.PushFrontValuedText then return end -- Видимо, не нашли чат или нашли не чат? if not common.IsWString(chatText) then chatText = userMods.ToWString(chatText) end -- [146] Опять они! local valuedText = common.CreateValuedText() -- Создаём новый объект с текстом и получаем на него ссылку local format = "<html fontname='AllodsFantasy' fontsize='40' shadow='1'><rs class='color'><r name='text'/></rs></html>" -- Это наша отформатированная строка с тегом для подстановки valuedText:SetFormat(userMods.ToWString(format)) -- Задаём нашу строку valuedText:SetClassVal("color", "LogColorRed") -- Подставляем класс valuedText:SetVal("text", chatText) -- Подставляем текст wtChat:PushFrontValuedText(valuedText) -- Пихаем наш объект с текстом в начало контейнера чата. Наверное, после этого оно должно появится в активной вкладке чата и будет там висеть, если снег не пойдёт end -- function [153] И снова! function GetCurrencyValue(currencyId) -- Возвращает кол-во валюты по CurrencyId local currencyValue = avatar.GetCurrencyValue(currencyId) -- Получаем кол-во и макс. кол-во валюты if currencyValue then return currencyValue.value end -- Возвращаем только количество, если нет ошибки end function GetCurrencyIdByName(currencyName) -- Возвращает ссылку на валюту (CurrencyId) по её имени local avatarCurrencies = avatar.GetCurrencies() or {} -- Получаем валюты for _, currencyId in pairs(avatarCurrencies) do -- Очередность перебора не имеет значения, индекс тоже local currencyInfo = currencyId:GetInfo() -- Получаем информацию о валюте под очередным индексом if currencyInfo and currencyInfo.name and userMods.FromWString(currencyInfo.name) == currencyName then return currencyId end -- Если ошибки нет и валюта имеет то же имя, что и искомая, то возвращаем ссылку на эту валюту (CurrencyId) end end function print_GG() -- Главная функция со странным названием local currencyName = "Соверен" -- Задаём имя нужной валюты local currencyId = GetCurrencyIdByName(currencyName) -- Получаем ссылку на нужную нам валюту по её имени if not currencyId then -- Если валюта не найдена, отправляем функции вывода в чат сообщение об этом и завершаем работу LogToChat(currencyName..": нет в наличии.") return end local currencyValue = GetCurrencyValue(currencyId) or 0 -- Получаем кол-во валюты по ссылке на валюту LogToChat(currencyName..": "..tostring(currencyValue)) -- Отправляем функции вывода в чат собранную строку с именем и кол-вом валюты end function Init() -- Инициализация if not avatar.IsExist() then -- Если нет аватара, будем запускать снова при появлении аватара, а пока всё common.RegisterEventHandler(Init,"EVENT_AVATAR_CREATED") return end print_GG() -- Вызываем главную функцию со странным названием end Init() -- Запускаем Если вкратце по ошибкам, то: - Очень много ненужного и неиспользуемого (почти половина строк). - Есть подозрение, что функция вывода в чат откуда-то выдрана, уже больно в ней много лишнего для текущей задачи, но наверное, рабочая. - Главная функция ничего не делает. То есть не ищет соверены и не получает их значение и не вызывает для этого другие функции. - local str = ("Соверен: ", currentValue) - это попытка присвоить одной переменной два значения, причём второе значение - это переменная, которая нигде не объявлена (а точнее объявлена локальной в другой функции, которая нигде не вызывается). Результатом подобного будет присвоение переменной исключительно первого значения. - Главная функция пытается передать две локальных переменных аргументами функции вывода в чат (LogToChat( str, str2)), которая принимает только один аргумент (function LogToChat(param1)). Результатом подобного будет передача лишь первого аргумента. - Процесс выполнения до передачи в чат был такой: Init() -> print_GG() -> local str = "Соверен: " -> LogToChat(str) ... Конечно же, в чате всегда "Соверен: ", ведь никаких других вариантов и быть не может.
-
Технически возможно. Посмотрю, как будет время. Но мне кажется, будет хуже, потому что разноцветные точки будут перекрывать друг друга, если находятся в одном месте, как они перекрывают друг друга без всяких дополнений.
-
Если переменная пустая после перебора валют, то такой валюты найдено не было. По-моему, тут возможно 4 варианта - стоит нерусская локаль, стоит нерусский клиент, стоит не windows-1251 кодировка скрипта, у персонажа нет такой валюты вообще. 1. Время и язык > Язык и регион > Административные языковые параметры > Изменить язык системы... В выпадающем списке выбрать "Русский (Россия), галку "Бета версия" убрать. Подтверждить изменения. 2. Вместо "Соверен" в скрипте искать соответствующую языку запись. 3. Скрипт дополнения должен быть в кодировке windows-1251, а не UTF-8, который обычно ставят все программы по умолчанию. Большинство программ позволяет сконвертировать кодировку в любую сторону, способ зависит от программы. В Блокноте, например, Файл > Сохранить как... В выпадающем списке выбрать ANSI. Подтвердить сохранение. 4. В игре открыть информацию о персонаже, вкладку Ценности, категорию Награды, перематывать в поисках Соверен. Если такой нет, получить Соверен на Ал-Риате или взять персонажа с такой валютой.
-
local soverenId local avatarCurrencies = avatar.GetCurrencies() for _, currencyId in pairs(avatarCurrencies) do local currencyInfo = currencyId:GetInfo() if currencyInfo and userMods.FromWString(currencyInfo.name) == "Соверен" then soverenId = currencyId break end end soverenId в результате будет ссылкой на CurrencyID соверенов или будет пустым.
-
По-моему это предлагается искать самостоятельно с помощью имеющегося инструментария. Должно быть где-то в валютах аватара по идее. local avatarCurrencies = avatar.GetCurrencies() for _, currencyId in pairs(avatarCurrencies) do local currencyInfo = currencyId:GetInfo() if currencyInfo then common.LogInfo("common", currencyInfo.name, "[", tostring(currencyInfo.sysName), "]: ", tostring(avatar.GetCurrencyValue(currencyId).value),"/",tostring(currencyInfo.maxValue)) end end Показывает, что соверены в этом есть, просто у них нет sysName, поэтому их нельзя найти с помощью avatar.GetCurrencyId(sysName). Так что каждый раз получаем таблицу, а её перебираем до соответствия по имени, не забывая переводить WString в string для сравнения. Найденную ссылку на CurrecnyId скорее всего можно просто запомнить один раз, вряд ли она изменяется в процессе сессии.
-
###Cartographer###O7.1##Exclamation01##E47EEC#B7FC64#FFFFF0B7##1889#14F5##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_джиннов### ###Cartographer###O7.1##Exclamation01##E99EA4#B42850#FFFF8D84##1BF0#1858##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_ифритов### ###Cartographer###O7.1##Exclamation01##EEB8E4#B30AC4#FFFEF8D7##1F53#1955##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_ифритов### ###Cartographer###O7.1##Exclamation01##EC83A8#B08254#FFFF1D4B##1DDC#1B92##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_ифритов### ###Cartographer###O7.1##Exclamation01##E27188#AB6E54#FFFF7E76##172D#2010##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_ифритов### ###Cartographer###O7.1##Exclamation01##E1E6DC#B128BC#FFFFFAEF##16D1#1AFF##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_джиннов### ###Cartographer###O7.1##Exclamation01##E3B8E0#B3EA34#1AC5##1806#188F##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_джиннов### ###Cartographer###O7.1##Exclamation01##E12D50#B5D1B4#D96##1655#16E0##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_джиннов### ###Cartographer###O7.1##Exclamation01##EBD890#AAFB7C#FFFF95BE##1D6A#2075##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_ифритов### ###Cartographer###O7.1##Exclamation01##E65E9C#AAAC94#FFFF53D0##19C8#20BB##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_ифритов### ###Cartographer###O7.1##Exclamation01##E8D12C#B09320#FFFF5882##1B68#1B83##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_ифритов### ###Cartographer###O7.1##Exclamation01##EA2888#ACED88#FFFF3D8D##1C4B#1EBD##Suslanger##Suslanger::##Уро-Борос##Место%_появления%_Уро-Бороса##Суслангер##Суслангер##Пески%_ифритов### Все места появления Уро-Бороса. Координаты точно в местах остановки во время погони (там же где и появляется).
-
PartyMapZ Просмотр файла Показывает маркеры аватара/группы/рейда на карте и миникарте. Зеленым - аватар, синим - группа, оранжевым - другие группы рейда. Можно выбрать точки или маркеры, а также их размер. Можно отображать имена над маркерами и их размер. Кроме того, можно отдельно выбрать показывать ли маркеры на карте/миникарте или маркеры по типу (аватар/группу/рейд). Настраивается через текстовый файл Settings.txt в корневой папке дополнения или меню настроек в игре. Вход в настройки осуществляется через кнопку на плашке дополнения в меню дополнений главного меню игры. Shows avatar/group/raid markers on the map and minimap. Green - avatar, blue - group, orange - other raid groups. You can select dots or markers, as well as their size. You can display names above markers and their size. You can also separately select whether to display markers on the map/minimap or markers by type (avatar/group/raid). Addon is configured via the Settings.txt text file in the root folder of the addon or the settings menu in the game. You can access the settings via the button on the addon plate in the addons menu of the game's main menu. Добавил Zeno Добавлено 18.10.2022 Категория Аддоны
-
Версия 5.0
12 187 раз скачали
Показывает маркеры аватара/группы/рейда на карте и миникарте. Зеленым - аватар, синим - группа, оранжевым - другие группы рейда. Можно выбрать точки или маркеры, а также их размер. Можно отображать имена над маркерами и их размер. Кроме того, можно отдельно выбрать показывать ли маркеры на карте/миникарте или маркеры по типу (аватар/группу/рейд). Настраивается через текстовый файл Settings.txt в корневой папке дополнения или меню настроек в игре. Вход в настройки осуществляется через кнопку на плашке дополнения в меню дополнений главного меню игры. Shows avatar/group/raid markers on the map and minimap. Green - avatar, blue - group, orange - other raid groups. You can select dots or markers, as well as their size. You can display names above markers and their size. You can also separately select whether to display markers on the map/minimap or markers by type (avatar/group/raid). Addon is configured via the Settings.txt text file in the root folder of the addon or the settings menu in the game. You can access the settings via the button on the addon plate in the addons menu of the game's main menu.Бесплатный -
Есть документация по Lua и документация по API Аллодов. К Lua есть куча справочников, где в отличии от документации, понятно написано и есть примеры. OnSlash - скорее всего функция обработчик события. Event, Reaction описаны в документации API. wtChat - скорее всего переменная содержащая ссылку на виджет. Widget описаны в документации API. valuedText - типа данных, описан в документации API.
-
Тогда вот это должно быть неверно. Частая ошибка использование пути "Папка игры\Mods" вместо правильного. Правильный путь к папкам дополнений и файлам типа pak "Папка игры\data\Mods\Addons" Правильный путь к описателю каждого дополнения "Папка игры\data\Mods\Addons\Папка дополнения\AddonDesc.(UIAddon).xdb"
- 5 ответов
-
- 1
-
-
- дайджест
- новый контент
-
(и ещё 1 )
C тегом:
-
- 5 ответов
-
- дайджест
- новый контент
-
(и ещё 1 )
C тегом:
-
Так парой сообщений выше они все есть по идее. Из этих списков я на данный момент уточнил координаты и подтвердил все, кроме одного. Толи не попадается, толи там не бывает (но вроде бывает). Будут все, скину целиком. https://alloder.pro/forums/topic/1444-cartographer/?do=findComment&comment=54864 https://alloder.pro/forums/topic/1444-cartographer/?do=findComment&comment=54866
-
https://alloder.pro/forums/topic/5953-raidbuffsz/?do=findComment&comment=54667
-
[21:55:00]Error: addon ShipControl(1644947130): Game::LuaAstralGetHubRadius: astral hub zone not found, details: int __cdecl Game::LuaAstralGetHubRadius(struct lua_State *) func: GetHubRadius, field, line: -1, defined: C, line: -1, [C] func: EVENT_ASTRAL_HUB_CHANGED, field, line: 811, defined: Lua, line: 800, [string "Mods/Addons/ShipControlSA/Scripts/ShortMap.lua"] func: ShortMap_ShowAll, global, line: 1148, defined: Lua, line: 1132, [string "Mods/Addons/ShipControlSA/Scripts/ShortMap.lua"] func: AvatarShip, upvalue, line: 848, defined: Lua, line: 805, [string "Mods/Addons/ShipControlSA/Scripts/Main.lua"] func: ?, ?, line: 868, defined: Lua, line: 866, [string "Mods/Addons/ShipControlSA/Scripts/Main.lua"] Версия 76. Возможная причина - залёт в хаб лютого или в пустой хаб внутри.
-
Это сделано специально. Я занёс все, а некоторые закомментировал, чтобы их не было видно по умолчанию, но при необходимости их не надо было бы искать и вписывать. Если они вам нужны, то, конечно, убирайте символы комментирования.
-
###Cartographer###O7.1##Tick03##E9AF7A#B41B16#FFFF8D7E##1BFB#1864##Suslanger##Suslanger::##Червяк##Червяк##Суслангер##Суслангер##Пески%_ифритов### ###Cartographer###O7.1##Tick03##E1C98A#B0FF19#FFFFF509##16BD#1B24##Suslanger##Suslanger::##Червяк##Червяк##Суслангер##Суслангер##Пески%_джиннов### К меткам выше. Ещё 2. Примерные координаты.
-
Пропущенный сундук на Ал-Риате. Для файла Resources.lua: { Type = "Treasure", Pos = { posX = 12395.300, posY = 13405.000, posZ = 11.277 }, SimplePos = { 13.56, 52.71 } }, Для импорта в пользовательские метки: ###Cartographer###O7.1##Treasure##BD2324#CC8B48#2C0D##54C#1497##HuntingGround04##WarZone::##Сундук##Сокровище##Руины%_Ал-Риата##Руины%_Ал-Риата##Городские%_предместья###
-
Места появления червяка можно собрать во время гонки за червяком. Он останавливается именно в тех местах, где может появляться.
-
Укажите точно версию, которая у вас установлена. Если это не 3.4, скачайте 3.4 и попробуйте снова. По вашему описанию не удалось повторить ошибку: Сообщает ли игра какие-то ошибки? Если такие есть, укажите.
