클래식어시스트 Follow 기능 구현 (수정)
페이지 정보
작성자 흑양파 작성일 25-03-16 12:06 조회 198 댓글 3본문
안녕하세요. 양파입니다.
클래식유오 업데이트 이후 Follow 기능에 오류가 있는데
장기간 업데이트가 안되고 있어 보입니다.
클어시는 업데이트 빨리빨리 잘되는데
클유오에서 업데이트를 해줘야 되는데 늦네요
어쨌든 ClassicAssist 소스랑 ClassicUO 클라이언트 소스를 분석해서
매크로로 만들어봤습니다.
감사합니다! 아래참고!!
수정) 오류수정 및 Following() 기능 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | ######################################################## from Assistant import Engine import threading from ClassicAssist.Data.Macros import MacroManager class FollowFunction: def __init__(self): self._followingTarget = 0 self._followingMode = 0 self._follow_thread = None self._macroname = MacroManager.GetInstance().CurrentMacro.Name def __StopFollowing(self): self._followingTarget = 0 self._followingMode = 0 if self._follow_thread and self._follow_thread.is_alive(): self._follow_thread.join() if Pathfinding(): Pathfind(-1) def __FollowingLogic(self): while self._followingMode and Playing(self._macroname): follow = Engine.Mobiles.GetMobile(self._followingTarget) if follow is None or follow.Distance > 24: Pause(1) #Pathfind(-1) elif follow.Distance > 3: if not Pathfinding(): Pathfind(follow.Serial) elif follow.Distance > 0: Run(DirectionTo(follow.Serial)) Pause(1) def Follow(self, _followingTarget = None): if _followingTarget is None: self.__StopFollowing() return self._followingTarget = _followingTarget self._followingMode = 1 self._follow_thread = threading.Thread(target=self.__FollowingLogic) self._follow_thread.start() def Following(self): return self._followingMode newfollow = FollowFunction() ## 여기까지를 기존에 쓰시던 매크로에 복사해서 제일 윗부분에 붙여넣기 하시고요 ## ## 기존매크로에 Follow(leader) 부분을 찾아서 아래처럼 수정해서 사용하시면 됩니다 ## leader = 0x14d4e newfollow.Follow(leader) #따라가자 ################################################################################# ## 이 매크르롤 단독으로 테스트 하고 싶으시면 아래것도 복사해서 테스트 하시면 됩니다. ## while newfollow.Following(): Pause(500) ################################################################################# | cs |
멈출때는 아래처럼 하시면 되고요
newfollow.Follow() #멈춰라
실행하면 3번줄 No module named threading 오류나시는분들은
Modules 설치가 안되서 그런건데요
클어시가 설치된 폴더에 보시 modules.zip 파일이 있습니다.
경로가 대충 이런식입니다. C:\GAME\ClassicUOLauncher\ClassicUO\Data\Plugins\ClassicAssist
저 Modules 압축파일을 Modules 폴더안에 해제시켜 주시면 됩니다.
고생하셨습니다~
댓글목록 3
바보울온님의 댓글
바보울온 작성일갓양파더!
봉드님의 댓글
봉드 작성일감사합니다 ㅜㅜㅜ
울지마님의 댓글
울지마 작성일오우 감사합니다!!