개인 자료란 (JE)

  서버 커뮤니티

한국 마인크래프트 포럼

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

전체 회원수 127,039명 ( +15명 )

※ 장기간 미활동 회원 제외

Profile SeoRong 대표칭호 없음

Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea

Profile

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

2. 작물의 등급을 정해보자! 근데 행운도 적용하고 섬손도 적용해야지!

2020.06.05 조회 수 251 추천 수 0

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

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

필요한 조건 설명 - 구현(어찌 굴러가는지 주석처리 덧붙임)

예시는 수박으로 보여드릴 예정입니다. 수박 조각과 수박 단일 블럭 두가지가 나올 수 있기 때문에 다른 작물로 응용하기에 편하실 것 이라 생각 됩니다.

일단 상급 중급 하급으로 나뉘는 등급이 있을것이며 행운에 따른 등급 확률 세팅도 가능해야 할 것입니다.

또한 수박은 섬세한 손길에 영향을 받으므로 이 부분도 있어야 할 겁니다.

수박을 부술 경우 부순 위치에 아이템이 나와야 할 것입니다.


function setrank(a:integer, b:integer, c:integer, d:integer)://인수를 받아옵니다. {_a}와{_b}는 중급 수박이 나올 확률, {_c}와{_d}는 상급 수박이 나올 확률

    set {_chance1} to a random number between 0 and 100 //받아온 인수대로 등급 분배를 위한 랜덤 변수 선언

    if {silktouch} = 1://섬세한 손길이 있을 경우

        if {_chance1} is between {_a} and {_b}://받아온 인수 안에 있을경우 중급 지정

            drop 1 melon block named "&a&l[중급]&f수박" with lore "&f싱싱하게 자란 수박 입니다." and "&f상점에 팔 수 있습니다." at {melon_loc}  //{melon_loc}는 수박을 캔 자리를 따온겁니다.

            exit

            

        if {_chance1} is between {_c} and {_d}://받아온 인수 안에 있을경우 상급 지정

            drop 1 melon block named "&a&l[상급]&f수박" with lore "&f싱싱하게 자란 수박 입니다." and "&f상점에 팔 수 있습니다." at {melon_loc}

            exit

            

        else://받아온 인수 안에 없을경우 하급 지정

            drop 1 melon block named "&a&l[하급]&f수박" with lore "&f싱싱하게 자란 수박 입니다." and "&f상점에 팔 수 있습니다." at {melon_loc}

            exit

                

    if {silktouch} = 0://섬세한 손길이 없을 경우

        set {_chance2} to a random number between 0 and 3 //갯수를 측정하기위한 랜덤변수 생성 이 숫자는 소숫점이 있기 때문에 변환 전에는 정수로 사용이 불가능함

        if {_chance2} is between 0 and 1://정수로 변환

            set {_chance3} to 1

        if {_chance2} is between 1.01 and 2:

            set {_chance3} to 2

        if {_chance2} is between 2.01 and 3:

            set {_chance3} to 3

        if {_chance1} is between {_a} and {_b}://등급 설정을 위한 확률 체크

            loop {_chance3} times://수박조각을 임의로 1~3개 드랍되도록 설정

                drop 1 melon slice named "&a&l[중급]&f수박 조각" with lore "&f싱싱하게 자란 수박 조각입니다." and "&f상점에 팔 수 있습니다." at {melon_loc}

                

        if {_chance1} is between {_c} and {_d}:

            loop {_chance3} times:

                drop 1 melon slice named "&a&l[상급]&f수박 조각" with lore "&f싱싱하게 자란 수박 조각입니다." and "&f상점에 팔 수 있습니다." at {melon_loc}

                

        else:

            loop {_chance3} times:

                drop 1 melon slice named "&a&l[하급]&f수박 조각" with lore "&f싱싱하게 자란 수박 조각입니다." and "&f상점에 팔 수 있습니다." at {melon_loc}

//이제 함수는 다 만들었으니 조건을 만듭시다.

on break of melon://수박을 부쉈을 때

    clear drops//기존 드랍아이템을 삭-제

    set {melon_loc} to event-locations//수박을 부순 위치를 전역변수로 선언 해줍니다.

    if enchant level of Silk touch of player's tool is 1://플레이어의 도구에 붙어있는 섬세한 손길 유무에 따른 전역변수 선언을 해줍니다.

        set {silktouch} to 1

    else:

        set {silktouch} to 0

    if enchant level of Fortune of player's tool is 1://플레이어의 도구에 붙어있는 행운 인첸트 레벨을 체크합니다.

        setrank(0, 20, 21, 30)//중급 20% 상급 9%

        exit

            

    if enchant level of Fortune of player's tool is 2:

        setrank(0, 25, 26, 40)//중급 25% 상급 14%

        exit

            

    if enchant level of Fortune of player's tool is 3:

        setrank(0, 30, 31, 50)//중급 30% 상급 19% 

        exit

    else://행운 인첸트가 적용 안되있을 경우

        setrank(0, 15, 16, 20)//중급 15% 상급 4% 

        exit



2개의 댓글

KIMYEJOON
2021.10.30

잘 보고 갑니다! 혹시 디스코드 아이디 알려주실 수 있으신가요?

mchang
2020.06.05

오 유익하네요

컨텐츠
https://www.koreaminecraft.net/files/thumbnails/952/941/002/262x150.crop.jpg?20211128203943

답안지

한마탐 수능 / 등급컷 + 해설 8

베개냥이

2021-11-25

2

https://www.koreaminecraft.net/files/thumbnails/670/940/002/262x150.crop.jpg?20211124215847

답안지

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

베개냥이

2021-11-24

2

https://www.koreaminecraft.net/files/thumbnails/133/938/002/262x150.crop.jpg?20211123001841
마인크래프트로 만든 움직이는 루디브리엄 3

LittleCharlotte

2021-11-22

7