자동사냥, 자동거래, PC 게임, 모바일 게임, 우회, 오토핫키, 하드웨어 매크로
매크로 제작, 매크로 커뮤니티, 무료 매크로 설치 http://ngmsoftware.com
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
안녕하세요. 엔지엠소프트웨어입니다. 게임을 하다보면~ 화면 가운데 고정된 내 케릭터 주변을 클릭해서 아이템을 줏어야 하죠? 빠르게 주변에 떨어진 아이템을 루팅하려면 클릭해야 하는데요. 엔지엠 매크로의 액션을 사용해서 구현할수도 있지만, 오늘은 좀 더 쉽게(?) 만드는 방법을 알아보도록 하겠습니다. 우리가 만드는 기능은 아래와 같습니다.
그림판의 오랜지색 점이 내 케릭터의 좌표구요. 주변으로 원을 그리면서 클릭합니다. 너무 빨라서 클릭이 발생했는지 확인이 잘 안됩니다^^; 이 액션은 커스텀 모듈로 만들었기 때문에 엔지엠 프레임워크를 이용해서 커스텀 모듈을 제작하는 방법에 대해 먼저 학습해야 합니다. 커스텀 모듈 제작 가이드는 아래 글을 참고하세요.
[ 커스텀 모듈 만들기 ]
Visual Studio를 실행한 후 커스텀 모듈 프로젝트를 만들었습니다. 프로젝트 이름은 ①CustomOutsideMouseModule입니다. 엔지엠 프레임워크에서 제공하는 ②③커스텀 모듈 API들을 추가해야 합니다. 마지막으로 ④OutsideMouseModel.cs 클래스를 추가해야 합니다.
아래는 전체 코드입니다. 이 코드를 OutsideMouseModel 클래스에 붙여넣기 하세요.
using NGM.Utility.MouseKeyboardManager;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CustomOutsideMouseModule
{
[Serializable]
public class OutsideMouseModel : NGM.Models.Interface.BaseCustomToolModel
{
/// <summary>
/// 도구 상자에 표시될 카테고리 이름을 가져옵니다.
/// </summary>
public override string DisplayCategory => "NGMsoftware";
/// <summary>
/// 도구 상자에 표시될 액션 이름을 가져옵니다.
/// </summary>
public override string DisplayName => "아웃사이드 클릭";
[Category("Action")]
[DisplayName("마우스 좌표")]
[Description("이 좌표를 중심으로 외각을 클릭합니다.")]
[Browsable(true)]
[DefaultValue(typeof(Point), "0, 0")]
[Editor(typeof(NGM.Models.TypeEditor.MouseTrackingEditor), typeof(UITypeEditor))]
public Point MousePoint { get; set; }
[Category("Action")]
[DisplayName("클릭 수")]
[Description("마우스 좌표 외각으로 클릭할 횟수를 입력하세요.")]
[Browsable(true)]
[DefaultValue(8)]
public int ClickCount { get; set; } = 8;
[Category("Action")]
[DisplayName("거리")]
[Description("중심점으로부터 떨어진 거리를 입력하세요.")]
[Browsable(true)]
[DefaultValue(30)]
public int Distance { get; set; } = 30;
[Category("Action")]
[DisplayName("반복")]
[Description("거리만큼 증가하면서 반복 수행합니다.")]
[Browsable(true)]
[DefaultValue(1)]
public int Repeat { get; set; } = 1;
[Category("Action")]
[DisplayName("가중치")]
[Description("반복 횟수에 따라 거리가 멀어지면, 클릭 횟수를 늘려줍니다.")]
[Browsable(true)]
[DefaultValue(1)]
public int Weight { get; set; } = 1;
public override void Execute()
{
int distance = Distance;
for (int r = 0; r < Repeat; r++)
{
float theta = 0;
float deltaTheta = (float)(2 * Math.PI / (ClickCount + (Weight * r)));
distance *= (r + 1);
for (int c = 0; c < ClickCount + (Weight * r); c++)
{
int x = (int)(MousePoint.X + distance * Math.Cos(theta));
int y = (int)(MousePoint.Y + distance * Math.Sin(theta));
MouseSimulator.Position = new Point(x, y);
MouseSimulator.Click((MouseSimulator.MouseButton)Enum.Parse(typeof(MouseSimulator.MouseButton), "Left"));
theta += deltaTheta;
}
}
}
}
}
프로젝트를 컴파일 한 후 엔지엠 에디터에서 모듈을 설치 해줍니다.
사용자 도구에 커스텀 액션이 추가 되었습니다.
필요하면 반복하면서 범위를 넓혀갈수도 있습니다.
좀 더 촘촘하게 클릭하려면 가중치를 늘려보세요.
이 커스텀 모듈은 첨부 파일로 추가되어 있으니, 한번 테스트 해보세요^^
매크로 마우스, 매크로 키보드, 홍보, 마케팅, 트레이더, 영웅문, 단타 매매, 주식, 코인, 선물
매크로 커뮤니티, 매크로 제작 의뢰, 무료 매크로 제작 강의 http://ngmsoftware.com
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
댓글