이전 방법은 너무 엉성했다는 자체평가를 내렸습니다..;
그래서 새로운방식으로 lua를 고치는 방법을 올려봅니다.
능력 이상.....의 결과가 나와서 더 이상의 업뎃 없어요~ 내용이 길어져서 되도록 짧게 씁니다!
-핏불 옵션중 몸통체크를 할 필요가 없습니다. 개인 프로필 적용도 필요 없습니다.
-본인, 대상을 비롯한 모든 창에서 늑인 남캐 얼굴과 그외 다수의 얼굴이 동시에 잘 나옵니다.
-드루의 경우 모든폼에서 얼굴이 제대로 나옵니다..(드루캐릭이 없는관계로 전부 확인은 못했슴..;)
-여전히 변신 하면 전신샷이 나옵니다.(물약, 아이템효과, 늑인종특 인간형변신 등등)
-lua 수정량이 많아졌습니다.;
-이전 글보고 수정하신분 중에 이 글을 적용하실 분은 핏불 옵션과 lua 파일을 원래대로 고친후에 적용하세요
-조금 복잡해져서 반드시 잘돌아가던 원본 lua파일을 백업후에 수정하세요
위치 :: 와우폴더 -> Interface -> addons -> PitBull4_Portrait -> Portrait.lua
첨가된 부분이 굵은 줄입니다.
==========================
frame.Portrait = portrait:Delete()
return true
end
local function DruidForm(unit)
local MOONKIN_FORM = GetSpellInfo(24858)
local AQUATIC_FORM = GetSpellInfo(1066)
local FLIGHT_FORM = GetSpellInfo(33943)
local SWIFT_FLIGHT_FORM = GetSpellInfo(40120)
local TRAVEL_FORM = GetSpellInfo(783)
local TREE_OF_LIFE, SHAPESHIFT = GetSpellInfo(33891)
local _, c = UnitClass(unit)
if c ~= "DRUID" then
return true
end
local power = UnitPowerType(unit)
if power == 1 then
return false
elseif power == 3 then
return false
elseif UnitAura(unit,MOONKIN_FORM,SHAPESHIFT) then
return false
elseif UnitAura(unit,TREE_OF_LIFE,SHAPESHIFT) then
return false
elseif UnitAura(unit,TRAVEL_FORM,SHAPESHIFT) then
return false
elseif UnitAura(unit,AQUATIC_FORM,SHAPESHIFT) then
return false
elseif UnitAura(unit,SWIFT_FLIGHT_FORM,SHAPESHIFT) or UnitAura(unit,SWIFT_FLIGHT_FORM,SHAPESHFIT) then
return false
end
return true
end
local function model_OnUpdate(self, elapsed)
local frame = self:GetParent()
local style = frame.Portrait.style
local full_body = PitBull4_Portrait:GetLayoutDB(frame).full_body
local _, race = UnitRace(frame.unit)
local sex = UnitSex(frame.unit)
... 생략 ...
elseif style == "three_dimensional" then
if not frame.Portrait.falling_back then
self:SetUnit(frame.unit)
if not full_body then
-- For portrait mode set the models camera to the 0 preset.
-- Note: Full body is technically preset 1, but under no circumstances
-- should we directly set it. The camera will already be set to preset
-- 1 and doing it ourselves causes some models to show up as just a blob.
if race == "Worgen" and sex == 2 then
if DruidForm(frame.unit) then
self:SetCamera(1)
else
self:SetCamera(0)
end
else
self:SetCamera(0)
end
end
else
self:SetModelScale(4.25)
self:SetPosition(0, 0, -1.5)
self:SetModel([[Interface\Buttons\talktomequestionmark.mdx]])
===========================================
elseif UnitAura(unit,SWIFT_FLIGHT_FORM,SHAPESHIFT) or UnitAura(unit,SWIFT_FLIGHT_FORM,SHAPESHFIT) then
원래 한줄인데 길어서 두줄로 올려졌네요.
if race == "Worgen" and sex == 2 then
이 줄에 원래 self:SetCamera(0) 가 있었죠. 지우고 굵은줄 첨가하세요