개인 자료란 (JE)

  서버 커뮤니티

한국 마인크래프트 포럼

마인크래프트 자료 및 커뮤니티 플랫폼

전체 회원수 122,180명 ( +15명 )

※ 장기간 미활동 회원 제외

Profile SeoRong 대표칭호 없음

Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea

Profile

커뮤니티new 개발자란new 개발자 강좌new 스크립트

1. 낚시를 할 때 미니게임을 해보자! (낚시 기본 세팅)

2020.07.06 조회 수 555 추천 수 0

본 소스는 GNU GPL v3 라이선스하에 배포됩니다

제가 올려드리는 강좌들은 기본적인 이해를 돕기위한 최소한의 부분설명만을 적습니다.

응용을 위해 작성된 구문들이므로 상세구문만 가져다 쓰시면 됩니다. 입맛에 맞게 아무렇게나 쓰시면 됩니다.

내용은 크게 두가지로 구성되는 로직 설명 - 구현(어찌 굴러가는지 주석처리 덧붙임) 순서로 이루어집니다.


지금 설명하는 구문은 낚시를 했을 때 미니게임을 실행하기 위한 기본 세팅입니다.

낚시 찌를 물었을 때 물고기가 나오는걸 취소시키고 미니게임이 실행되도록 해야합니다.

미니게임을 할 때 적용되는 인첸트를 몇몇개 확인 후 진행합니다.


on fishing:  #낚시 중 일 때

    if "%fishing state%" = "BITE":  #물고기가 물면

        play sound "block.dispenser.dispense" with volume 0.5 to player #플레이어에게 소리를 냄

    if "%fishing state%" = "CAUGHT_FISH": #물고기를 낚으면

        make player run cmd "/tppos ~ ~ ~" as op #제자리 텔레포트를 함으로서 낚시를 취소시킴

        set {player.fishing.state} to 1  # 플레이어가 낚시중임을 체크시킴, 아이템이 드랍되지 않도록 하기위한 체크구문

        set {luc.%player%} to enchant level of Luck of The Sea of player's tool #바다의 행운을 미니게임의 난이도를 줄이는데에 사용함 이게 아닌 다른 요소를 사용해도 문제없음

        set {물고기등급.%player%} to a random number between -0.49 and 2.75 #등급설정 0 = 하급 1 = 중급 2 = 상급 3 = 특급 (특급이 잘 안뜨도록 설정)

        set {물고기등급.%player%} to round({물고기등급.%player%}) #정수로 바꿈 이건 기본 난이도가 됨

        set {난이도.%player%} to {물고기등급.%player%} - {luc.%player%}  # 바다의 행운에 따른 난이도 설정

        if {난이도.%player%} < 0: #만약 난이도가 음수일경우

            set {난이도.%player%} to 0 # 최하 난이도인 0으로 재 조정

        set {_sel} to a random number between 0 and 30 # 물고기 종류의 확률 정하기

        if {_sel} is between 0 and 3:  

            set {물고기종류.%player%} to 1 

        else if {_sel} is between 3.01 and (6 + {fisher.%player%.level}*0.5): #제 직업세팅으로 정해놓은 어부레벨에 의해 물고기종류가 더 좋게 나올 수 있도록 세팅해뒀습니다. 필요없으신분은 {fisher.%player%.level}*0.5 구문을 지워주시기 바랍니다.

            set {물고기종류.%player%} to 2

        else if {_sel} is between 8.51 and (10.5 + {fisher.%player%.level}*0.5):

            set {물고기종류.%player%} to 3

        else if {_sel} is between 16.01 and (18 + {fisher.%player%.level}*0.5):

            set {물고기종류.%player%} to 4

        else if {_sel} is between 23.51 and (24 + {fisher.%player%.level}*1):

            set {물고기종류.%player%} to 5

        else:

            set {물고기종류.%player%} to 0

        

        set {게임종류} to a random number between -0.49 and 2.49 #동일한 확률로 결정되는 게임종류

        set {게임종류} to round({게임종류}) # 정수화

        if {게임종류} is 0: #제가 보여드릴 게임 3가지입니다.

            make player run cmd "/스타캐치 %{난이도.%player%}% %{물고기등급.%player%}% %{물고기종류.%player%}%" as op

            exit

        if {게임종류} is 1:

            make player run cmd "/클릭 %{난이도.%player%}% %{물고기등급.%player%}% %{물고기종류.%player%}%" as op

            exit

        if {게임종류} is 2:

            make player run cmd "/연타 %{난이도.%player%}% %{물고기등급.%player%}% %{물고기종류.%player%}%" as op

            exit

on item spawn: #아이템드랍시

    if {player.fishing.state} is 1: #플레이어의 낚시상태가 확인될경우

        cancel event #기존물고기드랍취소

        delete {player.fishing.state}  #취소됬으니 초기화


Warning
댓글이 없습니다.

새로운 댓글을 등록해 주세요!

컨텐츠
https://www.koreaminecraft.net/files/thumbnails/850/878/002/262x150.crop.jpg?20211018191640
(포션 시리즈) 3편 - 비 2

GlassesFilm

2021-10-18

3

https://www.koreaminecraft.net/files/thumbnails/337/871/002/262x150.crop.jpg?20211014221722

플러그인

달고나 뽑기 in Minecraft 8

BlueRing1017

2021-10-14

6

https://www.koreaminecraft.net/files/thumbnails/848/870/002/262x150.crop.jpg?20211014131239

답안지

한마탐 4주차 / 정오표 + 해설 1

베개냥이

2021-10-14

1