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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

AddonsTools


icreator

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

например ваш аддон меняет интерфейс игры или выгружает другие аддоны, может быть даже системные...

либо создает довольно увесистый свой интфейс используя много памяти.

Так вот если идти обычным путем (не использовать выше приложенный файл) и если пользователь захочет отказаться от вашего аддона и будет выгружать его с помощью AddonsManager, то пользователь все равно получит измененный интерфейс игры и выгруженные другие аддоны!

Ведь как все происходит - сначала игра загружает ВСЕ аддоны, при этом они выполняются, а потом уже аддон AddonsManadger дает команду на выгрузку вашего аддона. В результате ваш аддон, даже будучи потом выгруженным успеет натворить то, что пользователю, например, сейчас не нужно

А если использовать систему событий, которая предлагается мною, то когда стартует Ваш аддон - он на самом деле оказывается в ждущем режиме, и не запускает ваш основной Init(), а лишь шлет запрос на "разрешение старта". Если пользователь ваш аддон не выгружал в AddonsMenu, то придет ответ от AddonsMenu - "старт разрешен" и тогда уже ваш аддон запустится полностью.

к тому же в выше приложенном файле есть множество дополнительных полезных стандартизированных событий - для удобной работы через AddonsMenu:

для запросов на память:

ADDON_MEM_REQUEST -- посылаем запрос к аддону

ADDON_MEM_RESPONSE -- ответ аддона

для запросов на информацию об аддоне:

ADDON_INFO_REQUEST -- посылаем запрос к аддону

ADDON_INFO_RESPONSE -- ответ аддона

local DESCR = {
abbrev = "ALC", -- аббревиатура для FB Panel
desc = L("Alchemy"), --- описание аддона
icon = "AddGreenNormal", --- иконка из списка в Textures.lua
on_click_hide = true, -- hide AddonsMenu when to show me
make_FButton = false, -- to add my own FastButton to FastButtons Panel of AddonsTools
vers = "r13", --- версия аддона
lib = "AddonsTools r77", --- имя библиотеки, которое аддон использует.
}

для управления загрузкой и выгрузкой аддонов:

ADDON_START_REQUEST --- запрос аддона на свой запуск

ADDON_START_CONFIRMED -- ответ от менеджера аддонов ( разрешение или нет )

parameters = { target = pars.sender, unloaded = nil, skin = skin, localization = GetGameLocalization(), textures = makeTextures() }

Если пользователь выгружает ваш аддон через AddonsMenu то вашему аддону будет послано событие "ADDON_UNLOAD" - по которому вы сможете сохранить настройки аддона, загрузить назад выгруженные вашим аддном аддоны и потом уже с чистой совестью спокойно свой аддон сам выгружается:

ADDON_UNLOAD -- команда от менеджера аддонов на выгрузку

ADDON_UNLOADED -- ответ аддона что он себя выгрузил

прочее управление:

ADDON_SET_LOCALIZATION --- установить локализацию

AOPANEL_BUTTON_LEFT_CLICK -- в AddonsMenu нажата кнопка мышки на этом аддоне

AOPANEL_BUTTON_RIGHT_CLICK -- в AddonsMenu нажата правая кнопка мышки на этом аддоне

AOPANEL_BUTTON_DOUBLE_CLICK -- -- в AddonsMenu двойной клик на этом аддоне

AOPANEL_COMMAND

r77 added:

ADDON_GET_PARAMS -- запрос параметров от аддона для подстановки в конектсное меню для него

ADDON_GET_PARAMS_RESPONSE -- ответ аддона со значениями в параметрах

ADDON_SET_PARAM -- ответ от AddonsMenu что параметр был изменен пользователем

ADDON_LOCK_DND --- если надо запретить DnD в аддоне. Для того чтобы это сработала нужно взять LibDnD.lua из папки AddonsTools/Scripts - там немного подправленный мною файл от SLA и других разработчиков

ADDON_SHOW_BUTTON --- обычно каждый аддон имеет свою отдельную кнопку (назависимо от AT-AM), так вот её можно погасить по этому событию - так как вызов окна аддона можно делать из AM по событиям AOPANEL_BUTTON_LEFT_CLICK и т.д.

для того чтобы получить текстуры отдельно (но они обычно приходят сразу в событии ADDON_START_CONFIRMED вместе с локализацией):

ADDON_TEXTURES_RESPONSE

ADDON_TEXTURES_REQUEST

если вы пользуетесь стандартным скриптом AddonsMenuClient.lua, то доступ к текстурам получаем так:

texture = getWorldTextutes()["CheckC0"].texture

если поменялось оформление то посылается событие:

ADDON_AT_MENUS_SKIN_CHANGED

как это все работаеn и устроено можно посмотреть в примере Example3.zip

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

параметры описания аддона:

local DESCR = {
--[[ DESCRIBE Your addon here.
parameters:
abbrev =  ---  abbreviation for fast button,
sender = common.GetAddonName() -- addon name - auto inserted
icon = texture for icon
desc - addon description
commands {  --- menuItem for context menu
 {name = ..., label =...},
 {name = ..., label =...},
 ...
 }
on_click_hide = true, -- hide AddonsMenu when to show me
]]
 abbrev = "ASL",
 notAOPanel = true,
 desc = L("Alarming Status Line - notify many events"),
 icon = common.GetAddonRelatedTexture("ExcitedFan"),
 on_click_hide = true, -- hide AddonsMenu when to show me
 settings = nil,
 commands = nil,
 vers = "r04",
 lib = "AddonsTools r77b",
 }

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

 make_FButton = true, -- to add my own FastButton to FastButtons Panel of AddonsMenu
 settings = {
  { name = "mfPrior", label = L("'mainForm' Priority"), type = "_edl" },
  { name = "Settings1", label = L("Set First Param"), type = "_edl" },
  { name = "Settings_2", label = L("Set _2 Param"), type = "_txt", valLabels = names,
   listVals = { NEED, GREED, SAME, PASS, OFF },
   valFormats = valFormats,
   chars = 10, tip = L("choice for Example Settings_2") },
  },
 commands = {
  { name = "cmd1", label = "Command 1", },
  { name = "cmd2", label = "Command 2", },
  --{},
  },
 vers = "r13",  --- or .version
 lib = "AddonsTools r77", --- or .library

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

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

Error: addon AddonsTools: Error while running the chunk

Error: addon AddonsTools: C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua:499: attempt to index field `?' (a nil value)

Error: addon AddonsTools: func: ?, ?, line: -1, defined: C, line: -1, [c]

Error: addon AddonsTools: func: ADDON_MEM_RESPONSE, field, line: 499, defined: Lua, line: 496, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua

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

добавлен список системных аддонов в AddonsMenu и выгрузка/загрузка по (шифт +) правая мышка

AT-AM-sys.jpg
Ссылка на комментарий
Поделиться на другие сайты

там код

Code:
addons [pars.sender] .memUsage = pars.memUsage

значит аддон, посылающий ответ не указал поле sender в параметрах

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

теперь можно сохранять настройки для системных адднов - какие загружать какие нет

вот пример

AT-AM-sys1.jpg
Ссылка на комментарий
Поделиться на другие сайты

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

исправлена ошибка - некоторые аддоны (старые) не выгружались с помощью AddonsMenu - теперь все аддоны выгружаются и загружаются

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

теперь можно задавать параметры для аддонов прямо из контекстного меню AddonsMenu, пример использования см. в Example2.zip - для программистов

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

распакуйте файл Example2.zip из папки аддона в папку с аддонами и перезапустите клиент игры

отличие от Example1 - использование нового более понятного и простого в описании меню, которое имеет больше возможностей

далее см описание класса Меню

menuCls2

и библиотеки ScriptLIB

так же теперь можно задавать параметры для аддонов прямо из контекстного меню AddonsMenu

Amenu3.jpg

за это отвечает параметр settings и функции GetParams и SetParam

То есть ваш аддон может все свои настройки передать в меню AddonsMenu не создавая своего меню настроек

для отключения отладочного режима - с выводом в чат и mods.txt сообщений - в функции getAM_log (AddonsTools_Support.lua) поставьте false

Code:

function getAM_log()

return false ---- false or true:: log events|handlers in chat or not

end

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

описание пунктов для контекстного меню задается в function setAMSupport()

Code:

settings = {

{ name = "mfPrior", label = L("'mainForm' Priority"), type = "_edl" },

},

описание соответствует обычному описанию пунктов для menuCls2

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

Чем удобней создавать интерфейс "на лету" - то есть в самом аддоне, а не в файлах-описателях (типа PhyText.(WidgetTextView).xdb ) - тем что изменения можно увидеть перегрузив только аддон (это можно сделать из AddonsMenu нажав шифт-правая-кнопка-мышки). Если же виджеты описаны в файлах *.xdb - то вы увидите изменения только перегрузив весь клиент игры.

Для удобства созданы шаблоны и служебные процедуры в аддоне AddonsTools. Если вы используете его, то создание нового виджета можно сделать с помощью процедуры

Code:
-- WCD(descr, name, parent, place, show )

где:

descr - описатель виджета - элемент из глобальной переменой dsc,

name - задаем имя нового виджета,

parent - задаем родителя (nil - родитель = mainForm),

place - задаем положение виджета, тут можно указать только те параметры что вам нужны а не все,

show - true | false - показать ли сразу виджет

Например панель с обрамлением и реакциями на мышку можно создать так:

Code:
w = WCD( dsc.Menu, "ShowPanel", nil, { sizeX = 256, sizeY = 190 }, true)

Теперь мы можем в этой панели создать вложенные виджеты, например, еще одну панель:

Code:
wC = WCD( dsc.Menu, "Heal", w, { alignX = 3, sizeY = 50 }, true)

и в этой новой панели уже создадим кнопку:

Code:
wCi = WCD( dsc.Button, "1_btn", wC, { sizeX = 100 }, true)

и зададим ей текст:

Code:
wtSetVal(wCi, "Лечение")

посмотреть список шаблонов можно в папке AddonsTools\GUI - все файлы-описатели с началом "dsc" в имени - это и есть шаблоны. например файл dscButtonScaled.(WidgetButton).xdb - шаблон, который в скрипте пишется так:

Code:
dsc.ButtonScaled

Если вы использовали добавки-коды в имени виджетов при их создании:

"_btn" - для кнопок. Например "Heal1_btn"

"_mnu" - для пунктов меню ( по сути эта та же кнопка но чуток другая) - используется внутри меню, вам такие виджеты создавать не нужно.

"_edl" - для полей ввода. Например "inputMoney_edl"

"_chk" - для кнопок-галочек

то изменение надписи в виджете или его Значения делаем с помощью библиотечной функции так:

Code:
wtSetVal( w, txt )

так как в библиотеке ScriptLIB смотрится к какому типу относится виджет и такое изменение его делается:

Code:
elseif string.find(n,"_btn") then w:SetVal( "button_label", ToWS(v) )

elseif string.find(n,"_mnu") then w:SetVal( "button_label", ToWS(v) )

elseif string.find(n,"_edl") then w:SetText( ToWS(v) )

elseif string.find(n,"_chk") then w:SetVariant( v and 1 or 0 )

elseif w.SetVal then w:SetVal( "value", ToWS(v) )

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

для каждой координаты X Y есть параметры:

pos

highPos

size

sizing

align - выравнивание: 0 - это выравнивание к началу экрана (LOW); 1 - выравнивание к концу (HIGH); 2 - по середине; 3 - отступом с обоих сторон; 4 - абсолютные координаты экрана

так вот если:

alignX = 0, то действуют параметры posX + sizeX

alignX = 1, то действуют параметры higPosX + sizeX

alignX = 2, то действуют параметры posX + sizeX

alignX = 3, то действуют параметры posX + highPosX

alignX = 4, то действуют параметры posX + sizeX

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

Обработчик для виджетов, сделанных по шаблонам из dsc делаем такой:

Code:

local onReact = {}

onReact.mouse_left_click = function ( pars )

if DnD:IsDragging() then return end

if not pars.active then return end

local n = pars.widget:GetName()

--- тут по имени виджета можно понять какая кнопка ( виджет) была нажата пользователем )

if n == "..." then ...

elseif n == "..." then ...

end

end

onReact.mouse_right_click = function( pars )

if DnD:IsDragging() then return end

if not pars.active then return end

local n = pars.widget:GetName()

--- тут по имени виджета можно понять какая кнопка ( виджет) была нажата пользователем )

if n == "..." then ...

elseif n == "..." then ...

end

end

...

function init_GUI()

RegisterReactionHandlers( onReact )

end

а можно ориентироваться по идентификатору виджета:

Code:
local ids = pars.widget:GetInstanceId()

if not wID [ids]  then return end

предварительно (при создании виджетов) запомнив их в некотором массиве

посмотреть как называется реакция можно открыв сам файл-описатель *.xdb - там смотрим теги:

<Reaction> - левый клик мышкой

<ReactionRightClick> - правый клик

<reactionDblClick> - двойной клик

<reactionOnPointing> - мышка над виджетом (для вызова подсказок или подсвечивания)

как правило для всех шаблонов они одинаковые:

<Reaction>mouse_left_click</Reaction>

<ReactionRightClick>mouse_right_click</ReactionRightClick>

<reactionDblClick>mouse_double_click</reactionDblClick>

<reactionOnPointing>mouse_over</reactionOnPointing>

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

описание строй версии тут

дополнительные описатели полей:

chars - длинна поля

если не указывать то берется длинна 10 символов или длина значения + 3 символа.

valGet - функция или массив для получения значения

valOnSet - функция вызываемая после присвоения значения

offset - сдвиг пункта по X

tip - подсказка

valLabels - отображение значений

listVals - список заданных значений

itemSizeX - длинна пункта меню

onClick - для пунктов меню, у которых нет значений - функция вызываемая при нажатии на пункт меню

valFormats - функция или массив для создания формата <html>

valShapes - функция или массив для создания значения для отображения от значений в поле - например функция локализации значений

labelShapes - функция или массив для создания значения для отображения надписи самого пункта меню - например функция локализации значений

большинство этих описателей работают так же для всего меню, а не только для каждого пункта меню - причем сначала берется описатель для пункта меню, если такого нету - то берется описатель для всего меню. Например valShapes и labelShapes лучше задать при описании меню

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

При запуске игры и в файле mods.txt часто спамяться сообщения типа: "Info: addon AddonsTools: addnon AntiSocialNetwork not found (ADDON_INFO_RESPONSE)". Как избавиться от этого?

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

тоже самое

Info: addon AddonsTools: addnon UnitDetector not found (ADDON_MEM_RESPONSE)

только это выдает когда открываешь меню и наводишь на имена аддонов.

и кнопочку примерочной не сохраняет. настройки сохранил и в глобальных и обычных и самой кнопки.

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

ну потому-что имя аддона - посылаемое по событию не == имени что выдает state функция в АПИ - уж не знаю как так разрабы умудрились сделать

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

Ну а нельзя прикрутить какую-ниубдь кнопку, чтобы отключить лог или для чайников описать, что исправить в "неправильных" аддонах.

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

вообще мне особо не мешает. у меня 3 окна чата =)спамит только в главное.

а вот что кнопочки не сохраняет это уже сложнее. или может это и влияет?

____

не актуально. исправил имя папки спамящего аддона, и кнопки норм сохраняется.

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

За вечер 350кб.

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

Error: addon AddonsTools: C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua:549: attempt to index local `addonElem' (a nil value)

Error: addon AddonsTools: func: ?, ?, line: -1, defined: C, line: -1, [c]

Error: addon AddonsTools: func: ADDON_INFO_RESPONSE, field, line: 549, defined: Lua, line: 545, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua

Error: addon AddonsTools: func: ?, ?, line: 554, defined: Lua, line: 553, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua

Error: addon AddonsTools: Error while running the chunk

Error: addon AddonsTools: C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua:549: attempt to index local `addonElem' (a nil value)

Error: addon AddonsTools: func: ?, ?, line: -1, defined: C, line: -1, [c]

Error: addon AddonsTools: func: ADDON_INFO_RESPONSE, field, line: 549, defined: Lua, line: 545, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua

Error: addon AddonsTools: func: ?, ?, line: 554, defined: Lua, line: 553, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua

Error: addon AddonsTools: Error while running the chunk

Error: addon AddonsTools: C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua:549: attempt to index local `addonElem' (a nil value)

Error: addon AddonsTools: func: ?, ?, line: -1, defined: C, line: -1, [c]

Error: addon AddonsTools: func: ADDON_INFO_RESPONSE, field, line: 549, defined: Lua, line: 545, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua

Error: addon AddonsTools: func: ?, ?, line: 554, defined: Lua, line: 553, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsMenu.lua

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

А игра у меня установлена не в Program Files.

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

Решил эту проблему простым переименовыванием папки с аддоном в папке Addons.

У меня он почему назывался UnDetector, перемеименовал в UnitDetector.

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

Все нормально работало, но однажды часы, что по даблклику вызывают меню настроек, стали вот такими, как на скрине ниже в виде решеточек, буквы L (или это стрелки часов, но уменьшенные) и символа псевдографики, уехали на портрет персонажа, перестали реагировать на перетаскивание, и на клики мышью, так же аддон target manager вероятно из-за этого, перешел в ненастраиваемый режим в виде одного окошка (там же на скрине), словно он переключен в dnd мод, но окно не реагирует на внешние раздражители.

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

[add]

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

Code:
Error: addon AddonsTools: Error while running the chunk

Error: addon AddonsTools:   C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/PhanTime.lua:42: bad argument #1 to `floor' (number expected, got nil)

Error: addon AddonsTools:   func: ?, ?, line: -1, defined: C, line: -1,  [C] 

Error: addon AddonsTools:     func: floor, field, line: -1, defined: C, line: -1,  [C] 

Error: addon AddonsTools:       func: SetCurrentTime, global, line: 42, defined: Lua, line: 39, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/PhanTime.lua

Error: addon AddonsTools:         func: InitPhanTime, global, line: 184, defined: Lua, line: 180, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/PhanTime.lua

Error: addon AddonsTools:           func: ?, ?, line: 369, defined: Lua, line: 357, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsTools.lua

Error: addon DarkDPSMeter: 

Error: addon DarkDPSMeter:   

Error: addon DarkDPSMeter:   func: SetBackgroundColor, method, line: -1, defined: C, line: -1,  [C] 

Error: addon DarkDPSMeter:     func: SetColor, method, line: 441, defined: Lua, line: 436,  [string "Mods/Addons/DarkDPSMeter/Scripts/AOClassLibrary.lua"] 

Error: addon DarkDPSMeter:       func: SetValuesToPlayerPanel, global, line: 56, defined: Lua, line: 36,  [string "Mods/Addons/DarkDPSMeter/Scripts/DarkDPSMeter.lua"] 

Error: addon DarkDPSMeter:         func: SetDPSMeterValues, global, line: 75, defined: Lua, line: 62,  [string "Mods/Addons/DarkDPSMeter/Scripts/DarkDPSMeter.lua"] 

Error: addon DarkDPSMeter:           func: ?, ?, line: 267, defined: Lua, line: 247,  [string "Mods/Addons/DarkDPSMeter/Scripts/DarkDPSMeter.lua"] 

Error: addon DarkDPSMeter: Widgets::LuaSetBackgroundColor: param 2 not a class Lua::Table (type: nil), details: int __cdecl Widgets::LuaSetBackgroundColor(struct lua_State *)

Error: addon AddonsTools: Error while running the chunk

Error: addon AddonsTools:   C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/PhanTime.lua:42: bad argument #1 to `floor' (number expected, got nil)

Error: addon AddonsTools:   func: ?, ?, line: -1, defined: C, line: -1,  [C] 

Error: addon AddonsTools:     func: floor, field, line: -1, defined: C, line: -1,  [C] 

Error: addon AddonsTools:       func: SetCurrentTime, global, line: 42, defined: Lua, line: 39, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/PhanTime.lua

Error: addon AddonsTools:         func: InitPhanTime, global, line: 184, defined: Lua, line: 180, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/PhanTime.lua

Error: addon AddonsTools:           func: onAvatarCreated, local, line: 369, defined: Lua, line: 357, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsTools.lua

Error: addon AddonsTools:             func: ?, ?, line: 385, defined: main, line: 0, C:/Program Files/Games/Allods Online/data/Mods/Addons/AddonsTools/Scripts/AddonsTools.lua

Error: addon AddonsTools: Can't execute script for addon: Mods/Addons/AddonsTools/AddonDesc.(UIAddon).xdb

[/add]

Исправимо ли это, и как это можно исправить?

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

ВНИМАНИЕ!
Обязательна информация из \Personal\Logs\mods.txt для диагностики ошибки.
Иначе вам не помочь.
В игре включите в Меню → Интерфейс → Общие настройки → Запись ошибок пользовательских дополнений. Затем запустите аддон в игре.
Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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