Enhanced Razor 선택한 아이템을 이동하는 메크로 만드려는데... 도움부탁드립니다.
페이지 정보
작성자 Sendol 작성일 25-05-15 22:31 조회 67 댓글 3본문
선택한 from , to 상자, 아이템 선택도 잘 되는것 같은데.!
아이템 이동 함수..
move_item() 여기서 부터
잘 안됩니당~~
클어시의 상자템을 다른상자로 이동하는...
아이템 이동 메크로를 만들어보고 싶었는데..
잘 안되서 문의드려 봅니다.
#
#
#
#
fromContainer_Serial = ''
toContainer_Serial = ''
item_Serials = ''
item_Serial_ID = 0
def choose_fromContainer():
Player.HeadMessage(70,'Choose Item From Container')
fromContainer_Serial = Items.FindBySerial(Target.PromptTarget("fromConainer"))
# Player.HeadMessage(70,'' + str(fromContainer_Serial))
Misc.Pause(500)
def choose_toContainer():
Player.HeadMessage(70,'Choose Item To Container')
toContainer_Serial = Items.FindBySerial(Target.PromptTarget("toConainer"))
# Player.HeadMessage(70,'' + str(toContainer_Serial))
Misc.Pause(500)
def choose_item():
Player.HeadMessage(70,'Choose Item')
item_Serials = Items.FindBySerial(Target.PromptTarget("itemChoose"))
# Player.HeadMessage(70,'' + str(item_Serials))
item_Serial_ID = item_Serials.ItemID
# Player.HeadMessage(70,'' + str(item_Serial_ID))
Player.HeadMessage(70, fromContainer_Serial)
Misc.Pause(500)
def move_item():
# while Items.FindByID(item_Serial_ID, -1, fromContainer_Serial):
# Player.HeadMessage(70,'==' + str(item_Serials_ID) + str(item_Serials))
moveitem = Items.FindByID(item_Serial_ID, -1, fromContainer_Serial)
Player.HeadMessage(70,'' + str(moveitem))
if moveitem != None:
Items.Move(moveitem, toContainer_Serial, -1)
Misc.Pause(1000)
# if not Items.FindBySerial(fromContainer_Serial):
# break
#
#
#
#
choose_fromContainer()
Misc.Pause(500)
choose_toContainer()
Misc.Pause(500)
choose_item()
Misc.Pause(500)
move_item()
댓글목록 3
Sendol님의 댓글의 댓글
Sendol 작성일고맙습니다 김레이님 참고해서 좀더 수정해 보겠습니다~
양파님의 댓글
양파 작성일대략 보아하니 로컬변수 때문같은데 def 푸시면 될듯?
김레이님의 댓글
김레이 작성일일단 함수 다 푸시구요.. 하나하나 액션을 함수로 만들 필요는 없어보이는데 굳이 하시겠다면 각 함수에서 리턴값을 줘야 합니다.
그리고 Items.FindByID 에서 int 로 받아야 하는데 fromContainer_Serial 이 str 이라서 안된다고 에러가 뜨네요. choose_fromContainer() 에서 fromContainer_Serial 를 줬기 때문에 그냥 쓰려고 하신 것 같은데 찍어보시면 알겠지만 값이 없습니다. 각 함수간에 변수 공유가 안되기 때문에..
또 Items.FindByID 는 container 파라미터에서 시리얼을 받는데 함수 다 풀었다고 가정할 때 fromContainer_Serial 쪽을 보면 타겟잡은걸 굳이 FindBySerial 로 변환할 필요가 없습니다(상단). 그러면 Item 형이 되기 때문에.. 만약 그대로 갈거면 .Serial 붙이면 됩니다만 어차피 Target 에서 시리얼로 리턴하기 때문에 굳이..