개인 자료란 (JE)

  서버 커뮤니티

Profile SeoRong 대표칭호 없음

Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea

Profile

강좌 자바 에디션(JE) 플러그인 개발

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

2020.06.05 조회 수 636 추천 수 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개의 댓글

mchang
2020.06.05

오 유익하네요

KIMYEJOON
2021.10.30

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

뉴스 및 창작물
/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ?

팀뉴일리시

2024-11-23

1

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 5

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3

/files/thumbnails/839/895/003/262x150.crop.jpg?20241006021227

SRV레코드는 보안도메인이 아닙니다. [서버오픈시 필독]

물귀신

2024-10-05

4