Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea
분야 | 스크립트 |
---|---|
게임버전 | 모든버전 |
본 소스는 GNU GPL v3 라이선스하에 배포됩니다
서버에 적용된 스크립트 애드온:
skellett
skquery-lime
skrayfall
marsk
skutilities
서버를 열심히 만들던 제가 생각했죠. 회로를 사용하지 않는 슬롯머신을 만들 방법이 없을지...
기본 전제는 이렇습니다.
아주 간단한 회로를 사용하여 버튼을 누르면 피스톤이 작동되어 블럭이 들어갔다 나오는 모델을 만듭니다.
이제 저 피스톤이 움직였을 때 랜덤 변수를 사용해 블럭들을 바꿔주고 블럭이 변경될 때 누른 플레이어에게 띵똥똥하는 소리가 나도록 하는겁니다!
근데 우리는 저 블럭의 값을 찾을 수가 없어요.
사흘 밤낮을 열심히 서핑하고 찾은 결과가 아래입니다.
그렇게 만든 소스
on rightclick:
if event-block is inactive southward stone button://무슨 버튼을 눌렀는지 체크
// 버튼이 어떤 버튼인지 체크를 할 때엔 send "%event-block%" to player 로 체크가능합니다.
set {roulette} to player //식별자 변수 선언
exit
if event-block is active southward stone button: //눌린 상태에서 누를경우 소리가 씹히는걸 방지
exit
else:
delete {roulette}//다른걸 눌러 작동하게 될 경우 소리가 기존 누른사람에게 들리게 될 수 있으므로 삭제해줍니다.
exit
on piston extend://피스톤이 작동 될 때
if {roulette} is set://식별자 변수 체크
loop moved blocks://움직인 블록 체크
set {_roulette.1.1} to random number between 0 and 3.5//랜덤 변수 선언
set {_loc} to loop-value's location
set {_loc} to {_loc} ~ normalize vector from event-block to loop-value
add {_loc} to {_blocks::*}//블럭을 체크 합니다.
wait 2 ticks
loop {_blocks::*}:
set {_loc} to loop-value's location//여기서 블럭 좌표를 따옵니다.
if {_roulette.1.1} is between 0 and 1.2://슬롯머신의 확률과 블럭들을 설정해줍니다. 기본적으로 확률 설정 시 소숫점 0.01로 구분해주어야 나머지가 생기지 않습니다.
set block at loop-value to iron block
play sound "block.note.pling" with volume 2 and pitch 0.707107 to {roulette}
if {_roulette.1.1} is between 1.21 and 2.5:
set block at loop-value to gold block
play sound "block.note.pling" with volume 2 and pitch 0.890899 to {roulette}
if {_roulette.1.1} is between 2.51 and 3:
set block at loop-value to diamond block
play sound "block.note.pling" with volume 2 and pitch 1.059463 to {roulette}
if {_roulette.1.1} is between 3.01 and 3.5:
set block at loop-value to emerald block
play sound "block.note.pling" with volume 2 and pitch 1.414214 to {roulette}
버튼을 누르면?
이렇게 간단히 블럭이 랜덤으로 바뀌면서 띵똥떙뚱소리를 내며 바뀝니다!
그리고 이 소스를 간단히 응용하면
이런식으로 광물 맞추기를 만들 수 있지요
정말 스크립트 하면서 느끼는건 아무리 찾아보아도 소스들은 넘쳐나는데 정작 내가 만들고 싶은 건 찾아도 안보이는 나쁜 녀석이란 겁니다...
이상 마치며 이후에도 제 서버에 적용했던 여러가지 기능들로 찾아뵙겠습니다.
곰탱_E
2020.06.09신기한데 복잡하군요...