메저리 스크롤만 특정 마법책(or 컨테이너)에 넣기
페이지 정보
작성자 빡군 작성일 24-03-06 00:22 조회 105 댓글 2본문
이런 상자에서 메저리 스크롤만 골라서 옮길 수 있습니다!
----------------------------------------------------
모아놓은 스크롤로 풀북을 만들 때 사용한 매클입니다.
지금 마고섭에서는 메저리 풀북을 5만골드에 팔고있기 때문에 크게 효용성이 없을 수도 있지만
필요한 분은 활용하시거나 또는 매클을 공부하시는 분들께 하나의 자료가 됐으면 하는 바람에 올립니다.
from Assistant import Engine
def MoveAllItemsInContainerToContainer(source_cont, destination_cont):
cont = Engine.Items.GetItem(source_cont)
if cont == None:
print 'Cannot find container'
return
if cont.Container == None:
WaitForContents(source_cont, 5000)
for item in cont.Container.GetItems():
type = Graphic(item)
if type >= 0x1F2E and type <= 0x1F6C: #메저리 스크롤 그래픽 범위
MoveItem(item, destination_cont)
Pause(600)
else:
IgnoreObject(item)
HeadMsg("옮길 물건이 있는 컨테이너 선택")
PromptAlias("source_cont")
HeadMsg("어디로 옮길지, 컨테이너 선택")
PromptAlias("destination_cont")
source_cont = GetAlias("source_cont")
destination_cont = GetAlias("destination_cont")
MoveAllItemsInContainerToContainer(source_cont, destination_cont)
이 매클의 핵심은 컨테이너 안의 여러 아이템 중에 메저리 스크롤을 구분해 내는 로직입니다.
(어디서 참고했는데 어딘지 까먹...;;)
메저리 스크롤은 하나의 타입이 아닙니다.
각각의 모든 타입을 등록할 수도 있지만 그럼 멋이 없겠죠?
타입 그래픽 코드의 일정 범위임을 활용해서 아래와 같은 코드로 메저리 스크롤인지 아닌지 판별할 수 있습니다.
if type >= 0x1F2E and type <= 0x1F6C: #메저리 스크롤 그래픽 범위
이상 핵심 로직에 대한 설명이었습니다.
사용방법
1. 스크롤이 담겨있는 상자를 타겟팅 한다.
2. 스크롤을 옮길 곳을 타겟팅 한다.(마법책도 타겟팅 가능)
3. 스크롤이 옮겨진다. 끝.
마법책에 마법 개수가 업데이트 안돼서 문제가 있는 것 처럼 보이나
매클 완료 후 마법책을 더블클릭해서 열어보시면 개수가 업데이트됩니다.
댓글목록 2
하얀마녀님의 댓글
하얀마녀 작성일
와 이런기술이 있엇네요
스크롤 한땀한땀 옮겨 책에 넣었는데
감사 합니다~
마스터골드님의 댓글
마스터골드 작성일감사합니다!