<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>엔믹스 지우를 위한 코딩고수계정</title>
    <link>https://ekdhs402.tistory.com/</link>
    <description>코딩 고수로 유명해져 엔믹스 지우를 만나길 염원하는 개발자 도다온입니다</description>
    <language>ko</language>
    <pubDate>Sun, 7 Jun 2026 11:16:30 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>도다온입니다</managingEditor>
    <image>
      <title>엔믹스 지우를 위한 코딩고수계정</title>
      <url>https://tistory1.daumcdn.net/tistory/7434119/attach/ba16f9ca8d5142a39e2f4651197f848f</url>
      <link>https://ekdhs402.tistory.com</link>
    </image>
    <item>
      <title>[Skript] 4. 자료형</title>
      <link>https://ekdhs402.tistory.com/6</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;마인크래프트 1.20.4 버전을, 플러그인도 해당 버전을 기준으로 작성되었습니다.&lt;br /&gt;애드온 : Skacket, SkBee, Skellett, SkQuery, skript-reflect, skRayFall&lt;br /&gt;*해당 게시글에 적용된 문법이 오류가 난다면 플러그인 버전이 달라 일어난 이슈일 가능성이 높습니다.&lt;br /&gt;*게시글에 나오는 일부 함수들은 개인적으로 분류한 함수로 따로 추가해야 합니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;이거는 글자고 이거는 숫자고, 이거는 머지?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자료형은 상당히 중요한 부분 중 하나다. 여러 기능을 다루다가 빈번하게 오류의 원인으로 자료형 안 맞춰서 일어나는 게 많다. 오류의 이유보다도 근본적으로 내가 코드 상에서 표현하고자 하는 바를 명확하게 할 수 있다는 점도 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;자료형이 뭐임?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근본적으로 자료형이 뭔지를 알아야지 않는가? 자료형은 쉽게 말해 &lt;b&gt;보관함의 종류&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 우리가 반지를 보관해야 한다고 생각해보자. 그러면 조그마한 상자에 보관해도 충분히 담길 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 반지가 아니라 드럼세탁기라면 그 조그마한 상자에 넣을 수 있을까? 적어도 사람 크기의 상자, 혹은 컨테이너 같은 충분한 공간에 담아야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 만약에 얼음을 보관해야 한다고 생각해보자. 일반 박스에 당연히 담긴다. 그런데 될까? 분명히 녹아서 물이 될 것이다. 그래서 얼음은 무조건 녹지 않게 아이스박스에 저장해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자료형이 정확히 이것이다. 코드 상의 데이터라면 숫자, 문자와 같은 유형도 있고, 마인크래프트 상에서는 유저, 몬스터, 블록, 아이템 등등이 데이터에 해당한다. 그리고 이것을 나누는 기준이 자료형으로 정해진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Skript의 자료형은 무엇이 있지?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전부를 소개시켜줄 수는 없다. 그러나 주요하게 알아둬야 하는 것들 위주로 설명하겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가로 정확한 설명이 아닐 수 있다. 해당 자료형을 쉽게 이해할 수 있도록 간추려서 설명했다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 194px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 20px;&quot;&gt;&lt;b&gt;이름&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 20px;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 20px;&quot;&gt;integer&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 20px;&quot;&gt;정수형. 소수점이 없는 숫자를 의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 20px;&quot;&gt;number&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 20px;&quot;&gt;부동소수점. 소수점이 있는 숫자를 의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 20px;&quot;&gt;text&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 20px;&quot;&gt;문자형. 문자 형태의 모든 데이터를 의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 20px;&quot;&gt;player&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 20px;&quot;&gt;유저형. 유저의 이름(username)을 의미. 접속한 유저들만 유효함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 20px;&quot;&gt;offline player&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 20px;&quot;&gt;유저형. 접속하지 않은 유저로 취급함.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 20px;&quot;&gt;time&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 20px;&quot;&gt;시간형. 시간 데이터를 다룰 때 사용. 반드시 숫자가 아닌 단위를 같이 써야 한다. ex) tick, second&amp;nbsp; ...&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 20px;&quot;&gt;boolean&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 20px;&quot;&gt;참거짓. true 혹은 false를 의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 17px;&quot;&gt;block&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 17px;&quot;&gt;블록 데이터를 의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 18.8372%; height: 17px;&quot;&gt;item&lt;/td&gt;
&lt;td style=&quot;width: 81.1628%; height: 17px;&quot;&gt;아이템 데이터를 의미&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;동적 타이핑&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자료형이 뭔진 알았다. 그런데 이게 과연 뭔지 알 수 있을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 코드를 봐보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /myCommand:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var2}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;3.14&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var3}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;안녕&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var4}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var5}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player's tool&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 변수마다 자료형을 명시하지 않았다. 그러나 우리는 각 자료형이 뭘 뜻하는지 정확히 알고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차례대로 integer, number, text, player, item 으로 볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 선언이 되면 자동으로 Skript 플러그인이 &quot;아 이 변수는 이 종류의 상자로 넣어놔야 겠다&quot;를 판단하고 결정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 형태를 동적 타이핑이라고 한다. 스크립트에서만 쓰는 개념이 아니니 더욱 궁금한 사람은 찾아보길 바란다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 추후에 여러 변수들을 쓰다보면 이 변수가 어떤 자료형이지? 라는 생각이 들 수 있다. 나도 가끔 그랬고.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것이 동적 타이핑 언어의 크나큰 단점이다. 이런 점 때문에 자바스크립트 언어도 타입스크립트라는 도구가 생겨난 것이니 말이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금으로서 최선은 변수 명에서 그것을 정의하거나 따로 문서를 잘 만들어 관리하는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 내가 모르는 방식이 있을 수 있으니 관심있는 사람은 찾아보길 바란다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;(추가) 자료형 캐스팅&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금은 몰라도 되는 고오오급 정보를 다루겠다. 지금 이해 못해도 나중에 이해 될 것이니 넘겨도 무방하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;에를 들어 보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /add &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; + arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;arg 1, arg 2는 앞서 다뤘듯 인자를 뜻한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자 근데 인자의 생김새가 뭔가? 예전에는 그냥 넘어갔지만 지금은 말할 수 있다! 바로 문자형이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 우리는 감각적으로 var1 변수는 integer인 걸 알고, 상식적으로 우리는 문자는 더할 수 없다는 것을 알고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;어? 그냥 인자들이 1 2 이런 걸 넣으면 되지 않음?&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동으로 그것을 다뤄주는 환경이면 가능은 하겠다만, 당장에 생각해보면 우리는 &quot;떡볶이&quot; 와 &quot;냉면&quot;을 더할 수 있는가? 수학적으로? 못한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼에도 우리는 인자를 반드시 text 자료형으로 넣어야겠고, var1에 덧셈을 할 수 있도록 하고 싶다! 그렇다면 &lt;b&gt;캐스팅&lt;/b&gt;이라는 것을 하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;캐스팅이 뭔가? 던지는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;큰 박스에 있는 요소를 모종의 이유로 아이스박스에 옮겨야 한다! 그러면 안의 내용물을 아이스박스로 던져서 넣는 것이다. 그러면 안의 내용물은 그대로지만 담은 박스의 형태는 바뀌게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /add &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{_arg1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; parsed as integer&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{_arg2}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; parsed as integer&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{var1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{_arg1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; + &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{_arg2}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;parsed as integer&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식으로 하게 된다면 앞으로 _arg1과 _arg2 변수는 integer 형태가 된다. 그게 아니더라도 integer 부분에 다른 자료형을 넣으면 그 자료형으로 변환된다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;아니 이렇게 끝내? 오늘 내용 왜이리 없음?&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;근데 진짜 자료형이 이거 말고 딱히 다룰 게 없다. 정확히 말하면 지금까지 안 내용으로는 이거 이외에 설명이 불가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 지금은 이 내용을 빠삭하게, 확실하게 익히고 나중에 다룰 함수, 이벤트에서 요긴하게 써먹도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음에 해볼 내용은 조건문과 반복문이다. 코드를 더욱 다채롭게 해주는 매력적인 친구이다. 이걸 통해 마인크래프트 공개 서버에서 볼법한 기능을 구현할 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;그럼 우리 오래봐요!&lt;/p&gt;</description>
      <category>[Skript] 공부</category>
      <category>Skript</category>
      <category>개발</category>
      <category>마인크래프트</category>
      <category>마인크래프트 개발</category>
      <category>스크립트</category>
      <category>코딩</category>
      <author>도다온입니다</author>
      <guid isPermaLink="true">https://ekdhs402.tistory.com/6</guid>
      <comments>https://ekdhs402.tistory.com/6#entry6comment</comments>
      <pubDate>Tue, 19 Nov 2024 02:39:48 +0900</pubDate>
    </item>
    <item>
      <title>[Skript] 3. 변수 심화</title>
      <link>https://ekdhs402.tistory.com/5</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;마인크래프트 1.20.4 버전을, 플러그인도 해당 버전을 기준으로 작성되었습니다.&lt;br /&gt;애드온 : Skacket, SkBee, Skellett, SkQuery, skript-reflect, skRayFall&lt;br /&gt;*해당 게시글에 적용된 문법이 오류가 난다면 플러그인 버전이 달라 일어난 이슈일 가능성이 높습니다.&lt;br /&gt;*게시글에 나오는 일부 함수들은 개인적으로 분류한 함수로 따로 추가해야 합니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;변수를 조금 더 심도 있게 다루고 싶어요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 지난번 변수에 이어서 서비스에서 생각해볼 수 있는 변수 다루는 방법에 대해 알아보고자 한다. 심화에는 파고 파도 이것저것 많이 나온다. 그러나 일단은, 변수라는 것을 다뤘을 때 이것만은 잊지 말자는 것부터 알아보고자 한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1.&amp;nbsp;uuid&amp;nbsp;of&amp;nbsp;player,&amp;nbsp;개인&amp;nbsp;변수를&amp;nbsp;만드는&amp;nbsp;방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수는 뭐라고 했는가? 서버에 저장된 창고라는 것이다. 주인이 유저가 아니다. {student}라는 변수를 만들었는데 다른 유저가 문을 활짝 열고 들어가면 갈 수 있다. 왜? 저 변수가 네 것인지, 내 것인지 어떻게 아는지 모르기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 코드를 보자&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /text:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::%&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;player&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;%}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;%&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::%&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;player&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;%}&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 arg, 변수의 이름을 넣는 것처럼 유저도 넣을 수 있다. 저렇게 되면 저 player 자리에 뭐가 들어올까? 커맨드를 사용한 유저의 id가 입력된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 나의 마인크래프트 id가 DoDAON인데, 저 변수는 이제부터 {student::DoDAON} 이라는 변수가 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;완벽하게 개인 변수가 되는 건 아니지만 결국 변수의 주인이 누군지를 판독할 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&quot;어, student::1 은 A의 변수로 하고 student::2 는 B의 변수로 해서 판독하는 것도 가능하지 않나요?&quot;&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확히 맞는 말이다. 그런데 만약 유저가 100만명이 된다면? 그 유저 전체를 하나하나 관리한다? 현실적으로 말이 안 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동으로 해당 유저의 id로 번역해주도록 위와 같이 코드를 적으면 자동적으로 유저의 변수를 관리할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저 코드의 치명적인 오류가 있다. 바로 마인크래프트는 유저 id를 무척이나 쉽게 바꿀 수 있다는 것이다. 어떤 서버에서 개인 재화를 저장하는 변수를 만들었는데 그게 player로 관리되어 있다면, 유저가 id를 바꾸면 모든 재화를 잃게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계정을 바꾸지 않는 이상 무조건적으로 보존되도록 할 수는 없는 건가?? 그걸 해결하는 것이 &lt;b&gt;uuid&lt;/b&gt;이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /text:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::%&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;uuid of player&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;%}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;uuid는 계정 자체에 부여되는 고유 값이다. 이거는 id를 아무리 바꿔도 계정을 바꾸지 않는 이상 고정값이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 지속적으로 id를 바꾸어도 개인 변수를 잃지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 개인 변수를 만들 거면 무조건 uuid of player를 쓰도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2.&amp;nbsp;배열&amp;nbsp;변수의&amp;nbsp;번호는&amp;nbsp;숫자가&amp;nbsp;아닌&amp;nbsp;문자이다.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 프로그래밍 언어를 다룰 때 배열 변수는 어떻게 계산하는가? 인덱스 0번부터 1, 2, 3, 4 ... 이렇게 순차적으로 계산한다. 배열의 이름, 다시 말해 각 방의 이름은 무조건 숫자로 취급했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 Skript에서는 배열 변수의 인덱스는 문자이다. 기본적으로 1, 2, 3, 4를 기준으로 추가되긴 하나 이건 숫자가 아닌 문자이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시를 볼까?&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /text:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::2}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to 2&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to 1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::3}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to 3&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저 변수에는 어떤 순서로 저장되었을까? 아 1, 2, 3 숫자 오름차순으로 저장될 거 같은데 그러면 1, 2, 3이지 않을까? 생각할 수 있는데 정답은 2, 1, 3 순으로 저장되어 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;946&quot; data-origin-height=&quot;465&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bZpn1b/btsKM2EmRbz/CCOPc79lKH6koNqsKKX62K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bZpn1b/btsKM2EmRbz/CCOPc79lKH6koNqsKKX62K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bZpn1b/btsKM2EmRbz/CCOPc79lKH6koNqsKKX62K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZpn1b%2FbtsKM2EmRbz%2FCCOPc79lKH6koNqsKKX62K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;594&quot; height=&quot;292&quot; data-origin-width=&quot;946&quot; data-origin-height=&quot;465&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 {student::100} 이라는 요소에 숫자를 추가했다고 한다면 student는 2, 1, 3, 100 의 순서로 저장될 것이다. 중간에 숫자가 없는 게 이상하다고? 다시 상기시키면, 저 이름은 무조건 &lt;b&gt;문자&lt;/b&gt;이다. 2라는 문자, 1이라는 문자 ... 그렇게 해서 총 4개의 요소가 있는 배열 변수이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;근데 이거 신경 쓸 필요 있음?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 가장 크게 느낀 순간이 서비스에서 칭호 시스템을 만들었을 때이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1번부터 100번까지 칭호가 있고, 특수 칭호를 관리하기 위해 5001번부터 특수 칭호를 시작하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 칭호의 배열 변수를 전부 순회하고 싶었는데, 모든 요소를 돌면서 1씩 더하는 걸 실행하니까 5001번에는 101이 저장되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;왜? 1 ~ 100까지 100개 있고 그 다음이 5001이라는 이름의 101번째 배열 요소이기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 점을 항상 가지고 있으면 이런 식으로 배열을 다룰 때 조심해서 코드를 짤 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 모든 변수는 웬만하면 배열 변수로 관리하자.&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 포스트에서 말한 부분이다. 웬만하면, 아니 무조건이라고 말하고 싶을 정도로 배열 변수로 관리하라고 말하고 싶다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;레벨, 직업, 돈, 퀘스트 등이 있다고 가정하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 코드를 짰다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /유저의정보:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{level::%&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;uuid of player&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;%}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{job::%&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;uuid of player&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;%}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;전사&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{money::%&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;uuid of player&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;%}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1000&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{quest::%&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;uuid of player&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;%::1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;true&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약에 모든 유저의 돈을 통계내어서 인플레이션 관리를 해야 한다면, 일단 모든 유저의 돈 관련 변수에서 값을 뽑아내야 한다. 만약 {money%uuid of player%} 와 같은 일반 변수로 선언했을 시에, 어떻게 이걸 관리해야 하나?&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /통계:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #f58a4d;&quot;&gt;loop&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; all players:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{money%&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;loop-player&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;%}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{total}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(loop 몰라도 된다. 그냥 모든 플레이어 전부를 뜻한다고 보면 된다.) 이렇게 하면 된다고? 접속하지 않은 유저는 어떡하나 그럼.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;offline players 하면 된다고? 방문한 모든 유저들을 다 순회하는 미친 짓을 한다고?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차라리 money 를 배정받은 유저들을 대상으로만 추가하면 예상 가능한 수치를 제어할 수 있지 않는가?&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /통계:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #f58a4d;&quot;&gt;loop&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{money::*}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add &lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;loop-num&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{total}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 money 변수를 배정받은 유저들만 순회하게 되고, 필요 없는 오버헤드를 줄일 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;코드 짜는 것에 정답은 없잖아?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맞는 말이다. 그러나 여러 코드를 짜면서 이런 로직, 저런 로직을 고민하다 보면 저렇게 짤걸.. 이라는 후회를 몇 번이고 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 짜봐라. 그럼 왜 내가 이런 말을 했는지 이해가 될 것이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 자료형에 대해서 알아보고자 한다. 수많은 자료형이 있지만 일단 필요한 부분만 다루고자 한다. 이후 추가되는 자료형은 사용할 때 알아볼 생각이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자료형은 정말로 중요하다. Skript라는 어쨌든 경량화된 언어라고는 하지만 결국 Java로 번역될 것이고, 각 자료형마다 차지하는 공간은 무조건적으로 다를 것이기에 꽤나 신경써야하는 중요한 부분이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 말은 안 하고 있었는데 상당히 기초 내용인데 나도 가끔 헷갈리거나 까먹은 부분이 생각나 공부하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복습 너무 중요하니까 이거 보고 다시 첫 번째 게시물 보고 오도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;그럼 우리 오래봐요!&lt;/p&gt;</description>
      <category>[Skript] 공부</category>
      <category>Skript</category>
      <category>개발</category>
      <category>마인크래프트</category>
      <category>마인크래프트 개발</category>
      <category>스크립트</category>
      <category>코딩</category>
      <author>도다온입니다</author>
      <guid isPermaLink="true">https://ekdhs402.tistory.com/5</guid>
      <comments>https://ekdhs402.tistory.com/5#entry5comment</comments>
      <pubDate>Sat, 16 Nov 2024 02:26:31 +0900</pubDate>
    </item>
    <item>
      <title>[Skript] 2. 변수 (지역 변수, 전역 변수, 배열 변수)</title>
      <link>https://ekdhs402.tistory.com/4</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;마인크래프트 1.20.4 버전을, 플러그인도 해당 버전을 기준으로 작성되었습니다.&lt;br /&gt;애드온 : Skacket, SkBee, Skellett, SkQuery, skript-reflect, skRayFall&lt;br /&gt;*해당 게시글에 적용된 문법이 오류가 난다면 플러그인 버전이 달라 일어난 이슈일 가능성이 높습니다.&lt;br /&gt;*게시글에 나오는 일부 함수들은 개인적으로 분류한 함수로 따로 추가해야 합니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;퀘스트를 깼어! 근데 이 사실은 어디에 저장되는 거야?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 변수에 대해서 알아보고자 한다. 너무나도 개발하는 데에 필수적인 개념이라 굳이 알아야 하나라고 할 수 있다. 그러나 오늘 이 게시물로 변수에 대한 모든 내용은 다 끝내고자 한다. 앞으로 변수는 절대로 잊지 못할 거다 싶을 정도로 최대한 간단히, 그러나 꼼꼼히 알아보고자 한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;변수란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수는 &quot;변하는 수&quot;이다. 굳이 숫자가 아니어도 되는데 어쨌든 우리는 변한다에 초점을 두고자 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 다른 정의로 &quot;창고&quot;이다. 어떠한 데이터를 저장하기 위한 공간으로서 동작하는 게 변수다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말로만 설명하면 이해가 되지 않는다. 코드로 봐보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;on load:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{plus}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /plus:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;plus is %&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{plus}&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{plus}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;add 1 to plus variable&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;on load 는 우리가 스크립트 문서를 수정하고 다시 로드할 때 쓰는 마인크래프트 명령어 &quot;/sk reload (파일명).sk&quot;를 입력했을 때 실행되는 코드이다. 이벤트에 대한 것은 추후 배울 것이니 지금은 그런가보다하고 넘어가자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;set {plus} to 0&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수를 선언, 즉 이런 변수를 만들게요하는 문법은 이와 같다. plus 라는 이름의 변수에 0이라는 숫자로 &lt;b&gt;초기화&lt;/b&gt;하였다. 초기화라는 이름이 상당히 중요하다. set은 plus라는 변수에 어떤 값이 있든 상관없이 무조건 to 뒤에 있는 요소로 초기화한다는 의미이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;on load에서 썼긴 하나 어떤 코드에도 다 쓸 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;message &quot;plus is %{plus}%&quot; to player&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;익숙한 친구가 보인다. 퍼센트 % 기호. 저 기호가 다시 어떤 것이라 하였는가? 이름이 아닌 모습을 보여주세요하는 기호였다. 변수도 마찬가지로 {plus}라는 이름을 가지고 있고 이 친구의 모습인 0(이전 on load에서 초기화된 모습)으로 나타난다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;add 1 to {plus}&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말 그대로 plus 변수에 1을 추가해주세요이다. set이랑 위치가 달라서 헷갈릴 수 있는데 나는 이렇게 외웠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1을 {plus}에 (to) 추가해주세요 (add)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;{plus}를 0으로 (to) 초기화해주세요 (set)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이래도 잘 모르겠으면 그냥 쓰다보면 외워진다. 초반에 나도 많이 헷갈렸으니 헷갈린다고 코딩 어렵네 접어야겠다는 생각은 버리자. 어차피 다 그런 과정을 겪고 고수가 된 것이니 말이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;코드 실행&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;355&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKYBzq/btsKDZQwX6h/bM6HkqjxVs9oQOlPdjxigK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKYBzq/btsKDZQwX6h/bM6HkqjxVs9oQOlPdjxigK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKYBzq/btsKDZQwX6h/bM6HkqjxVs9oQOlPdjxigK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKYBzq%2FbtsKDZQwX6h%2FbM6HkqjxVs9oQOlPdjxigK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;572&quot; height=&quot;95&quot; data-origin-width=&quot;355&quot; data-origin-height=&quot;59&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;plus의 값이 0이고, 1이 추가되었다고 나온다. 한 번 더 입력해볼까? 그러면 어떻게 될까? add 1 to {plus}에 의해서 다음 출력은 &quot;plus is 1&quot;이라고 예상된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;355&quot; data-origin-height=&quot;62&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7ktXl/btsKEOOinLG/3czqm35c3GKEkiFGmtTiX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7ktXl/btsKEOOinLG/3czqm35c3GKEkiFGmtTiX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7ktXl/btsKEOOinLG/3czqm35c3GKEkiFGmtTiX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7ktXl%2FbtsKEOOinLG%2F3czqm35c3GKEkiFGmtTiX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;498&quot; height=&quot;87&quot; data-origin-width=&quot;355&quot; data-origin-height=&quot;62&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예상대로다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;변수의 저장&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변수를 다루는 실습에서 이런 호기심이 든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;오, 커맨드 실행할 때마다 증가하는 건 알겠는데, 이거 마크를 꺼도 계속 남아있는 거 아님?&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 변수는 &lt;b&gt;전역 변수&lt;/b&gt;라고 한다. 스크립트 플러그인에서 정확한 명칭인진 모르겠지만 통상적으로 개발 상에서 쓰는 용어로 외우고자 한다. 용어를 잘못 알면 나중에 다시 기억하면 된다. 우리는 개념에 대해서만 집중하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전역 변수는 어떤 커맨드, 이벤트, 함수든 상관 없이 공유하는 변수를 의미한다. 우리가 더 이상 /plus 명령어를 실행하지 않으면, 서버 데이터가 소멸되지 않는 이상 저 변수는 영원히 1이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 사람이 /plus 커맨드를 쓰면 어떻게 되나? 동일하게 {plus} 변수를 사용하며 2가 될 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 알 수 있는 건 변수는 &lt;b&gt;서버 상에 존재하는 데이터 창고이다. 개인에게 부여된 창고가 아닌 서버의 것&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;지역 변수&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음의 코드를 보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /plus &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{plus}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; + arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;arg 1과 arg 2를 더한 값은 %&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{plus}&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%이다.&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;arg 1과 arg 2를 더한 값을 그냥 출력해주는 매우 단순한 코드이다. 뭐가 문제지? 실행해볼까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FwzPB/btsKFExasF3/cB8xocKwKkK7RlJPgm4li0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FwzPB/btsKFExasF3/cB8xocKwKkK7RlJPgm4li0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FwzPB/btsKFExasF3/cB8xocKwKkK7RlJPgm4li0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFwzPB%2FbtsKFExasF3%2FcB8xocKwKkK7RlJPgm4li0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;473&quot; height=&quot;153&quot; data-origin-width=&quot;445&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매우 정상적으로 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 이 코드를 왜 소개했을까? 바로 변수의 공간에 대해서다. 우리 저 코드에서의 {plus}를 자세히 봐볼까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전역 변수는 서버의 공유된 창고이다. 어떤 장소에 plus라는 이름의 창고가 생긴 것이고 그 안에 값이 들어간 것이다. 그런데 잘 생각해보자. 저 {plus} 변수는 끝까지 존재해서 남아야 할 가치가 있을까? 코드 상에서 두 수를 더하고 출력하고, 그 이후에는 쓸모가 없어진다. 정확히 말하면 &lt;b&gt;매번 다른 값이 되고 값을 보존하지 않아도 큰 문제가 없다&lt;/b&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래도 문제는 없긴 하다만, 굳이 끝까지 남아도 되지 않아도 되는 요소를 창고라는 공간을 차지해야 할까? 공간 낭비다. 어찌되었든 변수는 서버 데이터의 한 자리를 차지한다. 이게 쌓이고 쌓이다보면 &lt;b&gt;서버에는 쓸데없는 용량만 늘어나게 된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 상황에서 필요한 것이 바로 &lt;b&gt;지역 변수&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지역 변수는 임시 변수라고 생각하면 된다. &lt;b&gt;하나의 커맨드, 이벤트, 함수 안에서만 존재하는, 그 코드가 끝이 나면 더 이상 존재하지 않는 변수&lt;/b&gt;가 바로 지역 변수이다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /plus &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{_plus}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; + arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;arg 1과 arg 2를 더한 값은 %&lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{_plus}&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%이다.&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드는 굳이 실행하지 않겠다. 위와 정확히 동일한 결과가 나온다. 차이점은 변수의 생김새이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;{_plus}&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지역 변수는 전역 변수의 이름에서 앞에 언더바 _ 기호를 붙이는 것으로 선언할 수 있다. 언더바로 시작하는 모든 변수는 전부 지역 변수라고 생각하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 되면 plus 변수는 커맨드 /plus 가 실행되고 잠깐 생성되었다가 모든 코드가 실행되면 사라진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;배열 변수&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어보자. 학생들의 이름을 저장하고 싶다. 그러면 어떻게 변수에 저장할 건가?&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /test:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;홍길동&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student2}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;김말똥&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student3}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;최숙자&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student4}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;도다온&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 아는 바로는 이렇게 저장할 것이다. 그런데 좀 더 효율적으로 관리할 수 있는 방법이 있지 않을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;큰 주제에 대해서 &lt;b&gt;비슷한 요소를 관리하도록 하는 변수&lt;/b&gt;가 바로 &lt;b&gt;배열 변수&lt;/b&gt;이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;{student::*}&lt;/h2&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /test:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::1}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;홍길동&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::2}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;김말똥&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::3}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;최숙자&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::4}&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;도다온&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와같이 콜론 : 기호를 두 개 이용해서 배열 변수를 선언할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정확히 말하자면 {배열의 이름::하위 요소의 이름} 이다. 쉽게 이해하기 위해서 우리는 배열 변수를 &quot;창고와 상자&quot; 개념으로 이해하도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 변수를 선언하는 것을 우리는 &quot;창고&quot;라는 장소를 부여한다고 했다. 배열 변수도 창고인 건 매한가지이다. 그러나 하위 요소들은 그 창고 안에 있는 &quot;상자&quot;라고 생각하면 쉽다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그림으로 표현해볼까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;450&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xECtb/btsKDRZgDct/mkfM5KlU7fueKAoljPKNLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xECtb/btsKDRZgDct/mkfM5KlU7fueKAoljPKNLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xECtb/btsKDRZgDct/mkfM5KlU7fueKAoljPKNLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxECtb%2FbtsKDRZgDct%2FmkfM5KlU7fueKAoljPKNLk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1057&quot; height=&quot;450&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;450&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미안하다 그림 못그린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뭐 저렇게 큰 student라는 창고에 1, 2, 3, 4 라는 상자가 있는 형태이다. 각 상자 안에 이름을 넣은 것이라 보면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설명하지 않았는데 당연히 배열 변수도 맨 앞에 하이픈을 넣어 지역 변수로 선언할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;그래서 저거 왜 씀?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;효율적으로 관리하는 차원이 가장 크다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 다음의 이유에서 사용하는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 해당 카테고리 전체를 삭제할 필요가 있다면 배열 변수 자체를 삭제하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 적이 한 번 있었는데, 더 이상 사용하지 않는 컨텐츠의 변수들을 삭제할 때 그냥 배열 변수 그 자체를 삭제하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열 변수 그 자체는 위의 예시로 했을 때 {student::*} 라고 한다. 이게 창고 이름이다. {student}와 다른 것이니 주의하자!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 새로운 요소를 추가하기 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 코드에서 만약 학생 한 명이 추가된다면 우리는 어떻게 할까? 명령어로 자신의 이름을 넣어서 추가한다고 가정하자. 명령어로 입력하는 것이기에 코드 상에서 적어놓을 수 없다. 즉 &quot;set {student5} to &quot;이몽룡&quot;&quot; 이런 식으로 할 수 없다는 것이다. 저게 5번째 학생인지 모른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럴 때 다음의 코드로 작성하면 된다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /name &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to &lt;/span&gt;&lt;span style=&quot;color: #4a84bb;&quot;&gt;{student::*}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;arg 1은 입력한 이름일 것이고, 우리는 몇 번째 요소인지 모르니 그냥 배열 변수에다가 넣는 걸로 처리한다. 이런 상황 때문에 배열 변수를 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 요소를 체크해서 관리하는 코드를 작성하기 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추후 배울 loop, 즉 반복문이라는 것을 쓰기 매우 좋다. 학생들을 다 조사해서 특정 이름을 가진 학생을 뽑아낼 것이다. 그럴 때 일반 변수로 했으면 일일이 코드에 박아넣어서 해야 하고, 추후 학생이 계속 추가되었을 때 관리하기가 매우 힘들다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열 변수로 처리했기에 그 배열을 하나하나 순회하는, 즉 loop를 돌아 학생이 몇 명이든 상관 없이 처리할 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 내용은 나중에 나올 반복문에서 자세히 다룰 것이기에 아직 이해가 안 되는 것이 당연하다. 3번 내용은 그냥 아 그런 게 있구나 하고 넘어가자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생각보다 길어진 거 같다. 다음 포스트는 변수에 관한 심화 과정에 대해 다룰까 한다. 변수를 다루면서 위의 개념은 꼭 필수적으로 알아야 하고, 위의 내용만 알아도 개발하는 데에 아직은 큰 지장은 없을 것이다. 그러나 앞으로 더 큰 개발을 하고, 실제 유저들을 대상으로 서버를 만들 때 추가적인 개념이 필요하여 심화 파트로 분류를 하겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 한 포스트에 다 담기에 투머치할 거 같아서 분리했다. 그냥 그렇구나하고 넘어가길 바란다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;그럼 우리 오래봐요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>[Skript] 공부</category>
      <category>Skript</category>
      <category>개발</category>
      <category>마인크래프트</category>
      <category>마인크래프트 개발</category>
      <category>스크립트</category>
      <category>코딩</category>
      <author>도다온입니다</author>
      <guid isPermaLink="true">https://ekdhs402.tistory.com/4</guid>
      <comments>https://ekdhs402.tistory.com/4#entry4comment</comments>
      <pubDate>Tue, 12 Nov 2024 02:08:45 +0900</pubDate>
    </item>
    <item>
      <title>[Skript] 1. 커맨드와 커맨드 옵션 (Command, Command's Options)</title>
      <link>https://ekdhs402.tistory.com/3</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;마인크래프트 1.20.4 버전을, 플러그인도 해당 버전을 기준으로 작성되었습니다.&lt;br /&gt;애드온 : Skacket, SkBee, Skellett, SkQuery, skript-reflect, skRayFall&lt;br /&gt;*해당 게시글에 적용된 문법이 오류가 난다면 플러그인 버전이 달라 일어난 이슈일 가능성이 높습니다.&lt;br /&gt;*게시글에 나오는 일부 함수들은 개인적으로 분류한 함수로 따로 추가해야 합니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;/내이름은뭐야, 이런 창의적인 명령어 만들고 싶어&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 마인크래프트 서버를 하다 보면 뭐 이런 명령어도 있을까하는, 그 서버만의 특별한 명령어가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스크립트의 첫 시작은 나만의 명령어를 만드는 것으로 해보고자 한다. 가장 쉽고, 원하는 걸 간편하게 만들어볼 수 있는 좋은 수단이기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;키워드 command, 그리고 Hello World!&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;command 키워드를 사용하여 Hello World!를 출력하는 명령어를 만들어보자.&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /helloworld:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;Hello World!&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 코드 적는 규칙에 대해서 알아보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. command 키워드 뒤에 오는 커맨드는 &lt;b&gt;대문자를 인식하지 못한다&lt;/b&gt;. 그래서 코드 상에서 대문자로, 예를 들어 helloWorld라고 작성해도 실제 인게임상에는 helloworld라는 명령어로 설정된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 콜론 표시로 해당 기능의 상세 설정을 할 수 있다. 파이썬과 유사한 모습이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. command 키워드 안에는 무조건 trigger가 있어야 한다. 내가 아직 개발 경력이 적어서 모를 수 있으나, 내가 본 바로는 모든 command 에는 trigger가 있었다. trigger를 옵션(Option)이라고 하는데 trigger 이외에 많이 있지만 주로 사용할법한 것들만 소개하겠다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 97px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.4419%; height: 17px;&quot;&gt;옵션&lt;/td&gt;
&lt;td style=&quot;width: 77.5581%; height: 17px;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.4419%; height: 17px;&quot;&gt;aliases:&lt;/td&gt;
&lt;td style=&quot;width: 77.5581%; height: 17px;&quot;&gt;해당 명령어의 별명, command 키워드 다음에 설정된 명령어 말고 다른 형태로도 칠 수 있게 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.4419%; height: 17px;&quot;&gt;usage:&lt;/td&gt;
&lt;td style=&quot;width: 77.5581%; height: 17px;&quot;&gt;특정 상황에서 명령어를 잘못 사용했을 경우 어떻게 사용하는지 친절히 가르쳐준다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.4419%; height: 17px;&quot;&gt;permission:&lt;/td&gt;
&lt;td style=&quot;width: 77.5581%; height: 17px;&quot;&gt;권한을 설정할 수 있다. 보통 op를 사용하여 일반 유저들은 사용하지 못하도록 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.4419%; height: 17px;&quot;&gt;cooldown:&amp;nbsp;&amp;lt;timespan&amp;gt;&lt;/td&gt;
&lt;td style=&quot;width: 77.5581%; height: 17px;&quot;&gt;명령어 사용에 재사용 대기시간을 부여한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 12px;&quot;&gt;
&lt;td style=&quot;width: 22.4419%; height: 12px;&quot;&gt;cooldown&amp;nbsp;message:&lt;/td&gt;
&lt;td style=&quot;width: 77.5581%; height: 12px;&quot;&gt;명령어가 재사용 대기시간일 때 출력할 메시지를 설정한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;message &quot; &quot; to player&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;말 그대로 플레이어에게 메시지를 전송하는 코드다. Skript 언어의 가장 큰 장점은 따로 내가 설명하지 않아도 알아먹기 쉬운 구조로 되어 있다는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;message 이외에 send도 있으니 입맛대로 결정하자. 추가로 모든 유저들에게 보내는 것은 broadcast를 사용하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;211&quot; data-origin-height=&quot;150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhCFZi/btsKBTVhjXw/Dz4hwfBrgofuG9PHtfX4nk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhCFZi/btsKBTVhjXw/Dz4hwfBrgofuG9PHtfX4nk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhCFZi/btsKBTVhjXw/Dz4hwfBrgofuG9PHtfX4nk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhCFZi%2FbtsKBTVhjXw%2FDz4hwfBrgofuG9PHtfX4nk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;286&quot; height=&quot;203&quot; data-origin-width=&quot;211&quot; data-origin-height=&quot;150&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;인자 Argument&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마인크래프트에 가장 유명한 명령어라면 나는 gamemode 라고 말하고 싶다. 우리가 gamemode를 채팅창에 입력하면 어떻게 뜨는가?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;345&quot; data-origin-height=&quot;180&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8vfZT/btsKzzR2f0r/wGk3bvDqyxzrVlQhnKbNaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8vfZT/btsKzzR2f0r/wGk3bvDqyxzrVlQhnKbNaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8vfZT/btsKzzR2f0r/wGk3bvDqyxzrVlQhnKbNaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8vfZT%2FbtsKzzR2f0r%2FwGk3bvDqyxzrVlQhnKbNaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;389&quot; height=&quot;203&quot; data-origin-width=&quot;345&quot; data-origin-height=&quot;180&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저렇게 뒤에 여러 옵션들이 생긴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 우리가 만든 /helloworld 명령어는 저것만 치면 그만인데, 우리도 gamemode처럼 뒤에 뭔가 더 넣고 싶다. 명령어 뒤에 따라오는 선택지를 우리는 앞으로 인자(Argument), 또는 파라미터(Parameter)라고 부를 것이다. 인자, 알규먼트, 파라미터라고 앞으로 이야기하면, 아 명령어 뒤에 오는 옵션들을 이야기하는구나 라고 이해하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인자를 넣는 방식은 두 가지가 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /helloworld &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt; [&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;]:&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;꺽쇠를 넣는 방법과 대괄호와 꺽쇠를 같이 쓰는 방법이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 표시는 &lt;b&gt;무조건&lt;/b&gt;이다. 이 명령어에는 무슨 일이 있어도 처음에 옵션은 꼭 들어가야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째 표시는 &lt;b&gt;선택&lt;/b&gt;이다. 이 명령어에 저 인자가 없어도 큰 문제가 없다는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 저 인자를 이용하여 내가 입력한 숫자를 출력하도록 코드를 짜볼 것이다. 인자를 명령어 내부에서 이곳 저곳 써먹어야 하는데 우린 앞으로 저 친구를 arg 1 이라고 부를 것이다. 인자를 부르고 싶어? 그럼 &quot;arg 1아 나와줘~&quot;라고 하면 달려나올 것이다. 두 번째 친구는 arg 2겠지?&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /helloworld &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;입력한 숫자는 arg 1입니다.&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력하기 위해서 message를 이용했고, arg 1아 나와줘~라고 불렀고. 그런데 막상 명령어를 입력해보면 아래와 같이 나온다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;346&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buETuv/btsKzFLjPiE/3rYUnK6gHRHEB26kLvY9kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buETuv/btsKzFLjPiE/3rYUnK6gHRHEB26kLvY9kK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buETuv/btsKzFLjPiE/3rYUnK6gHRHEB26kLvY9kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuETuv%2FbtsKzFLjPiE%2F3rYUnK6gHRHEB26kLvY9kK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;528&quot; height=&quot;90&quot; data-origin-width=&quot;346&quot; data-origin-height=&quot;59&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 기대한 바는 &quot;입력한 숫자는 &amp;lt;내가 입력한 숫자&amp;gt;입니다.&quot;이다. 그런데 다짜고짜 인자의 이름을 불러버린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;message는 쌍따옴표, 그러니까 문자열이라고 하는 것의 내부를 &lt;b&gt;원본 그대로 가져온다.&lt;/b&gt; 우리는 문자열 안에 다짜고짜 이름을 넣어놨으니 당연하게도 인자의 이름인 arg 1이 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 인자의 이름이 아닌 인자의 모습을 가져오고 싶다. 그러기 위해서는 퍼센트 기호(%)를 사용하여 넣어야 한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /helloworld &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;입력한 숫자는 %&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%입니다.&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(변수에 대한 내용은 나중에 다룰 것임으로 지금은 쉽게 쉽게 기록하고자 한다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 1을 입력했다고 가정하자. arg 1이라는 이름의 친구를 딱 보는데 숫자 1이다. 너는 숫자 1이야? 아니 내 이름은 arg 1이야. 그런데 생긴 건 숫자 1이야. 이렇게 이해하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 문자열 안에 이름이 아닌 모습을 넣고 싶으면 무조건 퍼센트 기호 사이에 이름을 넣도록 하자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;147&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxAALR/btsKArMwQW1/0Hda5M5BNBNcXXFJIkFB41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxAALR/btsKArMwQW1/0Hda5M5BNBNcXXFJIkFB41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxAALR/btsKArMwQW1/0Hda5M5BNBNcXXFJIkFB41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxAALR%2FbtsKArMwQW1%2F0Hda5M5BNBNcXXFJIkFB41%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;372&quot; height=&quot;199&quot; data-origin-width=&quot;275&quot; data-origin-height=&quot;147&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매우 잘 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;필수 인자와 선택 인자&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음의 코드를 볼까&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /helloworld &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt; [&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;]:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;필수 인자의 내용은 %&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%입니다. 선택 인자의 내용은 %&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%입니다.&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 1을 입력했다고 가정하자. 그러면 어떻게 될까? arg 1이라는 친구의 모습은 숫자 1, arg 2는 어떤 모습일까? 뭐 투명인간이라고 가정해보자. 우리는 아직 명령어를 쳐보지 않았으니까.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dCVcST/btsKzwHJlAZ/wKj67YiykkHslWa0ey2Vik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dCVcST/btsKzwHJlAZ/wKj67YiykkHslWa0ey2Vik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dCVcST/btsKzwHJlAZ/wKj67YiykkHslWa0ey2Vik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCVcST%2FbtsKzwHJlAZ%2FwKj67YiykkHslWa0ey2Vik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;745&quot; height=&quot;144&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;none&amp;gt;이라고 뜬다. none은 쉽게 말해 &lt;b&gt;없음&lt;/b&gt;을 뜻한다. 그냥 없다. 유령이라는 존재 자체도 아닌 그냥 없음을 뜻한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래, 선택 인자이니까 명령어에서 전달하지 않아도 작동을 한다는 건 알았다. 그러면 다음 코드는 어떨까?&lt;/p&gt;
&lt;div style=&quot;background-color: #1c1c1c; color: #a0a0a0;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #f8ef74;&quot;&gt;command&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; /helloworld [&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;] &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #89ddff;&quot;&gt;integer&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d1b854;&quot;&gt;trigger&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message &lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;&quot;선택 인자의 내용은 %&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%입니다. 필수 인자의 내용은 %&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt;arg &lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #6c9662;&quot;&gt;%입니다.&quot;&lt;/span&gt;&lt;span style=&quot;color: #a0a0a0;&quot;&gt; to player&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선택 인자가 먼저 왔다. 그리고 똑같이 /helloworld 1을 입력하면 어떻게 될까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통의 경우 &quot;고장나는 거 아니예요?&quot;라고 할 수 있다. C언어같은 경우에서 보면 이런 코드가 있는데&lt;/p&gt;
&lt;pre id=&quot;code_1730999187601&quot; class=&quot;cpp&quot; data-ke-language=&quot;cpp&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;void myFunction(int a, int b = 10) {
    
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 a에 입력하고 b는 입력 안 하면 10이라는 값으로 정해진다. 뭐 a 입력하고 b도 입력하면 b의 값이 10이 아니게 되긴 하다. 그러나 c에서는 int b = 10을 a보다 앞에 쓰면 오류가 뜬다. 왜냐면 처음에 입력한 값이 a를 말하는 건지 b를 말하는 건지 모르기 때문이다. (이거는 C코드여서 몰라도 된다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 다음의 결과가 나온다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;731&quot; data-origin-height=&quot;40&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFROac/btsKAWSLfM6/6YkHaqZp4nJfnQGY0nrNo0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFROac/btsKAWSLfM6/6YkHaqZp4nJfnQGY0nrNo0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFROac/btsKAWSLfM6/6YkHaqZp4nJfnQGY0nrNo0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFROac%2FbtsKAWSLfM6%2F6YkHaqZp4nJfnQGY0nrNo0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;42&quot; data-origin-width=&quot;731&quot; data-origin-height=&quot;40&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오... 우리는 선택 인자가 먼저 있었고 그걸 1이라고 했는데 필수 인자 내용이 1로 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그럼 /helloworld 1 2 라고 해볼까?&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;47&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v4GtL/btsKAMipM3D/udHOdlLRrBEm2qL5UYg2U1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v4GtL/btsKAMipM3D/udHOdlLRrBEm2qL5UYg2U1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v4GtL/btsKAMipM3D/udHOdlLRrBEm2qL5UYg2U1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv4GtL%2FbtsKAMipM3D%2FudHOdlLRrBEm2qL5UYg2U1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;745&quot; height=&quot;54&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;47&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;선택 인자가 이번엔 1이 되고 필수 인자가 2가 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 알 수 있는 것은&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 인자는 필수 인자부터 차례대로 채워진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 만약 선택 인자가 채워지게 된다면 순서는 앞에 있는 인자부터 채워지게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 해주고 싶은 말은 &lt;b&gt;&lt;u&gt;굳이 이렇게 더러운 방식으로 코딩 안 할 것이기에 몰라도 무방&lt;/u&gt;하다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인자라는 것을 이해하도록 자세히 설명하다보니 이렇게 되었다. 우리는 그냥 깔끔하게 필수 인자를 앞에 쓰고 선택 인자를 뒤에 쓰도록 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음엔 변수에 대해서 알아보고자 한다. 한동안은 가르치는 느낌으로 작성될 거 같다. 어느 정도 레벨이 쌓이면 나도 배우는 단계에 들어설 거기 때문에 같이 논의하고 발전해나가자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;그럼 우리 오래봐요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>[Skript] 공부</category>
      <category>Skript</category>
      <category>개발</category>
      <category>마인크래프트</category>
      <category>마인크래프트 개발</category>
      <category>코딩</category>
      <author>도다온입니다</author>
      <guid isPermaLink="true">https://ekdhs402.tistory.com/3</guid>
      <comments>https://ekdhs402.tistory.com/3#entry3comment</comments>
      <pubDate>Fri, 8 Nov 2024 02:25:41 +0900</pubDate>
    </item>
    <item>
      <title>안녕하세요. 개발하는 도다온입니다.</title>
      <link>https://ekdhs402.tistory.com/1</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;예. 반갑습니다. 블로그는 처음이라 어떻게 시작해야 할지 잘 감이 안 오네요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 글인 만큼, 이 블로그에서 하고자 하는 바를 말씀드리겠습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;너는 누구냐&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;태어나길 문과로 태어나서 대학생 신분인 지금까지도 문과인 제가 작년부터 컴퓨터공학에 관심이 가 이쪽 분야에 공부를 진행하고 있습니다. 현재는 마인크래프트 서버 개발 및 운영을 하고 있으며, 웹 프로그래밍과 네트워크에 대해 관심을 갖고 있습니다. 매우 부족한 자료구조, 알고리즘, 운영체제 및 컴퓨터 구조에 대해서도 부가적으로 공부하고 있어 이에 대해 공부한 바를 이야기나누고자 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마인크래프트 개발. Skript&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마인크래프트 서버 개발 및 운영.. 경량 개발툴인 Skript만을 이용해 개발하고 있습니다. 이게 한계는 매우 뚜렷한데, 현재 개발하면서 얘라서 불편한 점은 그렇게 많이 없었습니다. 아마 추후에 한계를 맞이하게 되면 플러그인 개발, 더 나아가 모딩이나 클라이언트 개발까지 진행하지 않을까 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Skript라는 플러그인이 유명하긴 하나, 제가 느낀 바로는 자료 찾기가 너무 어려웠습니다. 뭔가 하나 버그가 발생하면 이걸 해결하기 위해 온갖 글들을 서칭해야 했고, 똑똑한 AI 비서 형님들도 Skript에 대해 그렇게 잘 아는 편이 아니라 마땅한 해결책을 주지 못했습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;질문을 통해 알아간 경우가 많긴 하다만, 결국 이런 질문 과정도 시간 소요가 되고 인터넷에 자료가 있어야 저와 같이 시간 소모를 하는 사람이 줄어들 거라 생각해 공유하고자 합니다. 아무 것도 모르는 밑단부터 박치기를 해서 배운 것들을 공유할 것입니다. 중간에 했던 고민들을 아마도? 공유할 건데, 이를 통해 같이 개발하는 사고력을 키워나가봅시다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;CS&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨터공학과에서 배우는 것들. 제가 특히 관심있어 한 부분은 자료구조, 알고리즘, 네트워크, 운영체제, 컴퓨터 구조 쪽입니다. 뭐, 시간이 지나고 보면 다른 것들이 추가될 수도 있지만 주로 이 분야에 대해 다뤄보고자 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히나 자료구조, 알고리즘은 매우 중요한 부분이긴 하다만 모든 걸 다 배우진 못했습니다. 아무래도 비전공자다보니까 배우는 데에 한계가 있었고 문제를 풀면서도 좋고 그냥 그 개념 자체에서도 좋으니까 공부한 걸 함께 풀어보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네트워크와 운영체제, 컴퓨터 구조 분야는 문제를 푼다는 개념보다 배웠던 걸 복기한다는 느낌, 또한 배우지 못한 부분을 학습하는 느낌으로 포스팅할 것이라 &lt;b&gt;정확하지 않은 부분&lt;/b&gt;이 있을 수 있습니다. 배우는 걸 기록하는 곳으로 생각해 잘못 써놓은 부분이 있다면 언제든 지적해주시면 감사하겠습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;진심으로 영양가 없는 소개 내용인 거 같습니다. 처음이니 귀엽게 봐주세요 ㅜㅜ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;영양가 넘치는 게시글로 찾아오겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다들 오래 봐요&lt;/p&gt;</description>
      <category>[etc] 일상</category>
      <category>CS</category>
      <category>Skript</category>
      <category>마인크래프트</category>
      <category>컴퓨터공학</category>
      <author>도다온입니다</author>
      <guid isPermaLink="true">https://ekdhs402.tistory.com/1</guid>
      <comments>https://ekdhs402.tistory.com/1#entry1comment</comments>
      <pubDate>Tue, 5 Nov 2024 16:44:00 +0900</pubDate>
    </item>
  </channel>
</rss>