클래식어시스트 Follow 기능 구현 (수정) > 클래식어시스트 매크로

본문 바로가기

사이트 내 전체검색

뒤로가기 클래식어시스트 매크로

 

클래식어시스트 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

울지마님의 댓글

울지마 작성일

오우 감사합니다!!

바보울온님의 댓글

바보울온 작성일

갓양파더!

봉드님의 댓글

봉드 작성일

감사합니다 ㅜㅜㅜ

전체 134건 1 페이지
게시물 검색

 

회사소개 개인정보처리방침 서비스이용약관

사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

Copyright © 소유하신 도메인. All rights reserved.
PC 버전으로 보기