경제분석박사
2020-03-03 06:55
조회: 40,715
추천: 2
농장 도우미 매크로(ver1.1)# 사용조건 1. 로지텍 마우스 사용자에 한하여 사용이 가능합니다.(기종무관) 2. Logitech 게임 소프트웨어를 받으셔서 해당 프로필 우클릭 - 스크립트 작성을 여신후 넣으시면됩니다. 3. 제 환경에 맞췄기 떄문에(G502) 본인의 마우스 기종에 따라 arg == N 이라는 N은 마우스 추가버튼의 번호를 말하며 OutputLogMessage() 함수를 선언하였기에 마우스 버튼을 눌러보시면 몇번인지 확인이 가능합니다. 본인의 사용하는 버튼에 알맞게 소스상에 원하는 기능 위 if문안에 번호를 수정하시면되고 본인농장의 남은칸에 따라 maxCount , OutCount 숫자를 조절하시면됩니다. 4. 사용방법은 SumCount()함수를 누를 버튼을 지정하여 n번 누른뒤 매크로농장으로 이동하여 SumPet(count) 함수를 호출하시면됩니다. 그후 본인의 농장으로 돌아와 돌보기 및 방출할 몬스터에 마우스를 가져다대고 CareAndOutPet(OutCount) 함수를 호출합니다. 그외 마우스 추가 버튼의 여유가 되시는분들은 제가 추가로 만든 친구찾기함수, 본인농장으로 이동함수, 몬스터첫번째 위치이동함수등을 마우스버튼에 매핑하시면됩니다. -- --메이플 농장 도우미(ver1.1 / 수정일자 2020-03-15) --#설정값 -- 옵션1024 * 768 기준 창모드로 메이플아이콘 모양이 절대좌표(478, 7288) 위치시킴 -- 내농장의 c급펫 한마리는 맨앞열에 하나는 존재해야함 -- 현재 마우스 G502사용중 --#기능 -- 3회돌보기 후 방출기능 -- 펫조합기능 --전역변수 count = 0 -- 조합카운트 maxCount = 9 --조합맥스카운트 OutCount = 9 --돌보기후 펫방출 반복횟수 function OnEvent(event, arg) OutputLogMessage("event = %s, count = %d, arg = %dn", event, count,arg) if (event == "PROFILE_ACTIVATED") then EnablePrimaryMouseButtonEvents(true) elseif event == "PROFILE_DEACTIVATED" then ReleaseMouseButton(2) -- to prevent it from being stuck on end if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) then--(휠우측 = 펫3회돌보기 후 방출),전환형태 CareAndOutPet(OutCount) Sleep(60) FindFriend() end if (event == "MOUSE_BUTTON_PRESSED" and arg == 4) then--(휠좌측 = 펫조합) SumPet(count) end if (event == "MOUSE_BUTTON_PRESSED" and arg == 6) then--(엄지손가락) GetOut() end if (event == "MOUSE_BUTTON_PRESSED" and arg == 8) then--(횟수 카운트용) SumCount() end if (event == "MOUSE_BUTTON_PRESSED" and arg == 9) then--(테스트용) FindFriend() --친구검색 --PrintMousePosition() end if (event == "MOUSE_BUTTON_PRESSED" and arg == 10) then--(1번째 몬스터칸으로 이동) GoFirst() end end -- 기능함수 작성 -- --마우스 화면밖으로보내기 function GoOutside() MoveMouseRelative(-120, 0) Sleep(1) MoveMouseRelative(-120, 0) Sleep(1) MoveMouseRelative(-120, 0) Sleep(1) MoveMouseRelative(-120, 0) Sleep(1) PressAndReleaseMouseButton(1) end --1번째 몬스터칸으로 이동 function GoFirst() GoOutside() Sleep(10) MoveMouseTo(2664 , 50351) Sleep(10) PressAndReleaseMouseButton(1) end --나가기 function GetOut() --나가기 클릭 GoOutside() Sleep(10) MoveMouseTo(33399 , 52841) Sleep(10) PressAndReleaseMouseButton(1) Sleep(800) --나가기 클릭 --돌보기위치 초기화 --몬스터위치7번째이동 GoOutside() Sleep(10) MoveMouseTo(18305, 50776) Sleep(10) PressAndReleaseMouseButton(1) Sleep(100) MoveMouseWheel(-1) Sleep(60) MoveMouseWheel(-1) Sleep(60) --MoveMouseWheel(-1) --Sleep(60) --몬스터위치7번째이동 --돌보기위치 초기화 end --펫조합 -- 내 농장의c급펫은 맨앞열에 위치해야한다. -- 옵션1024 * 768 기준 창모드로 메이플아이콘 모양이 절대좌표(478, 7288) 위치시킴 function SumPet(_n) if _n <= 7 then --7회까지 조합 for i = 1, _n do local _x, _y = GetMousePosition(); PressAndReleaseMouseButton(3); Sleep(30) GoMouse(0,9) Sleep(30) PressAndReleaseMouseButton(1); Sleep(30) PressKey("enter"); Sleep(30) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(8538, 40876) Sleep(10) PressAndReleaseMouseButton(1) Sleep(60) PressKey("enter"); Sleep(30) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(16426, 35288) Sleep(40) PressAndReleaseMouseButton(1) Sleep(60) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(3100) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(16290, 37900) Sleep(30) PressAndReleaseMouseButton(1) Sleep(70) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(_x+2600, _y) Sleep(30) PressAndReleaseMouseButton(1) Sleep(60) end--end_for --7회까지 조합 else --7회이후 maxCount까지 조합 for i = 1, 7 do local _x, _y = GetMousePosition(); PressAndReleaseMouseButton(3); Sleep(30) GoMouse(0,9) Sleep(30) PressAndReleaseMouseButton(1); Sleep(30) PressKey("enter"); Sleep(30) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(8538, 40876) Sleep(10) PressAndReleaseMouseButton(1) Sleep(60) PressKey("enter"); Sleep(30) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(16426, 35288) Sleep(40) PressAndReleaseMouseButton(1) Sleep(60) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(3100) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(16290, 37900) Sleep(30) PressAndReleaseMouseButton(1) Sleep(70) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(_x+2600, _y) Sleep(30) PressAndReleaseMouseButton(1) Sleep(60) end--end_for --8회이상구간 for i = 1, maxCount - 7 do --조합로직 --몬스터위치7번째이동 GoOutside() Sleep(10) MoveMouseTo(18305, 50776) Sleep(10) PressAndReleaseMouseButton(1) Sleep(60) MoveMouseWheel(-1) Sleep(60) --몬스터위치7번째이동 PressAndReleaseMouseButton(3); Sleep(30) GoMouse(0,9) Sleep(30) PressAndReleaseMouseButton(1); Sleep(30) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(50) GoOutside() Sleep(10) MoveMouseTo(8538, 40876) Sleep(10) PressAndReleaseMouseButton(1) Sleep(60) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(16426, 35288) Sleep(10) PressAndReleaseMouseButton(1) Sleep(60) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(3100) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(16290, 37900) Sleep(10) PressAndReleaseMouseButton(1) Sleep(70) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) PressKey("enter"); Sleep(40) ReleaseKey("enter"); Sleep(80) MoveMouseWheel(-1) --휠다운 1회 Sleep(30) end--end_for --조합로직 --7회이후 maxCount까지 조합 end--end_if count = 0 end --펫방출 function RemovePet() local _x, _y = GetMousePosition(); PressAndReleaseMouseButton(3) Sleep(30) GoMouse(0,9) Sleep(30) PressAndReleaseMouseButton(1) Sleep(50) GoOutside() Sleep(10) MoveMouseTo(16665, 33648) Sleep(10) PressAndReleaseMouseButton(1) Sleep(100) PressKey("enter"); Sleep(50) ReleaseKey("enter"); Sleep(80) GoOutside() Sleep(10) MoveMouseTo(_x, _y) Sleep(10) PressAndReleaseMouseButton(1) Sleep(40) end --자동 돌보기(_n회) function CarePet(_x) for i = 1,_x do PressAndReleaseMouseButton(3); Sleep(10) GoMouse(0,12) Sleep(10) PressAndReleaseMouseButton(1); Sleep(10) PressKey("enter"); Sleep(30) ReleaseKey("enter"); Sleep(30) PressKey("enter"); Sleep(30) ReleaseKey("enter"); Sleep(30) GoMouse(0,-12) Sleep(30) end end -- 공통함수 작성 -- --마우스 상대좌표 이동(_x : x좌표, _y : y좌표) --양수일경우 y는 위, x는 우측 이동 음수는 그반대로 이동 function GoMouse(_x, _y) local cx = 1 local cy = 1 if _x > 0 then cx = -1 elseif _x == 0 then cx = 0 else cx = 1 end if _y > 0 then cy = -1 elseif _y == 0 then cy = 0 else cy = 1 end for i = 1, Abs(_x) do MoveMouseRelative(cx*10, 0) Sleep(1) end Sleep(1) for i = 1, Abs(_y) do MoveMouseRelative(0, cy*10) Sleep(1) end end --현재좌표-> 절대좌표값 이동 function GoAbsMouse(_x, _y) local now_x, now_y = GetMousePosition(); local gap_x = _x - now_x local gap_y = _y - now_y local cx = 1 --x방향 local cy = 1 --y방향 if gap_x > 0 then cx = -1 elseif _x == 0 then cx = 0 else cx = 1 end if gap_y > 0 then cy = -1 elseif _y == 0 then cy = 0 else cy = 1 end for i = 1, Abs(_x) do MoveMouseRelative(cx*1, 0) Sleep(1) end Sleep(1) for i = 1, Abs(_y) do MoveMouseRelative(0, cy*1) Sleep(1) end end --절대값 구하기 function Abs(_x) if _x > 0 then return _x else return -_x end end
-- 마우스 절대좌표확인 function PrintMousePosition() local _x, _y = GetMousePosition(); OutputLogMessage("Mouse is at %d, %dn", _x, _y); end --반복횟수 지정 function SumCount() count = count + 1 if count > maxCount then count = maxCount end end -- (돌보기3회 + 펫방출1회) * x회 function CareAndOutPet(_x) for i = 1, _x do CarePet(3) Sleep(70) RemovePet() Sleep(70) end end --농장친구 검색클릭 function FindFriend() --친구목록 클릭 GoOutside() Sleep(10) MoveMouseTo(26535 , 52902) Sleep(10) PressAndReleaseMouseButton(1) Sleep(60) --친구목록 클릭 --친구이름검색 클릭 GoOutside() Sleep(10) MoveMouseTo(31760 , 42576) Sleep(10) PressAndReleaseMouseButton(1) Sleep(60) --친구이름검색 클릭 end
EXP
-1,698
(0%)
/ 1
경제분석박사
|
인벤 공식 앱
댓글 알람 기능 장착! 최신 게임뉴스를 한 눈에 보자