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

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

라죠 매크로

 

Enhanced Razor 바드버프관리 UI

페이지 정보

profile_image
작성자 LastEnvoy
댓글 1건 조회 107회 작성일 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 94건 3 페이지
라죠 매크로 목록
번호 제목 글쓴이 조회 날짜
34 Enhanced Razor 바보울온 71 01-17
33 Enhanced Razor 바보울온 63 01-17
32 Enhanced Razor 바보울온 173 01-06
31 Enhanced Razor 바보울온 143 01-05
30 Enhanced Razor 바보울온 118 01-05
29 Enhanced Razor 바보울온 187 01-05
28 Enhanced Razor
[훈련] remove trap 올리기 인기글 첨부파일 댓글1
LastEnvoy 142 05-25
27 Enhanced Razor
자동전투도우미 v2.0 인기글 첨부파일 댓글4
LastEnvoy 377 05-05
26 Enhanced Razor
자동전투도우미 v1.3 인기글 첨부파일 댓글3
LastEnvoy 178 04-03
25 Enhanced Razor
[훈련]Bowcraft/Fletching 첨부파일 댓글1
잠이보약 48 03-26
24 Enhanced Razor
[훈련]Carpentry 첨부파일 댓글1
잠이보약 37 03-25
23 Enhanced Razor
[훈련]Tinkering 첨부파일 댓글1
잠이보약 35 03-25
22 Enhanced Razor
자동전투도우미v1.2.1 인기글 첨부파일 댓글2
LastEnvoy 108 03-22
21 Enhanced Razor
[제작]BOD수거용 첨부파일 댓글1
잠이보약 60 03-19
20 Enhanced Razor
[제작]리콜 럼잭 인기글 첨부파일 댓글3
잠이보약 124 03-19
19 Enhanced Razor 잠이보약 69 03-19
18 Enhanced Razor
[훈련]Magery 댓글1
잠이보약 57 03-18
17 Enhanced Razor 잠이보약 55 03-15
16 Enhanced Razor 잠이보약 150 03-13
15 Enhanced Razor
자동전투도우미v1.1 인기글 첨부파일 댓글4
LastEnvoy 109 03-10
14 Enhanced Razor
자동전투도우미 (Scalpelv1.8수정버전) 인기글 첨부파일 댓글5
LastEnvoy 154 02-23
13 Enhanced Razor
[재수정] 리콜낚시 인기글 댓글1
LastEnvoy 115 02-16
12 Enhanced Razor fisherH 131 02-16
11 Enhanced Razor fisherH 117 02-16
10 Enhanced Razor LastEnvoy 48 02-14
9 Enhanced Razor
동물길들이기 훈련 인기글 댓글1
LastEnvoy 142 02-14
8 Enhanced Razor LastEnvoy 27 02-14
열람중 Enhanced Razor
바드버프관리 UI 인기글 댓글1
LastEnvoy 108 02-14
6 Enhanced Razor
리콜 마이닝 인기글 댓글1
LastEnvoy 112 02-14
5 Enhanced Razor
리콜 럼버 인기글 댓글3
LastEnvoy 166 02-14

검색

 


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

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

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