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

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

클래식어시스트 매크로

 

리콜낚시

페이지 정보

profile_image
작성자 LastEnvoy
댓글 2건 조회 191회 작성일 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건 6 페이지
클래식어시스트 매크로 목록
번호 제목 글쓴이 조회 날짜
34 fisherH 185 02-15
33 바보울온 236 02-15
32
리콜마이닝 인기글 댓글6
LastEnvoy 446 02-14
31 Sendol 205 05-04
30
리콜럼버 인기글 댓글9
LastEnvoy 348 02-14
29
답변글 Re: 리콜럼버 안녕하세요 인기글 첨부파일
mrgoora 192 02-24
열람중
리콜낚시 인기글 댓글2
LastEnvoy 192 02-14
27 바보울온 311 02-14
26 바보울온 384 02-12
25 바보울온 127 02-12
24 바보울온 185 02-12
23 바보울온 247 02-12
22
[클어씨#9] 룬북 낚시 매크로 인기글 첨부파일 댓글1
바보울온 173 02-12
21 바보울온 165 02-12
20 바보울온 165 02-12
19
[클어씨#6] 네크 훈련 매크로 인기글 첨부파일 댓글2
바보울온 319 02-12
18
[클어씨#5] 위빙 훈련 매크로 인기글 첨부파일 댓글2
바보울온 305 02-12
17
[클어씨#4] 매저리 훈련 매크로 인기글 첨부파일 댓글3
바보울온 337 02-12
16
[클어씨#3] 디스코 훈련 매크로 인기글 첨부파일 댓글2
바보울온 451 02-12
15 바보울온 324 02-12

검색

 


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

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

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