Class ScriptPetUnitAI
펫의 AI를 나타내는 스크립트 클래스입니다.
네임스페이스: Commons.Server.Scripts
어셈블리: Creator.dll
Syntax
[MoonSharpUserData]
public class ScriptPetUnitAI : ScriptUnitAI
생성자
ScriptPetUnitAI(ScriptServer, PetUnit, CustomPetAIState)
펫의 AI를 나타내는 스크립트 클래스입니다.
선언
public ScriptPetUnitAI(ScriptServer scriptManager, PetUnit petUnit, CustomPetAIState customState)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
ScriptServer | scriptManager | |
Commons.Server.PetUnit | petUnit | |
Commons.Server.AI.CustomPetAIState | customState |
함수
AcquireNearDropItem(float)
지정된 거리 내에서 가장 가까운 아이템을 먹는다
선언
public bool AcquireNearDropItem(float dist = 200)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | dist | 탐색할 유닛 거리 (기본값: 200) |
반환
타입 | 설명 |
---|---|
bool |
AddMasterBuff(int)
해당 유닛이 상태를 가지고 있는지 체크합니다.
선언
public void AddMasterBuff(int buffID)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | buffID |
Distance(float, float, float, float)
두 유닛 사이의 거리 계산
선언
public double Distance(float pos1X, float pos1Y, float pos2X, float pos2Y)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | pos1X | 1의 좌표 X |
float | pos1Y | 1의 좌표 Y |
float | pos2X | 2의 좌표 X |
float | pos2Y | 2의 좌표 Y |
반환
타입 | 설명 |
---|---|
double |
DistanceSquard(float, float, float, float)
두 유닛 사이의 거리 계산의 제곱
선언
public double DistanceSquard(float pos1X, float pos1Y, float pos2X, float pos2Y)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | pos1X | 1의 좌표 X |
float | pos1Y | 1의 좌표 Y |
float | pos2X | 2의 좌표 X |
float | pos2Y | 2의 좌표 Y |
반환
타입 | 설명 |
---|---|
double |
GetMasterUnit()
현재 펫의 주인 유닛을 가져온다.
선언
public ScriptUnit GetMasterUnit()
반환
타입 | 설명 |
---|---|
ScriptUnit |
GetTargetUnit()
현재 펫의 타겟 유닛을 가져온다.
(현재 펫이 목표로 삼고 있는 유닛)
선언
public ScriptUnit GetTargetUnit()
반환
타입 | 설명 |
---|---|
ScriptUnit |
GetTargetUnitID()
현재 펫의 타깃 ID를 가져온다.
선언
public long GetTargetUnitID()
반환
타입 | 설명 |
---|---|
long |
MoveToPosition(float, float)
펫을 해당 위치로 이동 시킨다.
선언
public void MoveToPosition(float posx, float posy)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
float | posx | 이동할 위치 X |
float | posy | 이동할 위치 Y |
SetFollowMaster(bool, float, float)
플레이어 유닛을 따라 다닐것인지 설정
선언
public void SetFollowMaster(bool enable, float followDist = 100, float teleportDist = 200)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
bool | enable | 활성화 (True / False) |
float | followDist | 펫과 플레이어의 거리가 followDist 만큼 떨어졌을 때 펫이 따라다닌다 |
float | teleportDist | 펫과 플레이어의 거리가 teleportDist 만큼 떨어졌을 때 플레이어의 위치로 순간이동한다 |
SetNearTarget(int, float)
현재 몬스터가 있는 맵에서 가장 가까운 유닛을 타겟으로 지정한다.
선언
public void SetNearTarget(int findType = -1, float dist = 200)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | findType | 탐색할 유닛 타입 0 : 플레이어, 1 : 이벤트 유닛 , 2 : 적 |
float | dist | 탐색할 유닛 거리 (기본값: 200) |
SetTargetUnit(ScriptUnit)
펫의 타겟을 설정한다
선언
public void SetTargetUnit(ScriptUnit unit)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
ScriptUnit | unit | 펫의 타겟이 될 유닛 |
SetTargetUnitID(long)
유닛 ID로 펫의 타겟을 설정한다
선언
public void SetTargetUnitID(long unitID)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
long | unitID | 펫의 타겟이 될 유닛의 ID |
StopMove()
이동하는 펫을 멈춘다.
선언
public void StopMove()
UseSkill(int, Point, Point)
펫이 스킬을 사용한다.
선언
public void UseSkill(int skillID, Point dir = null, Point pos = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | skillID | 사용할 스킬 ID |
Point | dir | 스킬의 방향 |
Point | pos | 스킬의 시작 위치 |
UseSkillToPosition(int, Point, Point)
펫이 스킬을 사용한다.
선언
public void UseSkillToPosition(int skillID, Point dirPosition = null, Point pos = null)
매개 변수(인자)
타입 | 이름 | 설명 |
---|---|---|
int | skillID | 사용할 스킬 ID |
Point | dirPosition | 스킬이 나아갈 위치 |
Point | pos | 스킬의 시작 위치 |