개인 자료란 (JE)

  서버 커뮤니티

Profile MinsooM2 대표칭호 없음
Profile

강좌 자바 에디션(JE) 플러그인 개발

[ 2강 ] 너도하고 나도하는 Skript : 주석처리와 변수

2020.01.18 조회 수 2283 추천 수 2
분야 스크립트 
게임버전 1.12.x 

00969d0782a5e4a844dea3616aff561e.png


1.  저번 시간에 배운 내용과 오늘 배울 목표


저번 시간에는 스크립트의 정의와 스크립트가 불러와졌을때 호출하는 이벤트(On Load), 서버에 있는 플레이어 및 버킷에 메세지를 출력하는 이펙트(Broadcast) 에 대해 배워보았습니다.


이번 시간에는 스크립트에서 인식하지 않도록 하는 주석(Comment)처리와 데이터를 저장하는 변수에 대해 알아보겠습니다.


2. 주석의 의미와 주석 처리

주석 또는 코멘트(Comment)는 프로그래밍 즉 스크립트에 있어 내용을 메모하는 목적으로 사용됩니다.

주 목적은 소스 코드는 쉽게 이해할 수 있게 만드는 것이 주 목적입니다.

이는 스크립트 자체에서 무시되어 스크립트에 영향을 주지 않습니다.

스크립트에서 주석을 작성하기 위해서는 주석처리할 줄 앞에 # 을 붙여야합니다.

예제로 저번 시간에 사용하였던 스크립트에 주석을 달아보겠습니다.

On Load: #이 스크립트 파일이 로딩 될시 이벤트 발동
    broadcast "Hello World" #서버에 "Hello World"를 출력함.

간혹 이런 생각을 하실 수 도 있습니다.

"나는 이미 저 스크립트의 의미를 다 아는데, 굳이 주석을 달아야할까?"

사실 이런 고민은 당연합니다. 이미 아는 내용에 대해서 귀찮게 주석을 달아야하는것은 귀찮은 일입니다.

하지만 여러분이 저런 간단한 스크립트가 아닌 복잡한 스크립트를 제작하였다고 생각하면, 말은 달라지게됩니다.

주석 없는 스크립트를 1달 뒤에 보게 된다면 여러분은 분명 "하얀건 종이요 검은건 글이니"  라고 생각하실겁니다.

하지만 주석이 잘 작성된 스크립트는  몇 년 뒤에 본다 하더라도 쉽게 이해할 수 있습니다.

주석의 중요성이 이것입니다. 스크립트를 제작하시면서 간략하게라도 주석을 달아주셨으면 하는 바람입니다.


3. 변수(Variable)란 무엇인가?

1 부터 10까지의 방이 있습니다.

1 부터 5까지의 방에  플레이어의 HP를 저장했습니다. 이 방의 이름은 HP 입니다.

 이 때, 우리가 공격을 받아 10 만큼 닳아서 10을 빼야합니다.

이를 우리 손으로 진행할려면 1 부터 5 까지의 값을 불러온뒤 10을 빼고, 다시 1 부터 5 까지의 방에 넣어야 할것입니다.

하지만 변수를 이용하면 HP = HP - 10 과 같이 써주면 HP에 10을 뺀 값이 저장되는것이죠.

이와 같이 변경 될 수 있는 어떠한 값을 보관하는 곳을 변수라고 합니다.


또한 Skript 에는 배열 변수와 일반 변수, 로컬 변수가 존재합니다.

배열 변수는 하나의 변수에 여러 데이터를 담을 수 있습니다. 또한 서버가 중지 되어도 데이터가 삭제되지 않습니다.

배열 변수에 관해서는 추후 서술 하겠습니다.

일반 변수는 서버가 중지 되어도 데이터가 삭제 되지 않는 변수입니다.

로컬 변수는 서버가 중지되면 데이터가 삭제됩니다.


4. 변수(Variable) 사용하기

일반 변수 사용 예시:

On Load: # 본 스크립트 로딩시 호출
    set {A} to 10 # 로컬변수 {A} 라는 변수에 10을 설정함
    broadcast "%{A}%" #  변수 {A} 의 값을 채팅에 출력함

본 스크립트를 실행하면 채팅창에 10이라는 결과 값이 나타나게 됩니다.

일반 변수는 서버를 종료 하고 나서도 변수에 값이 남아있습니다.


로컬 변수 사용 예시:

On Load: # 본 스크립트 로딩시 호출
    set {_A} to 10 # 로컬변수 {_A} 라는 변수에 10을 설정함
    broadcast "%{A}%" # 변수 {_A} 의 값을 채팅에 출력함

본 스크립트를 실행하면 일반 변수와 같은 결과값이 표지되지만 서버가 종료될시 변수가 사라집니다.


이번 강의는 주석의 중요성과 기본적인 변수에 대해 알아보았습니다.

다음 강좌에서는 명령어의 제작과 사칙연산이 가능한 계산기를 만들어 보도록 하겠습니다.

MYSQL이 컴퓨터에 깔려있는 관계로 백업 후 Skript와 MYSQL을 연동하는 방법 서술하겠습니다.





7개의 댓글

아이스틴
2020.01.18

주석이 없다면...나중에 수정할 때....!!

DDang_
2020.01.18

주석 없이 천천히 차례대로 읽어도 충분히 알 수 있지 않나요?

MinsooM2
2020.01.18
@DDang_

빠르게 오류를 패치해야할경우, 주석이 있으면 간단하게 해결됩니다. 반면 주석이 없으면 시간을 들여서 패치를 진행함으로 시간을 낭비하는것 아닐까요? 저는 이렇게 생각하지만 주석을 달고 안달고는 자신의 자유입니다.

DDang_
2020.01.20
@MinsooM2

원하는 부분을 찾는건가요?

윈초
2020.01.18

주석이 #이군요!

 

(세계 공통주석(?): #)

새해복 많이 받으셔요

DRDTF
2020.02.27

친절한 설명감사합니다 이해가 되네요

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3

/files/thumbnails/839/895/003/262x150.crop.jpg?20241006021227

SRV레코드는 보안도메인이 아닙니다. [서버오픈시 필독]

물귀신

2024-10-05

4

/files/thumbnails/648/892/003/262x150.crop.jpg?20241002184058

아티클

마인크래프트 라이브 2024 후기: 무성의가 느껴졌던 '절망편' 라이브

라비

2024-10-02

4