마히커에서는 반달을 방지하기 위해 비 로그인 사용자의 편집을 제한하고 있습니다. 기여하시려면 로그인하세요.

VariableTriggers (동적 오브젝트 변수)

마인크래프트 세계를 여행하는 히치하이커를 위한 안내서
이동: 둘러보기, 검색

객체 변수란 VariableTriggers의 중요한 요소 중 하나로써, 스스로 여러 개의 변수를 가질 수 있는 객체를 말합니다. VariableTriggers를 강력하게 만드는 일등 공신이죠. 이걸 이용해서 데이터를 저장하거나, 변경하거나 또는 판별해서 뭔가를 할지, 아니면 다른 걸 할지, 아니면 아예 아무 것도 하지 않을지를 결정할 수 있습니다.

형식

객체 변수에는 세 종류가 있습니다: Integer(정수), String(문자열), Boolean(논리값). 그리고 다음 형식을 따릅니다:

$ObjectName.VariableName

객체 변수는 스크립트 내에서 항상 달러 문자로 시작합니다. ( $ ) $ 바로 뒤에는 알파벳 혹은 숫자로 이루어지는 객체명이 붙습니다. 객체명은 원하는 대로 정할 수 있습니다. 트리거를 작동시키는 사용자의 이름을 객체명으로 정해도 좋겠지요. 플레이스홀더를 이용하면 이런 것을 할 수 있습니다. 객체명 뒤에는 객체명과 변수명을 나누는 온점( . )이 붙고, 그 바로 뒤에 변수명이 붙습니다. 변수명도 원하는 알파벳이나 숫자로 정할 수 있습니다. 객체명은 대소문자 구별을 하지 않지만 변수명은 대소문자를 구별합니다. 예를 들자면, HasSwordhasSword는 서로 다른 변수입니다. 또한, 서로 다른 타입의 변수끼리는 같은 이름을 사용할 수 있습니다. 예를 들자면:

  • 정수형 $Tom.hasSword
  • 논리형 $Tom.hasSword
  • 문자열 $Tom.hasSword

이 셋은 전부 다른 변수이며, 동시에 존재할 수 있습니다.

변수의 이름은 원하는 대로 정할 수 있지만, 이름이 의미를 가질 수 있도록 하십시오. 하나의 객체는 많은 변수를 가질 수 있지만, 가능한 한 항상 그 변수들의 목적을 알 수 있는 것이 좋습니다. $SunTemple.MainDoorOpen은 사원의 대문이 열려있는지의 여부를 논리값으로 가질 수 있을 것입니다. $SunTemple.PlayerCount는 사원 내의 플레이어 수를 나타내는 정수형이 될 수 있을 것입니다. 객체나 변수명의 부분에도 플레이스홀더를 사용할 수 있습니다. 예를 들자면 $<playername>.LoginCount$<this>Locked.<playername>이 있을 수 있습니다.

조작

객체 변수를 다루는 데 스크립트 명령어를 사용할 수 있습니다:

  • 정수형
    • @SETINT $Obj.Var 244
    • @IF i $Obj.Var = 244
  • 문자열
    • @SETSTR $Obj.Var This is some text
    • @IF s $Obj.Var = This is some text
  • 논리값
    • @SETBOOL $Obj.Var true
    • @IF b $Obj.Var = true

모든 명령어 목록은 VariableTriggers (스크립트 명령어)#동적 변수 명령어에서 볼 수 있습니다.

유의사항

객체 변수의 이름을 지을 때, 서로 다른 플레이어가 동시에 트리거를 작동시킬 수 있음을 염두에 두고 변수가 오염되지 않도록 이름을 개인화하십시오. $trap2.count 대신에 $<playername>.trap2count 혹은 $trap2.<playername>count를 사용하면 사용자마다 각자 유니크한 객체 변수를 사용할 수 있을 것입니다.