Theme editor

Аддон Questie для новых (не классических) рас. Решение ошибки.

  • Автор темы Автор темы hyk2204
  • Дата начала Дата начала
Доброго времени! Столкнулся с проблемой что на расе Эредары (и скорее всего на других модовых расах) не работает аддон Questie, а точнее выдаёт ошибкУ "attempt to perform arithmetic on upvalue 'playerRaceId' (a nil value)" (скрин 1).

73fbd2f4-8db8-4604-9eaf-0f78ae9447b6.png

(Скрин 1 - ошибка аддона Questie.)
Решение:
№1 Ссылка на файл (нажми меня) QuestiePlayer.lua который необходимо заменить по пути Interface\AddOns\Questie-335\Modules\QuestiePlayer.lua или изменить самостоятельно код по №2.

№2 Нужно отредактировать файл, который указан на скриншоте ошибки:Interface\AddOns\Questie-335\Modules\QuestiePlayer.lua
  1. Открой этот файл через Блокнот или Notepad++.
  2. Найди строку 41 или поиском по слову function QuestiePlayer:Initialize()
  3. Там будет логика определения расы. Чтобы аддон не падал, нам нужно принудительно сказать ему, что Эредар — это, например, Нежить или Орк (для целей квестов).
  4. (Цифра 1 после playerRaceId — это ID человека, 2 — орка. Для квестов Орды лучше поставить 2, чтобы она видела орочьи квесты, аналогично для альянса).
  5. Заменить весь блок от function QuestiePlayer:Initialize() до end:
  6. Код:
    function QuestiePlayer:Initialize()
        _QuestiePlayer.playerLevel = UnitLevel("player")
    
        playerRaceId = select(3, UnitRace("player"))
      
        -- ФИКС ДЛЯ КАСТОМНЫХ РАС (Эредары и др.)
        if (not playerRaceId) or (playerRaceId == 0) then
            playerRaceId = 2 -- Присваиваем ID Орка, чтобы аддон не падал (1 - человек, 2 - орк)
        end
    
        playerRaceFlag = 2 ^ (playerRaceId - 1)
        playerRaceFlagX2 = 2 * playerRaceFlag
    
        playerClassName = select(1, UnitClass("player"))
        local classId = select(3, UnitClass("player"))
        playerClassFlag = 2 ^ (classId - 1)
        playerClassFlagX2 = 2 * playerClassFlag
    end
  7. Удаляем старые данные Questie (ОБЯЗАТЕЛЬНО при выключенной игре) в папке WTF/Account/Ваш_ID/SavedVariables Questie-335.lua и Questie-335.lua.bak .
  8. Перезаходим и радуемся рабочему аддону.
UPD: Я не профи и не разбираюсь в коде lua, но несколько часов ковыряний дали свои плоды. Сильно палками не закидывайте! Всех благ!
 
Назад
Сверху