본문

월드 오브 워크래프트: 격전의 아제로스

평점 :
9.3 더보기 +

최근방문 게시판

[매크로] KGPANEL로 전문기술팝업 판넬 작업중....오류해결요청 [2]





[광고]

제가 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 <kgPanelskgPanels.lua:503>
(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 <FrameXMLUIParent.lua:1011>

Locals:
nil
위에 코드가 오류내용입니다.

GetProfessionInfo()를 어떻게 무효화 시키는지 궁금합니다. 아님 다르게 우회하는 방법이라도 알고 싶습니다.
감사합니다.


댓글 | 2
1


(765442)

121.130.***.***

1) on__load는 이름 그대로 프레임 최초 로드 시 한번만 호출되기 때문에, 전문 기술 변경시 그 EVENT를 검출하여 작동하는 OnEvent 핸들러를 추가로 작성하셔야 할듯 합니다. 2) GetProfessionInfo에 prof1 ,prof2를 넣기 전에 각각의 nil 검사를 해주면 될듯 합니다 if prof1 then local name = GetProfessionInfo(prof1) .... end
18.07.10 00:59
(5041586)

182.221.***.***

Alkaid_sp
감사합니다 ^^ 이걸로 며칠을 혼자 머리싸메다 못했는데....한방에 해결했습니다. 다시한번 정말 감사합니다. | 18.07.10 13:23 | | |


1


댓글은 로그인 후 이용 가능합니다.




글쓰기
공지
스킨
ID 구분 제목 글쓴이 추천 조회 날짜
1 전체공지 로스트 아크 8[RULIWEB] 2018.11.07
9354044 정보 (스포주의) 8.1 복수의 파도 정보글 모음 v1.4. (30) 장미저택 25 28301 2018.10.01
9351437 정보 쐐기, PvP 주간보상에 대하여 - 위치와 얻을 수 있는 템렙. (4) 장미저택 14 25074 2018.09.12
9350437 정보 격아 1시즌 매주마다 PvE 유저와 PvP 유저가 할만 한 것들. (13) 장미저택 38 29438 2018.09.06
9343613 정보 격아 정보글 모음. v1.6. (32) 장미저택 126 91497 2018.08.06
9340281 매크로 주문ID 찾는 매크로 (1) Alkaid_sp 7 1969 2018.07.19
9333748 매크로 NPC 이름표 확대 매크로 (4) 흑잔폭사 8 3862 2018.06.03
9356403 매크로 엉망진창개판 2370 2018.10.27
9356006 매크로 루리웹-1412939025 2307 2018.10.23
9355582 매크로 캔그리피 2223 2018.10.18
9354064 매크로 캔그리피 3572 2018.10.01
9350435 매크로 루리웹-9172780798 4830 2018.09.06
9347935 매크로 MegaGengar 7 6038 2018.08.23
9347038 매크로 정현민 6 6458 2018.08.20
9345587 매크로 캔그리피 3158 2018.08.14
9345176 매크로 딸몽 3415 2018.08.13
9345157 매크로 루리웹-6365514240 2872 2018.08.13
9342887 매크로 야난 후작 2170 2018.08.03
9341820 매크로 wayne 1714 2018.07.29
9341309 매크로 Griiy 878 2018.07.26
9340281 매크로 Alkaid_sp 7 1969 2018.07.19
9340228 매크로 야난 후작 949 2018.07.19
9340227 매크로 은단은맛있어 837 2018.07.19
9339540 매크로 야난 후작 592 2018.07.14
9339271 매크로 오쓰 1716 2018.07.11
9339232 매크로 Griiy 1121 2018.07.11
9339091 매크로 핏빛날개 700 2018.07.09
9338446 매크로 쪼개기작렬 572 2018.07.02
9338425 매크로 野獸 807 2018.07.02
9337877 매크로 대전인간 788 2018.06.25
9337345 매크로 겜정보ㄱㄱ 913 2018.06.19
9336607 매크로 닥공님 816 2018.06.12
9336398 매크로 야난 후작 1113 2018.06.11
9336227 매크로 지구인697호 3 1118 2018.06.10
9336120 매크로 겜정보ㄱㄱ 783 2018.06.09

글쓰기 38개의 글이 있습니다.


1 2


게시판 지기



X