Posy09 fca569d92e65449db72618540475732a
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.20.1 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | 2.7.3 |
#made by 장인돌이 #무단배포 금지 #서버에 맞게 변형하여 사용하세요! #유튜브 구독 부탁드려요~! #유튜브 채널 : https://www.youtube.com/channel/UC2BxiMLDuHjzbP41syXTT8Q #if inventory name of current inventory of player contains #위 구문은 스크립트 자체적 오류로 인해 사용불가하여 아래구문으로 대체 #if iname contains(인벤클릭할때), if icname contains(인벤닫을때) by SkChoke애드온 #SkChoke애드온 다운로드 주소 https://www.spigotmc.org/resources/skchoke.70314/ #위 글은 절대 지우지 말것! #적발시 스크립트 공유 전면 중단합니다! #명령어 목록 #/주식추가 [주식이름] [주식갯수] [주식가격] #/주식제거 [주식이름] #/주식목록 #/주식변동시간설정 [분] #/주식초기화 #기본적인 주식 변수 형태 #{주식::목록::이름} #{주식::목록::이름::최대갯수} #{주식::목록::이름::현재갯수} #{주식::목록::이름::상장가} #{주식::목록::이름::매매가} #{주식::목록::이름::상한가} #{주식::목록::이름::하한가} #{주식::목록::이름::최대변동가} #{주식::목록::변동시간} #{주식::목록::변동시간::분} #{주식::목록::변동시간::초} options: c : &6[&e시스템&6]&f s : of current inventory of player to s2 : of current inventory of loop-player to
#주식을 추가시기는 구문 /주식추가 [주식이름] [주식갯수] [주식가격] command /주식추가 [<text>] [<number>] [<number>]: trigger: if player is op: if arg 1 is set: if arg 2 is set: if size of {주식::목록::*} < 7: delete {주식::목록::%arg 1%::*} set {주식::목록::%arg 1%} to paper set {주식::목록::%arg 1%::상장가} to arg 3 set {주식::목록::%arg 1%::매매가} to arg 3 set {주식::목록::%arg 1%::상한가} to arg 3 set {주식::목록::%arg 1%::하한가} to arg 3 set {주식::목록::%arg 1%::최대변동가} to arg 3 set {주식::목록::%arg 1%::최대갯수} to arg 2 set {주식::목록::%arg 1%::현재갯수} to arg 2 set {주식::목록::%arg 1%::기록::1} to "&f기록 없음" message "{@c} 주식을 생성하였습니다." message "{@c} 주식명 : &f%arg 1%" message "{@c} 상장가 : &f%arg 3%원" message "{@c} 수 량 : &f%arg 2%개" else: message "{@c} &f - /주식추가 [주식이름] [주식갯수] [주식가격]" #주식을 제거하는 구문 /주식제거 [주식이름] command /주식제거 [<text>]: trigger: if player is op: delete {주식::목록::%arg 1%} delete {주식::목록::%arg 1%::*} message "{@c} 주식이 제거되었습니다."
#주식가격의 변동시간을 설정하는 구문(단위:분) command /주식변동시간설정 [<integer>]: trigger: if player is op: if arg 1 is set: set {주식::변동시간} to arg 1 broadcast "{@c} 주식변동시간을 %arg 1%분으로 변경되었습니다." broadcast "{@c} 다음 쿨타임부터 변경된 시간으로 적용됩니다." else: message "&f - /주식변동시간설정 [분]" #주식 목록을 오픈하는 구문 command /주식목록: trigger: set {_a} to 0 set {_b} to 17 open chest with 3 rows named "&6주식목록" to player while name of current inventory of player is "&6주식목록": set {_a} to 0 set {_b} to 17 loop 10 times: if {_a} is not 4: set slot {_a} {@s} black stained glass pane set slot {_b} {@s} black stained glass pane add 1 to {_a} add 1 to {_b} set {_c} to 10 loop {주식::목록::*}: if {_c} < 17: set slot {_c} {@s} loop-value named "&6%loop-index%" with lore " " and "&6[잔여주식]" and "&f▶ %{주식::목록::%loop-index%::현재갯수}%/%{주식::목록::%loop-index%::최대갯수}%개" and " " and "&6[가격정보]" and "&e▶ 상장가 : %{주식::목록::%loop-index%::상장가}%" and "&f▶ 매매가 : %{주식::목록::%loop-index%::매매가}%원" and "&a▶ 상한가 : ▲%{주식::목록::%loop-index%::상한가}%원" and "&c▶ 하한가 : ▼%{주식::목록::%loop-index%::하한가}%원" and " " and "&6[변동기록]" and {주식::목록::%loop-index%::기록::*} add 1 to {_c} set slot 4 {@s} clock named "&6다음 변동까지 남은시간" with lore "&f%{주식::변동시간::분}%분 &f%{주식::변동시간::초}%초" wait 1 tick #주식가격을 변동시키는 쿨타임 구문 every 1 second: if {주식::변동시간} is set: if {주식::변동시간::분} is set: if {주식::변동시간::초} is not set: subtract 1 from {주식::변동시간::분} set {주식::변동시간::초} to 59 else: if {주식::변동시간::초} > -1: subtract 1 from {주식::변동시간::초} if {주식::변동시간::초} = -1: if {주식::변동시간::분} >= 0: subtract 1 from {주식::변동시간::분} set {주식::변동시간::초} to 59 if {주식::변동시간::분} = -1: set {주식::변동시간::분} to {주식::변동시간}-1 set {주식::변동시간::완료} to true execute console command "가격변동" else: set {주식::변동시간::분} to {주식::변동시간} #주식가격을 변동시키는 명령어(수동으로 가능) command /가격변동: trigger: if {주식::변동시간::완료} is true: delete {주식::변동시간::완료} set {_a} to 1 loop {주식::목록::*}: set {_변동최대치} to {주식::목록::%loop-index%::최대변동가} #가격변동 확률 높을수로 가격↑확률 증가 chance of 50%: set {_변동가} to random integer between 1 and {_변동최대치} add {_변동가} to {주식::목록::%loop-index%::매매가} if {주식::목록::%loop-index%::매매가} > {주식::목록::%loop-index%::상한가}: set {주식::목록::%loop-index%::상한가} to {주식::목록::%loop-index%::매매가} #변동 기록을 저장하는 구문 아래 임시변수({_b})의 값과 루프값의 따라 최대 저장한도 변경 set {_b} to 9 if {주식::목록::%loop-index%::기록::1} is not "&f기록 없음": loop 9 times: set {_c} to {_b}+1 set {주식::목록::%loop-index%::기록::%{_c}%} to {주식::목록::%loop-index%::기록::%{_b}%} subtract 1 from {_b} set {주식::목록::%loop-index%::기록::1} to "&a▲%{_변동가}%원" else: set {주식::목록::%loop-index%::기록::1} to "&a▲%{_변동가}%원" else: set {_변동가} to random integer between 1 and {주식::목록::%loop-index%::매매가} subtract {_변동가} from {주식::목록::%loop-index%::매매가} if {주식::목록::%loop-index%::매매가} < {주식::목록::%loop-index%::하한가}: set {주식::목록::%loop-index%::하한가} to {주식::목록::%loop-index%::매매가} #변동 기록을 저장하는 구문 아래 임시변수({_b})의 값과 루프값의 따라 최대 저장한도 변경 set {_b} to 9 if {주식::목록::%loop-index%::기록::1} is not "&f기록 없음": loop 9 times: set {_c} to {_b}+1 set {주식::목록::%loop-index%::기록::%{_c}%} to {주식::목록::%loop-index%::기록::%{_b}%} subtract 1 from {_b} set {주식::목록::%loop-index%::기록::1} to "&c▼%{_변동가}%원" else: set {주식::목록::%loop-index%::기록::1} to "&c▼%{_변동가}%원" broadcast "{@c} 주식가격이 변경되었습니다!"
#주식을 사거나 파는 구문 on inventory click: #if name of current inventory contains "&6주식목록": if inventory name of current inventory of player contains "&6주식목록": if clicked raw slot is between 10 and 16: cancel event loop {주식::목록::*}: if name of clicked item contains loop-index: if click type is right mouse button: if {주식::목록::%loop-index%::현재갯수} >= 1: if player has space for 1 of loop-value named loop-index: if {%uuid of player%.돈} >= {주식::목록::%loop-index%::매매가}: subtract 1 from {주식::목록::%loop-index%::현재갯수} subtract {주식::목록::%loop-index%::매매가} from {%uuid of player%.돈} give player 1 of loop-value named "&6%loop-index%" if click type is right mouse button with shift: if {주식::목록::%loop-index%::현재갯수} >= 10: if player has space for 10 of loop-value named loop-index: if {%uuid of player%.돈} >= {주식::목록::%loop-index%::매매가}*10: subtract 10 from {주식::목록::%loop-index%::현재갯수} subtract {주식::목록::%loop-index%::매매가}*10 from {%uuid of player%.돈} give player 10 of loop-value named "&6%loop-index%" if click type is left mouse button: if player has 1 of loop-value named "&6%loop-index%": add 1 to {주식::목록::%loop-index%::현재갯수} add {주식::목록::%loop-index%::매매가} to {%uuid of player%.돈} remove 1 of loop-value named "&6%loop-index%" from player's inventory if click type is left mouse button with shift: if player has 10 of loop-value named "&6%loop-index%": add 10 to {주식::목록::%loop-index%::현재갯수} add {주식::목록::%loop-index%::매매가}*10 to {%uuid of player%.돈} remove 10 of loop-value named "&6%loop-index%" from player's inventory else: cancel event
#모든 주식정보를 초기화 하는구문 command /주식초기화: trigger: if player is op: delete {주식::*} |
위의 스크립트를 넣을 경우 다른 기능은 정상 작동하는데 버킷에서 아래의 문구가 뜹니다
인벤토리 인식? 뭐 그런거라고 열심히 찾아봤는데 잘 모르겠어요 ㅠㅠ...
In 1.13+ you cannot get the title name of an inventory outside of an InventoryClickEvent, Only if this inventory has an InventoryHolder may it be used in this state.
+
168번 구문으로 변경시 오류가 뜨다가 안뜨다가 그러고
if name of current inventory contains "&6주식목록":
169번 원래 구문으로 변경시 위의 1.13 오류가 납니다
if inventory name of current inventory of player contains "&6주식목록":
코코냐
2023.12.29바꿔도 문제가 되는 구문이 들어간건 똑같기 떄문입니다. 오류 내용을 해석해보세요.