현제의 현재이야기

[넥슨/MOD] 스크립트의 이해 본문

MOD

[넥슨/MOD] 스크립트의 이해

현재의 현제 2022. 7. 16. 02:04

스크립트 에디터 오리엔테이션

create script  -> screate component

+ 누르면 함수 리스트 출력

log 함수는 파라미터로 넘겨진 값을 메이커 하단 콘솔 창으로 출력해준다.

 

그 후 스크립트가 작성된 컴포넌트를 엔티티에 추가. 

프로퍼티 에디터 맨 밑 add component> 그러면 출력된다

 

기본문법

local : 변수 선언

반복문

for count = 1, 10, 1 do
	log(count)
end

조건문

local sum = 0
for cnt = 1, 10, 1 do
	if cnt % 2 == 0 then
			sum = sum + cnt
	end
end

나머지 함수 

https://mod-developers.nexon.com/ko/docs/?postId=172 

 

https://signin.nexon.com/signin?redirect_uri=https://mod-developers.nexon.com/ko/docs/?postId=172

 

signin.nexon.com

https://mod-developers.nexon.com/ko/docs/?postId=163 

 

https://signin.nexon.com/signin?redirect_uri=https://mod-developers.nexon.com/ko/docs/?postId=163

 

signin.nexon.com

https://mod-developers.nexon.com/ko/docs/?postId=164 

 

https://signin.nexon.com/signin?redirect_uri=https://mod-developers.nexon.com/ko/docs/?postId=164

 

signin.nexon.com

이 부분들은 실제로 실습을 하면서 익히는게 도움이 될 것 같다.

void OnBeginPlay()
{
	--현재 컴포넌트의 엔티티의 transformComponent의 position 값을 갖고옴
	local myEntityPosition = self.Entity.TransformComponent.Position
	log(myEntityPosition)

	--컴포넌트가 적용된 엔티티의 위치 변경
	for count=1, 10, 1 do
		myEntityPosition.x = myEntityPosition.x + 0.5
		myEntityPosition.y = myEntityPosition.y + 0.5
		wait(1)
	end

	--컴포넌트가 적용된 엔티티의 크기 변경
	self.Entity.TransformComponent.Scale.x = 2
	self.Entity.TransformComponent.Scale.y = 2
}

이 예시가 엔티티의 컴포넌트의 값을 가져오는 것을 잘 설명해주고 있다.

 

OnBeginPlay()는 컴포넌트가 처음 시작될 때 처리하는 로직

update는 주기적으로, end는 끝날 때 처리하는 로직.

Comments