[재수정] 리콜낚시 > 라죠 매크로

본문 바로가기

사이트 내 전체검색

뒤로가기 라죠 매크로

 

Enhanced Razor [재수정] 리콜낚시

페이지 정보

작성자 LastEnvoy 작성일 24-02-16 18:22 조회 117 댓글 1

본문

from System import Convert
import clr
clr.AddReference('System.Core')

runebooks = [0x4205710a] #낚시 Spot이 찍힌 룬북 시리얼번호 (여러개면 콤마 넣어가면서 넣으세요.)
homebook = 0x42030A51 #자원을 놓을 장소가 설정되어 있는 룬북 시리얼번호
homeNum = 1#자원을 놓을 장소가 설정되어 있는 룬 위치 (1 ~ 16)
resChest = 0x420504d2 # 자원을 넣어둘 컨테이너 시리얼번호
fishingpole = 0x42a87a1b # 낚시대 시리얼번호
knife = 0x42a86797 # 물고기를 자를 칼 시리얼번호
bulkbooks = 0x407f2751
trashbag = 0x42cab339
####################################################################
#################### 아래 설정은 건들지 마세요!!! ####################
#################### 아래 설정은 건들지 마세요!!! ####################
#################### 아래 설정은 건들지 마세요!!! ####################
####################################################################
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 GetNearestWater():
    waters = []
    forxin range(Player.Position.X-4, Player.Position.X+5):
        foryin range(Player.Position.Y-4, Player.Position.Y+5):
            #statics = Statics.GetStatics(Convert.ChangeType(Engine.Player.Map, int), x, y)
            statics = Statics.GetStaticsTileInfo(x,y, Player.Map)
            if statics == None:
                continuefor s in statics:
                ifStatics.GetTileName(s.ID).Contains("water") and s.IDin fishtile:
                    #print(Statics.GetTileName(s.StaticID))
                    waters.append({'X': x, 'Y': y, 'Z': s.Z, 'ID':s.ID, 'SID':s.StaticID})
    return waters

def Fishing(fishingspots, num = 0):
    if num == len(fishingspots):
        returnFalse
    spot = fishingspots[num]
    Items.UseItem(fishingpole)
    Target.WaitForTarget(1000)
    Target.TargetExecute(spot['X'], spot['Y'], spot['Z'], spot['ID'])
    Misc.Pause(1000)
    Target.Cancel()
    ifnotJournal.Search('Target cannot be seen'):
        Misc.Pause(7500)
    else:
        Journal.Clear()
        num = num + 1
        Fishing(fishingspots, num)
        
def DropResources(runebook):
    Items.UseItem(runebook)
    Misc.Pause(100)
    Gumps.WaitForGump(0x59, 5000)
    Gumps.SendAction(0x59, (9 + homeNum))
    Misc.Pause(5000)
    for item inItems.FindAllByID(resources,-1,Player.Backpack.Serial,False,True):
        Items.Move(item, resChest, -1)
        Misc.Pause(1000)

def ChopFishes():
    for fish inItems.FindAllByID(fishes,-1,Player.Backpack.Serial,False,True):
        Items.UseItem(knife)
        Target.WaitForTarget(5000)
        Target.TargetExecute(fish)
        Misc.Pause(1000)

def ThrowAway():
    for one inItems.FindAllByID(trash,-1,Player.Backpack.Serial,False,True):
            Items.Move(one, trashbag, -1)
            Misc.Pause(1000)
            Misc.IgnoreObject(one)

def RecallForDeed(runebook, recallbtn):
    Items.UseItem(runebook)
    Misc.Pause(100) 
    Gumps.WaitForGump(0x59, 5000)
    Gumps.SendAction(0x59, (9 + recallbtn))
    Misc.Pause(3000)
    
def GetDeed(characters):
    for character in characters:
        Misc.WaitForContext(character, 10000)
        Misc.ContextReply(character, 1)
        Misc.Pause(100) 
        Gumps.WaitForGump(2611865322, 10000)
        Gumps.SendAction(2611865322, 1)        
        Misc.Pause(3000)

def PutDeeds():
    for deed inItems.FindAllByID(0x2258,-1,Player.Backpack.Serial,False,True):
        Misc.Pause(100)
        Items.Move(deed, bulkbooks, -1)
        Misc.Pause(100) 
    Misc.Pause(500)
    Gumps.SendAction(0x54f555df, 0)

whileTrue:
    foryin range(len(runebooks)):
        currentbook = runebooks[y]
        #entries = GetRunebookEntries(currentbook)forxin range(16):
            ifnotTimer.Check("deed"):
                RecallForDeed(homebook, iron_recall)
                GetDeed(deedgiver_iron)
                #RecallForDeed(homebook, cloth_recall)#GetDeed(deedgiver_cloth)#RecallForDeed(homebook, wood_recall)#GetDeed(deedgivers_wood)
                PutDeeds()
                Timer.Create("deed", deedresettime)
            Misc.Pause(500)
            Items.UseItem(currentbook)
            Misc.Pause(100) 
            Gumps.WaitForGump(0x59, 2000)
            Gumps.SendAction(0x59, recallbuttons[x])
            Misc.Pause(2000)
            Journal.Clear()
            whilenotJournal.Search("The fish don't seem to be biting here"):
                Fishing(GetNearestWater())
                ifPlayer.Weight >= (Player.MaxWeight - 150) andPlayer.Weight <= (Player.MaxWeight - 80):
                    ChopFishes()
                    ThrowAway()
                ifPlayer.Weight >= (Player.MaxWeight - 80):
                    ChopFishes()
                    DropResources(homebook)
                    Misc.Pause(100)
                    Items.UseItem(currentbook)
                    Misc.Pause(100)
                    Gumps.WaitForGump(0x59, 5000)
                    Gumps.SendAction(0x59, recallbuttons[x])
                    Misc.Pause(5000)
            Misc.Resync()

댓글목록 1

LastEnvoy님의 댓글

LastEnvoy 작성일

클어시 매크로 전환하는 과정에서 오류가 약간 있었는데. 수정했고. 이제 잘돌아가네요.

전체 94건 3 페이지
게시물 검색

 

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

사이트 정보

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

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