제가 kgpanel로 접속시 자동으로 전문기술을 표시하고 클릭시 창이 뜨도록 만들고 있습니다.
거의 90% 완성된 상태인데, 마지막으로 해결되지 않는 문제가 있어 여기에 질문 드립니다.
현재 사용하는 코드는
1. on Load
<1번 전문기술> --- 2번전문기술은 prof2로 사용
self:RegisterEvent("PLAYER_ENTERING_WORLD")
self:RegisterEvent("SKILL_LINES_CHANGED")
self:RegisterEvent("TRADE_SKILL_UPDATE")
self:RegisterEvent("CRAFT_UPDATE")
local prof1, prof2 = GetProfessions("player")
local name = GetProfessionInfo(prof1)
if name == "전문기술이름" then self:Show() else self:Hide() end;
2. on Click
if pressed then CastSpellByName("전문기술이름") end
<문제점1>
우선 위 동영상에서도 볼 수 있듯이, 전문기술을 바꾸면 바로 적용되지 않고 꼭 reload하거나 재접해야만 전문기술변화가 반영됩니다. 이걸 어떻게 해결해야할지 모르겠습니다.
<문제점2>
전문기술 두개를 다 배웠을때는 오류가 나지 않지만, 전문기술을 하나만 배우거나 둘다 배우지 않았으면 오류가 발생합니다.
제가 GetProfessionInfo()를 사용해서 오류가 나는 것으로 확인되었는데, 만약 전문기술을 하나만 배웠거나 둘다 안배웠다면 값을 어떻게 줘야 오류가 발생하지 않는지 알고 싶습니다.
1x [string "전문기술2-주각2-1_on__load"]:6: Usage: GetProfessionInfo(index)
[C]: in function `GetProfessionInfo'
[string "전문기술2-주각2-1_on__load"]:6: in function `y'
kgPanelskgPanels-r448.lua:1124: in function `Setupsc__ript'
kgPanelskgPanels-r448.lua:816: in function `Initsc__ripts'
kgPanelskgPanels-r448.lua:802: in function `PlaceFrame'
kgPanelskgPanels-r448.lua:709: in function `ApplyLayout'
kgPanelskgPanels-r448.lua:507: in function
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
...aceMasqueLibsAceAddon-3.0AceAddon-3.0-12.lua:558: in function `EnableAddon'
...aceMasqueLibsAceAddon-3.0AceAddon-3.0-12.lua:651: in function <...aceMasqueLibsAceAddon-3.0AceAddon-3.0.lua:636>
[C]: in function `LoadAddOn'
FrameXMLUIParent.lua:429: in function `UIParentLoadAddOn'
FrameXMLUIParent.lua:456: in function `CombatLog_LoadUI'
FrameXMLUIParent.lua:1116: in function
Locals:
nil
위에 코드가 오류내용입니다.
GetProfessionInfo()를 어떻게 무효화 시키는지 궁금합니다. 아님 다르게 우회하는 방법이라도 알고 싶습니다.
감사합니다.
(IP보기클릭)121.130.***.***
(IP보기클릭)182.221.***.***
감사합니다 ^^ 이걸로 며칠을 혼자 머리싸메다 못했는데....한방에 해결했습니다. 다시한번 정말 감사합니다. | 18.07.10 13:23 | |