리콜낚시 > 클래식어시스트 매크로

본문 바로가기
사이트 내 전체검색

클래식어시스트 매크로

 

리콜낚시

페이지 정보

profile_image
작성자 LastEnvoy
댓글 2건 조회 188회 작성일 24-02-14 22:15

본문

from ClassicAssist.UO.Data import Statics
from ClassicAssist.UO import UOMath
from Assistant import Engine
from System import Convert
import clr
clr.AddReference('System.Core')

runebooks = [0x42030d5d] #낚시 Spot이 찍힌 룬북 시리얼번호 (여러개면 콤마 넣어가면서 넣으세요.)
homebook = 0x42030d5c #자원을 놓을 장소가 설정되어 있는 룬북 시리얼번호
homeNum = 1 #자원을 놓을 장소가 설정되어 있는 룬 위치 (1 ~ 16)
resChest = 0x420504d2 # 자원을 넣어둘 컨테이너 시리얼번호
fishingpole = 0x42a87a1c # 낚시대 시리얼번호
knife = 0x42a86796 # 물고기를 자를 칼 시리얼번호
bulkbooks = 0x4002d6cb
trashbag = 0x42cab338
####################################################################
#################### 아래 설정은 건들지 마세요!!! ####################
#################### 아래 설정은 건들지 마세요!!! ####################
#################### 아래 설정은 건들지 마세요!!! ####################
####################################################################
recallbuttons = list(range(10,26))
fishtile = [6039, 6044, 13422, 13445, 13456, 13483, 13493, 13525, 6039]
fishes = [0x4306, 0x4307, 0x9cc, 0x9cd, 0x9ce, 0x9cf, 0x44c6, 0x4303, 0x44c4]
resources = [0x97a, 0x3196, 0x573a]
trash = [0x1711, 0x170b, 0x170f, 0x170d, 0xdd6]
craftGumpId = 0x38920abd
iron_recall = 3
deedgiver_iron = [0xf1, 0xf1]
cloth_recall = 4
deedgiver_cloth = [0xe3, 0xe3]
wood_recall = 5
deedgivers_wood = [0x23b, 0x220, 0x23f, 0x23b, 0x220, 0x23f] #tinker. carpenter, bower
deedresettime = 14400000


def GetRunebookEntries(serial):
    entries = []
    SysMessage(str(serial))
    UseObject(serial)
    if WaitForGump(0x59, 5000):
        res,gump = Engine.Gumps.GetGump(0x59)
        
        y = 60
        
        while y <= 165:
            element = gump.Pages[1].GetElementByXY(145, y)
            if element != None and element.Hue != 0:
                entries.append(element.Text)

            y = y + 15
            
        y = 60

        while y <= 165:
            element = gump.Pages[1].GetElementByXY(305, y)
            if element != None and element.Hue != 0:
                entries.append(element.Text)
                
            y = y + 15
            
    return entries

def GetNearestWater():
    waters = []
    xaxis = range(Engine.Player.X-4, Engine.Player.X+5)
    yaxis = range(Engine.Player.Y-4, Engine.Player.Y+5)
    for x in xaxis:
        for y in yaxis:
            statics = Statics.GetStatics(Convert.ChangeType(Engine.Player.Map, int), x, y)
            if statics == None:
                continue
            for s in statics:
                if s.Name.Contains("water") and s.ID in fishtile:
                    waters.append({"X": (s.X), "Y": (s.Y), "Z": s.Z, "ID": s.ID})

    return waters

def Fishing(fishingspots, num = 0):
    if num == len(fishingspots):
        return False
    spot = fishingspots[num]
    UseObject(fishingpole)
    WaitForTarget(1000)
    TargetXYZ(spot['X'], spot['Y'], spot['Z'], spot['ID'])
    if not InJournal('Target cannot be seen', 'system'):
        Pause(8500)
    else:
        ClearJournal()
        Pause(500)
        num = num + 1
        Fishing(fishingspots, num)
        
def DropResources(runebook):
    UseObject(runebook)
    WaitForGump(0x59, 5000)
    ReplyGump(0x59, (9 + homeNum))
    Pause(5000)
    for item in resources:
        while FindType(item, -1, "backpack"):
            MoveItem("found", resChest)
            Pause(1000)

def ChopFishes():
    for fish in fishes:
        while FindType(fish, -1, "backpack"):
            UseObject(knife)
            WaitForTarget(5000)
            Target("found")
            Pause(1000)

def ThrowAway():
    for one in trash:
        while FindType(one, -1, "backpack"):
            MoveItem("found", trashbag)
            Pause(1000)
            IgnoreObject("found")
    
for y in range(len(runebooks)):
    currentbook = runebooks[y]
    entries = GetRunebookEntries(currentbook)
    for x in range(len(entries)):
        UseObject(currentbook)
        WaitForGump(0x59, 2000)
        ReplyGump(0x59, recallbuttons[x])
        Pause(2000)
        ClearJournal()
        while not InJournal("The fish don't seem to be biting here", "system"):
            Fishing(GetNearestWater())
            if Weight() >= (MaxWeight() - 150) and Weight() <= (MaxWeight() - 80):
                ChopFishes()
                ThrowAway()
            if Weight() >= (MaxWeight() - 80):
                ChopFishes()
                DropResources(homebook)
                UseObject(currentbook)
                WaitForGump(0x59, 5000)
                ReplyGump(0x59, recallbuttons[x])
                Pause(5000)

🔒 로그인 후 내용을 확인하세요

댓글목록

profile_image

마스터골드님의 댓글

마스터골드 작성일

좋은자료 감사합니다!

profile_image

ackdang님의 댓글

ackdang 작성일

감사합니다!!!!!!!!

Total 134건 4 페이지
클래식어시스트 매크로 목록
번호 제목 글쓴이 조회 날짜
74 바보울온 105 04-27
73 바보울온 224 04-23
72
파티원 힐, 큐어 매클 인기글 댓글4
빡군 271 04-21
71 빡군 72 04-20
70 빡군 333 04-15
69 빡군 94 04-09
68 바보울온 136 04-08
67 바보울온 435 04-03
66 빡군 349 03-31
65 빡군 237 03-31
64 레드몽키 402 03-29
63 레드몽키 566 03-29
62 빡군 158 03-26
61 흑양파 176 03-22
60 fisherH 281 03-11
59 빡군 218 03-10
58 바보울온 155 03-08
57 빡군 90 03-08
56 fisherH 163 03-06
55
왕의무덤 자동레버 및 입구 열기 인기글 첨부파일 댓글2
fisherH 122 03-06

검색

 


회사소개 개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 00-000-0000 FAX. 00-000-0000 서울 강남구 강남대로 1
대표:홍길동 사업자등록번호:000-00-00000 개인정보관리책임자:홍길동

Copyright © 소유하신 도메인. All rights reserved.