Где лежат скрипты? Локально пользователю доступны для правки скрипты интерфейса, они запакованы в Allods Online\data\Packs\Interface.pak. Распаковать можно программой Total Commander. Все скрипты на языке Lua версии 4.х
Как безопасно делать локальные модификации?
Сначала как оно было (и, надеюсь, будет) в патче 0.8.18.6:
при загрузке скриптов папка Allods Online\data\Interface\ (её нужно создать) имела приоритет перед запакованными скриптами. Это значит, чтобы изменить окно логина в аккаунт, можно было скопировать (т.е. распаковать) файл Packs\Interface.pak/Interface/Wrap/MainMenu/LoginAccount/ScriptLoginAccount.lua в папку Allods Online\data\Interface\Wrap\MainMenu\LoginAccount\, изменить его, и именно изменённый незапакованный файл станет грузится, и одновременно лаунчер не ругается на повреждение игры -- ведь файл Interface.pak оставался без изменений. К сожалению, логика загрузки изменилась с последним патчем.
Как оно работает теперь (патч 0.8.19.3):
Запакованные скрипты приоритетны, поэтому первым делом надо распаковать весь файл Interface.pak в Games\Allods Online\data\ (в этой папке должна появится папка Interface), и (это важно) переместить файл Interface.pak куда-нибудь. Простого переименования недостаточно! Теперь лаунчер ругается на "повреждение версии", но, если вы всё сделали правильно, его можно игнорировать -- вплоть до очередного патча.
С патчем 0.8.19.7 в лаунчере остается при отказе от починки кнопка Отмена вместо Играть, поэтому запускать игру придётся через Allods Online\bin\Game.exe.
Багфикс недоступной кнопки объединения рун
Багзилла #8356
исправляется так:
1. открываем файл Allods Online\data\Interface\Ingame\ContextRuneCombiner\ScripRuneCombiner.lua любым текстовым редактором
2. ищем в нём строку номер 81, которая выглядит так:
Код:
if gold.value > goldPrice and crystal.value > crystalPrice then
3. меняем её на
Код:
if gold.value >= goldPrice and crystal.value >= crystalPrice then
4. сохраняем файл.
Добавлено (02.09.2009, 18:43)
---------------------------------------------
Багфикс поведения предметов при перемещении в банк по правой клавише
Возможно, кто-то на это не обратил внимания, но лично мне было очень неудобно следующее:
при расширенном банке если отправлять предметы в него правой клавишей из инвентаря, они заполняли первые 12 ячеек, и всё. Дальше надо было перетаскивать мышкой.
Фикс:
1. открываем файл Allods Online\data\Interface\Ingame\ContextDepositeBox\ScriptContextDepositeBox.lua любым текстовым редактором
2. ищем в нём следующую функцию (строки 206-220):
Код:
-------------------------------------------------------------------------------
function GetNextFreeDepositeSlot()
for plateId, plate in wtSlotsPlateTable do
local slotId = SearchInTable( plate.slots, { itemId = -1 } )
if slotId then
local id = plate.slots[ slotId ].slotId
return id, plateId
else
return nil, nil
end
end
end
-------------------------------------------------------------------------------
3. меняем её на
Код:
-------------------------------------------------------------------------------
function GetNextFreeDepositeSlot()
for plateId, plate in wtSlotsPlateTable do
local slotId = SearchInTable( plate.slots, { itemId = -1 } )
if slotId then
local id = plate.slots[ slotId ].slotId
return id, plateId
end
end
return nil, nil
end
-------------------------------------------------------------------------------
4. сохраняем файл.