바드버프관리 UI > 라죠 매크로

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

라죠 매크로

 

Enhanced Razor 바드버프관리 UI

페이지 정보

profile_image
작성자 LastEnvoy
댓글 1건 조회 108회 작성일 24-02-14 22:10

본문

Untitled.png?id=c417cb6c-a9b6-4718-9a51-d1b8c975cb99&table=block&spaceId=bdaa496d-f38a-4a24-97d8-8ed1e4f33a2e&expirationTimestamp=1708005600000&signature=SAztu-KE626GFSbtniWByycpayuehRcKR6jn2U4k0zY&downloadName=Untitled.png


UI 설명

좌측 하단의 아이콘이 MANUAL일 때는 스킬 버튼을 누르면 스킬이 사용되고, 빨간 원을 클릭하면 초록색으로 바뀌며, 

MANUAL을 클릭하면 AUTO로 변경되어 버프가 꺼질 때마다 재시전합니다.


from System.Collections.Generic import List

from System import Int32


setX = 25 

setY = 50 

WAITING = 100


class SpellFn:

    MAGERY = Spells.CastMagery

    NECROMENCY = Spells.CastNecro

    SPELLWEAVING = Spells.CastSpellweaving

    MASTERY = Spells.CastMastery


class SpellInfo:

    def __init__(self, name, mana_cost, btn_id, delay_in_ms, image_id, when_to_cast, spell_fn, check_loop, targeting=None):

        self.name = name

        self._mana_cost = mana_cost

        self.btn_id = btn_id

        self._delay_in_ms = delay_in_ms

        self.image_id = image_id

        self.when_to_cast = when_to_cast

        self._spell_fn = spell_fn

        self.check_loop = check_loop        

        self._targeting = targeting

        


    def cast(self, target=None):

        self._spell_fn(self.name)

        if self._targeting != None:

            Target.WaitForTarget(WAITING + self._delay_in_ms,True)

            Target.TargetExecute(self._targeting)

        elif target != None:

            Target.WaitForTarget(WAITING + self._delay_in_ms,True)

            Target.TargetExecute(target)           

        Misc.Pause(WAITING)


    def has_mana(self):

        return int(self._mana_cost) <= Player.Mana


    def set_loop(self, loop):

        self.check_loop = loop

        


class CastInfo:

    def __init__(self):

        self.castlist = [SpellInfo('Inspire', 20, 1, 2500, 2373, self._cond_inspire, SpellFn.MASTERY, 0),

                         SpellInfo('Invigorate', 20, 2, 2500, 2374, self._cond_invigorate, SpellFn.MASTERY, 0),

                         SpellInfo('Resilience', 20, 3, 2500, 2375, self._cond_resilience, SpellFn.MASTERY, 0),

                         SpellInfo('Perseverance', 20, 4, 2500, 2376, self._cond_perseverance, SpellFn.MASTERY, 0)]

                         

    def _cond_inspire(self):

        return not Player.BuffsExist('Inspire') and self.castlist[0].has_mana()


    def _cond_invigorate(self):

        return not Player.BuffsExist('Invigorate') and self.castlist[1].has_mana()        


    def _cond_resilience(self):

        return not Player.BuffsExist('Resilience') and self.castlist[2].has_mana()        


    def _cond_perseverance(self):

        return not Player.BuffsExist('Perseverance') and self.castlist[3].has_mana()


class masteryGump:

    def __init__(self): 

        self.is_auto = False

    

    def sendgump(self):

        self.gd = Gumps.CreateGump(movable=True) 

        Gumps.AddPage(self.gd, 0)

        Gumps.AddBackground(self.gd, 0, 0, 12 + 42*(len(spells.castlist)), 125, 30546)

        #Gumps.AddImage(gd,0, 0, 1563)

        Gumps.AddAlphaRegion(self.gd,0,0, 12 + 42*(len(spells.castlist)),125)

        for i in range(len(spells.castlist)):

            Gumps.AddButton(self.gd, 5 + 42*i, 5, spells.castlist[i].image_id, spells.castlist[i].image_id, spells.castlist[i].btn_id, not self.is_auto, 0)

            Gumps.AddTooltip(self.gd, f"{spells.castlist[i].name}")

            Gumps.AddCheck(self.gd, 20 + 42*i, 55, 2360, 2361, spells.castlist[i].check_loop, spells.castlist[i].btn_id)

            Gumps.AddTooltip(self.gd, f"{spells.castlist[i].name}")


        Gumps.AddButton(self.gd, 40*i, 95, 2124, 2123, 99, 1, 0)

        if self.is_auto:

            Gumps.AddButton(self.gd,5,95,2113,2112, 98, 1, 0)

        else:

            Gumps.AddButton(self.gd,5,95,2116,2115, 98, 1, 0)

        

        Gumps.SendGump(987654, Player.Serial, setX, setY, self.gd.gumpDefinition, self.gd.gumpStrings)

        self.buttoncheck() 


    def buttoncheck(self):

        gd = Gumps.GetGumpData(987654)

        if not self.is_auto:

            Gumps.WaitForGump(987654, 60000)

            Gumps.CloseGump(987654)

            for spell in spells.castlist:

                if spell.btn_id == gd.buttonid:

                    spell.cast()            

        else:

            Gumps.WaitForGump(987654, 1000)

                    

        if gd.buttonid == 98 and len(gd.switches) == 0:

            Player.HeadMessage(33, '마스터리 스킬을 선택하고 적용하세요.')

        if gd.buttonid == 98 and len(gd.switches) != 0:

            self.is_auto = not self.is_auto

            self.checkrun()

        elif gd.buttonid == 99:

            self.checkrun()


            

    def checkrun(self):

        gd = Gumps.GetGumpData(987654)

        for spell in spells.castlist:

            if spell.btn_id in gd.switches:

                spell.set_loop(1)

            else:

                spell.set_loop(0)


    def checkbuff(self):

        if not self.is_auto:

            return

        for spell in spells.castlist:

            if spell.check_loop == 1 and spell.when_to_cast():

                #print(spell.when_to_cast())

                spell.cast()

        

spells = CastInfo()

gump = masteryGump()

            

while Player.Connected:

    gump.sendgump()

    gump.checkbuff()

    Misc.Pause(200)

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

댓글목록

profile_image

minigo님의 댓글

minigo 작성일

와 감사합니다. 잘쓰겠습니다.

Total 93건 3 페이지
라죠 매크로 목록
번호 제목 글쓴이 조회 날짜
33 Enhanced Razor 바보울온 72 01-17
32 Enhanced Razor 바보울온 64 01-17
31 Enhanced Razor 바보울온 174 01-06
30 Enhanced Razor 바보울온 144 01-05
29 Enhanced Razor 바보울온 119 01-05
28 Enhanced Razor 바보울온 188 01-05
27 Enhanced Razor
[훈련] remove trap 올리기 인기글 첨부파일 댓글1
LastEnvoy 143 05-25
26 Enhanced Razor
자동전투도우미 v2.0 인기글 첨부파일 댓글4
LastEnvoy 379 05-05
25 Enhanced Razor
자동전투도우미 v1.3 인기글 첨부파일 댓글3
LastEnvoy 179 04-03
24 Enhanced Razor
[훈련]Bowcraft/Fletching 첨부파일 댓글1
잠이보약 49 03-26
23 Enhanced Razor
[훈련]Carpentry 첨부파일 댓글1
잠이보약 38 03-25
22 Enhanced Razor
[훈련]Tinkering 첨부파일 댓글1
잠이보약 37 03-25
21 Enhanced Razor
자동전투도우미v1.2.1 인기글 첨부파일 댓글2
LastEnvoy 109 03-22
20 Enhanced Razor
[제작]BOD수거용 첨부파일 댓글1
잠이보약 62 03-19
19 Enhanced Razor
[제작]리콜 럼잭 인기글 첨부파일 댓글3
잠이보약 124 03-19
18 Enhanced Razor 잠이보약 71 03-19
17 Enhanced Razor
[훈련]Magery 댓글1
잠이보약 59 03-18
16 Enhanced Razor 잠이보약 56 03-15
15 Enhanced Razor 잠이보약 151 03-13
14 Enhanced Razor
자동전투도우미v1.1 인기글 첨부파일 댓글4
LastEnvoy 110 03-10
13 Enhanced Razor
자동전투도우미 (Scalpelv1.8수정버전) 인기글 첨부파일 댓글5
LastEnvoy 155 02-23
12 Enhanced Razor
[재수정] 리콜낚시 인기글 댓글1
LastEnvoy 116 02-16
11 Enhanced Razor fisherH 132 02-16
10 Enhanced Razor fisherH 118 02-16
9 Enhanced Razor LastEnvoy 50 02-14
8 Enhanced Razor
동물길들이기 훈련 인기글 댓글1
LastEnvoy 143 02-14
7 Enhanced Razor LastEnvoy 29 02-14
열람중 Enhanced Razor
바드버프관리 UI 인기글 댓글1
LastEnvoy 109 02-14
5 Enhanced Razor
리콜 마이닝 인기글 댓글1
LastEnvoy 113 02-14
4 Enhanced Razor
리콜 럼버 인기글 댓글3
LastEnvoy 168 02-14

검색

 


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

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

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