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

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

라죠 매크로

 

Enhanced Razor 바드버프관리 UI

페이지 정보

profile_image
작성자 LastEnvoy
댓글 1건 조회 119회 작성일 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 바보울온 92 01-17
33 Enhanced Razor 바보울온 83 01-17
32 Enhanced Razor 바보울온 75 01-17
31 Enhanced Razor 바보울온 189 01-06
30 Enhanced Razor 바보울온 158 01-05
29 Enhanced Razor 바보울온 129 01-05
28 Enhanced Razor 바보울온 203 01-05
27 Enhanced Razor
[훈련] remove trap 올리기 인기글 첨부파일 댓글1
LastEnvoy 156 05-25
26 Enhanced Razor
자동전투도우미 v2.0 인기글 첨부파일 댓글4
LastEnvoy 389 05-05
25 Enhanced Razor
자동전투도우미 v1.3 인기글 첨부파일 댓글3
LastEnvoy 191 04-03
24 Enhanced Razor
[훈련]Bowcraft/Fletching 첨부파일 댓글1
잠이보약 59 03-26
23 Enhanced Razor
[훈련]Carpentry 첨부파일 댓글1
잠이보약 51 03-25
22 Enhanced Razor
[훈련]Tinkering 첨부파일 댓글1
잠이보약 48 03-25
21 Enhanced Razor
자동전투도우미v1.2.1 인기글 첨부파일 댓글2
LastEnvoy 119 03-22
20 Enhanced Razor
[제작]BOD수거용 첨부파일 댓글1
잠이보약 73 03-19
19 Enhanced Razor
[제작]리콜 럼잭 인기글 첨부파일 댓글3
잠이보약 137 03-19
18 Enhanced Razor 잠이보약 82 03-19
17 Enhanced Razor
[훈련]Magery 댓글1
잠이보약 68 03-18
16 Enhanced Razor 잠이보약 66 03-15
15 Enhanced Razor 잠이보약 163 03-13
14 Enhanced Razor
자동전투도우미v1.1 인기글 첨부파일 댓글4
LastEnvoy 119 03-10
13 Enhanced Razor
자동전투도우미 (Scalpelv1.8수정버전) 인기글 첨부파일 댓글5
LastEnvoy 165 02-23
12 Enhanced Razor
[재수정] 리콜낚시 인기글 댓글1
LastEnvoy 126 02-16
11 Enhanced Razor fisherH 142 02-16
10 Enhanced Razor fisherH 127 02-16
9 Enhanced Razor LastEnvoy 60 02-14
8 Enhanced Razor
동물길들이기 훈련 인기글 댓글1
LastEnvoy 153 02-14
7 Enhanced Razor LastEnvoy 40 02-14
열람중 Enhanced Razor
바드버프관리 UI 인기글 댓글1
LastEnvoy 120 02-14
5 Enhanced Razor
리콜 마이닝 인기글 댓글1
LastEnvoy 124 02-14

검색

 


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

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

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