CoCo4o4 96877db9da804e86a8ffc57e014135b3
이해도 | 입문자 |
---|---|
게임버전 (JE) | 1.16.4 |
게임버전 (BE) | 1.16.x |
스크립트 버전 | 2.5.3 |
스크립트 애드온 | Skellet, skUtilities. SkQuery |
on place of chest:
if name of player's tool is "&e랜덤 인챈트 교환권(10레벨)":
cancel event
if player's inventory contains nether star:
remove 1 nether star from player's inventory
remove 1 of player's tool from player's tool
chance of 80%:
give chest named "&e랜덤 인챈트 교환권(15레벨)" with lore "&a&l바닥에 설치하면 교환권을 강화합니다." to player
message "&d교환권 강화에 성공하여 레벨이 올랐습니다!"
stop
else:
give chest named "&e랜덤 인챈트 교환권(10레벨)" with lore "&a&l바닥에 설치하면 교환권을 강화합니다." to player
message "교환권 강화에 실패했습니다."
else:
message "강화에 필요한 네더의 별이 부족합니다."
if name of player's tool is "&e랜덤 인챈트 교환권(15레벨)":
cancel event
if player's inventory contains nether star:
remove 1 nether star from player's inventory
remove 1 of player's tool from player's tool
chance of 77.9%:
give chest named "&e랜덤 인챈트 교환권(20레벨)" with lore "&a&l바닥에 설치하면 교환권을 강화합니다." to player
message "&d교환권 강화에 성공하여 레벨이 올랐습니다!"
stop
else:
give chest named "&e랜덤 인챈트 교환권(10레벨)" with lore "&a&l바닥에 설치하면 교환권을 강화합니다." to player
message "교환권 강화에 실패했습니다."
else:
message "강화에 필요한 네더의 별이 부족합니다."
if name of player's tool is "&e랜덤 인챈트 교환권(20레벨)":
cancel event
if player's inventory contains nether star:
remove 1 nether star from player's inventory
remove 1 of player's tool from player's tool
chance of 75.8%:
give chest named "&e랜덤 인챈트 교환권(25레벨)" with lore "&a&l바닥에 설치하면 교환권을 강화합니다." to player
message "&d교환권 강화에 성공하여 레벨이 올랐습니다!"
stop
else:
give chest named "&e랜덤 인챈트 교환권(15레벨)" with lore "&a&l바닥에 설치하면 교환권을 강화합니다." to player
message "교환권 강화에 실패했습니다."
else:
message "강화에 필요한 네더의 별이 부족합니다."
안녕하세요. 질문이 있어서 드려봅니다.
일단 컨셉은 "인챈트 교환권(N레벨)"이라는 이름의 상자를 설치하면 사라지면서 상자 이름에 5 레벨씩 추가가 되는 것입니다.
또한 레벨이 오를때마다 확률을 2.1%씩 감소시키는 방향으로 스크립트를 짰습니다.
그리고 인챈트는 교환권을 가져오면 서버장인 제가 직접 해주는 방식으로 하기 때문에 인챈트는 상관없습니다.
상자 시스템에 대해서만 if문으로 하려니까 너무 길고 이후의 레벨도 코딩할 때 어떻게 해야할 지 모르겠더라고요.
스크립트 전문가분들의 귀중한 손길이 절실합니다. 도와주세요.
(참고로 저는 스크립트에 대해서 아는 게 '생각보다 매우 적은' 뉴비입니다.)
코코냐
2023.01.05혹시 스크립트엔 문자열에서 숫자 추출하는 기능조차 없던가요..?
혁준이0226
2023.01.06알려주실 수 있으신가요? 검색해도 못찾겠어서..
코코냐
2023.01.06https://docs.skunity.com/syntax/search/id:5206
qsef1256
2023.01.05함수를 쓰거나 N레벨을 변수로 추출해서 곱하기를 하는 방식으로 해결하시기 바랍니다.