Enhanced Razor 선택한 아이템을 이동하는 메크로 만드려는데... 도움부탁드립니다.
페이지 정보

본문
선택한 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()
댓글목록

김레이님의 댓글
김레이 작성일
일단 함수 다 푸시구요.. 하나하나 액션을 함수로 만들 필요는 없어보이는데 굳이 하시겠다면 각 함수에서 리턴값을 줘야 합니다.
그리고 Items.FindByID 에서 int 로 받아야 하는데 fromContainer_Serial 이 str 이라서 안된다고 에러가 뜨네요. choose_fromContainer() 에서 fromContainer_Serial 를 줬기 때문에 그냥 쓰려고 하신 것 같은데 찍어보시면 알겠지만 값이 없습니다. 각 함수간에 변수 공유가 안되기 때문에..
또 Items.FindByID 는 container 파라미터에서 시리얼을 받는데 함수 다 풀었다고 가정할 때 fromContainer_Serial 쪽을 보면 타겟잡은걸 굳이 FindBySerial 로 변환할 필요가 없습니다(상단). 그러면 Item 형이 되기 때문에.. 만약 그대로 갈거면 .Serial 붙이면 됩니다만 어차피 Target 에서 시리얼로 리턴하기 때문에 굳이..

Sendol님의 댓글의 댓글
Sendol 작성일고맙습니다 김레이님 참고해서 좀더 수정해 보겠습니다~

양파님의 댓글
양파 작성일대략 보아하니 로컬변수 때문같은데 def 푸시면 될듯?