|
2013-03-08 23:31
조회: 7,422
추천: 53
인벤 레이드 프레임 오류 수정하기인벤 레이드 프레임 1.6.5 버전에서 소환수 관련 오류가 있어서 렉현상이 있으신 분들께 급한대로 수정해서 쓰기를 원하시는 분들을 위한 팁입니다. 해당 애드온은 저작권이 인벤에 있어 직접 수정버전을 올려드리지 못하는 점 양해 부탁드리겠습니다.
가급적 에디터는 윈도우 메모장 대신 다른 에디터를 이용해 주시고, 없으신분은 http://download.tuxfamily.org/notepadplus/6.3/npp.6.3.Installer.exe 에서 notepad++ 를 이용하시는것을 추천드립니다. Interface/InvenRaidFrames3/Pet.lua 파일을 열어서 15라인으로 갑니다. 15: if IRF3.db then self:SetScript("OnEvent", InvenRaidFrames3Pet_OnEvent) self:SetScript("OnUpdate", InvenRaidFrames3Member_OnUpdate) InvenRaidFrames3Pet_UpdateAll(self) IRF3:BorderUpdate() 빨간색 부분을 15라인 아래 붙여 넣습니다. 15: if IRF3.db then if IRF3.db.usePet == 2 then self:RegisterEvent("UNIT_NAME_UPDATE") self:RegisterEvent("UNIT_CONNECTION") self:RegisterEvent("UNIT_HEALTH") self:RegisterEvent("UNIT_MAXHEALTH") self:RegisterEvent("UNIT_HEALTH_FREQUENT") self:RegisterEvent("UNIT_HEAL_PREDICTION") self:RegisterEvent("UNIT_POWER") self:RegisterEvent("UNIT_MAXPOWER") self:RegisterEvent("UNIT_DISPLAYPOWER") self:RegisterEvent("UNIT_POWER_BAR_SHOW") self:RegisterEvent("UNIT_POWER_BAR_HIDE") self:RegisterEvent("UNIT_FACTION") self:RegisterEvent("UNIT_AURA") end self:SetScript("OnEvent", InvenRaidFrames3Pet_OnEvent) self:SetScript("OnUpdate", InvenRaidFrames3Member_OnUpdate) InvenRaidFrames3Pet_UpdateAll(self) IRF3:BorderUpdate() 이 이후 약간만 밑으로 스크롤 하시면 InvenRaidFrames3Pet_OnHide 함수가 있습니다. 다음 내용을 추가합니다. function InvenRaidFrames3Pet_OnHide(self) self.unit, self.displayedUnit = nil if IRF3.db then self:UnregisterEvent("UNIT_NAME_UPDATE") self:UnregisterEvent("UNIT_CONNECTION") self:UnregisterEvent("UNIT_HEALTH") self:UnregisterEvent("UNIT_MAXHEALTH") self:UnregisterEvent("UNIT_HEALTH_FREQUENT") self:UnregisterEvent("UNIT_HEAL_PREDICTION") self:UnregisterEvent("UNIT_POWER") self:UnregisterEvent("UNIT_MAXPOWER") self:UnregisterEvent("UNIT_DISPLAYPOWER") self:UnregisterEvent("UNIT_POWER_BAR_SHOW") self:UnregisterEvent("UNIT_POWER_BAR_HIDE") self:UnregisterEvent("UNIT_FACTION") self:UnregisterEvent("UNIT_AURA") self:SetScript("OnEvent", nil) self:SetScript("OnUpdate", nil) InvenRaidFrames3Member_OnDragStop(self) IRF3:BorderUpdate() end self.lostHealth, self.hasAggro, self.isOffline, self.isAFK, self.color, self.class = 0 IRF3.visibleMembers[self] = nil end 위 내용을 다 붙여넣은 후 79 라인으로 갑니다. function InvenRaidFrames3Pet_UpdateAll(self) if IRF3.db then if UnitExists(self.displayedUnit or "") then InvenRaidFrames3Pet_UpdateDebuffs(self) InvenRaidFrames3Member_UpdateState(self) 79: CompactUnitFrame_UpdateMaxHealth(self) InvenRaidFrames3Member_UpdateHealth(self) InvenRaidFrames3Member_UpdateHealPrediction(self) CompactUnitFrame_UpdateMaxPower(self) CompactUnitFrame_UpdatePower(self) InvenRaidFrames3Member_UpdatePowerColor(self) InvenRaidFrames3Member_UpdateOutline(self) InvenRaidFrames3Member_OnUpdate2(self) end end end CompactUnitFrame_UpdateMaxHealth 함수를 InvenRaidFrames3Member_UpdateMaxHealth 함수로 변경합니다. function InvenRaidFrames3Pet_UpdateAll(self) if IRF3.db then if UnitExists(self.displayedUnit or "") then InvenRaidFrames3Pet_UpdateDebuffs(self) InvenRaidFrames3Member_UpdateState(self) InvenRaidFrames3Member_UpdateMaxHealth(self) InvenRaidFrames3Member_UpdateHealth(self) InvenRaidFrames3Member_UpdateHealPrediction(self) CompactUnitFrame_UpdateMaxPower(self) CompactUnitFrame_UpdatePower(self) InvenRaidFrames3Member_UpdatePowerColor(self) InvenRaidFrames3Member_UpdateOutline(self) InvenRaidFrames3Member_OnUpdate2(self) end end end 92 라인으로 갑니다. 똑같이 변경합니다. eventHandler.UNIT_MAXHEALTH = function(self) InvenRaidFrames3Member_UpdateMaxHealth(self) InvenRaidFrames3Member_UpdateHealth(self) InvenRaidFrames3Member_UpdateHealPrediction(self) if self.optionTable.outline.type == 4 then InvenRaidFrames3Member_UpdateOutline(self) end end 다 하셨으면 pet.lua 파일을 저장합니다. 이렇게 수정하시고 나면 큰 오류 없이 사용하실 수 있을 겁니다. ps. 굳이 수정하지 않아도 되지만 일부 버그 1.힐러를 하시는 분들은 무작위 공격대에서 부활 주문을 사용할때 공격대에 속해 있지 않습니다. 라고 오류가 나는데, 이 부분의 수정은 다음과 같습니다. Interface/InvenRaidFrames3/Libs/LibResSync-1.0/LibResSync-1.0.lua 파일을 엽니다. SendAddonMessage 함수를 찾아 (54 라인에 있습니다.) 다음과 같이 바꿉니다. function lib:SendAddonMessage(info, content, whisper) if info and content then content = info.."="..content if whisper then SendAddonMessage("LibResSync", content, "WHISPER", whisper) elseif IsInGroup(LE_PARTY_CATEGORY_INSTANCE) then SendAddonMessage("LibResSync", content, "INSTANCE_CHAT") elseif IsInGroup(LE_PARTY_CATEGORY_HOME) then if IsInRaid() then SendAddonMessage("LibResSync", content, "RAID") else SendAddonMessage("LibResSync", content, "PARTY") end end end end 2. 수도사 생존기 추가하기 Interface/InvenRaidFrames3/Modules/SurvivalSkill.lua 파일을 열어 ["MONK"] 와 ["*"] 라인을 수정합니다. ["MONK"] = { [SL(120954)] = "강화", [SL(122783)] = "마해", [SL(115176)] = "명상", [SL(122278)] = "해악", [SL(116849)] = "고치" }, ["*"] = { [SL(1022)] = "보손", [SL(47788)] = "수호", [SL(33206)] = "고억", [SL(6940)] = "희손", [SL(114039)] = "정화", [SL(102342)] = "무껍", [SL(116849)] = "고치" }, 3. 정술한테 마법이 해제 가능한 버프로 뜨는 버그 수정 + 문양박은 방밀 정보 추가 (사실상 의미 없지만) Interface/InvenRaidFrames3/Libs/LibRealDispel-1.0/LibRealDispel-1.0.lua 파일을 엽니다. 161라인을 갑니다. if class == "WARRIOR" then function scanDispel() local isGlyphSlam = false if IsSpellKnown(23922) then for i = 1, GetNumGlyphSockets() do local enabled, _, _, spellId = GetGlyphSocketInfo(i) if enabled and (spellId or 0) == 58375 then isGlyphSlam = true end end end lib.tranquilize = nil lib.harm = isGlyphSlam wipe(lib.help) end 빨간색 부분을 추가 또는 변경합니다. 정술 부분입니다. elseif class == "SHAMAN" then function scanDispel() lib.tranquilize = nil lib.harm = IsSpellKnown(370) and true or nil wipe(lib.help) lib.help.Curse = (IsSpellKnown(51886) or IsSpellKnown(95862)) and true or nil lib.help.Magic = IsSpellKnown(95862) and true or nil end 빨간색 부분을 수정합니다. 이상입니다.
EXP
514,654
(29%)
/ 540,001
|
다시날아