이해도 | 1.12 |
---|---|
게임버전 (JE) | 스피곳 |
스크립트 애드온 | 2.5.3 |
주식을 만드려고 하는데 창이 열린 상태에서 가격이 변해도 인벤을 닫기 전까지는 바뀌기 전 가격으로 뜨는데 어떻게 해야하나요?
every 300 seconds:
set {a주식} to random integer between 100 and 10000
set {b주식} to random integer between 10000 and 30000
set {c주식} to random integer between 30000 and 50000
set {d주식} to random integer between 50000 and 100000
broadcast "&6주격가격이 변동되었습니다!"
command /주식확인:
trigger:
open chest with 3 rows named "&b주식 시장" to player
set slot 10 of current inventory of player to paper named "&7A사" with lore "" and "&6구매: &f%{a주식}%원" and "&a판매: &f%{a주식}%원"
set slot 12 of current inventory of player to paper named "&7B사" with lore "" and "&6구매: &f%{b주식}%원" and "&a판매: &f%{b주식}%원"
set slot 14 of current inventory of player to paper named "&7C사" with lore "" and "&6구매: &f%{c주식}%원" and "&a판매: &f%{c주식}%원"
set slot 16 of current inventory of player to paper named "&7D사" with lore "" and "&6구매: &f%{d주식}%원" and "&a판매: &f%{d주식}%원"
HAN1110
2021.06.2730초마다 변경되네요.
애초에 화면을 닫았다 열어야합니다.
안그러면 같은화면만 보여줄게요.
스크립터브혼
2021.06.27인벤토리를 업데이트 하는 시점이 좀 오락가락합니다. 그 기준을 저도 잘 모르겠구요.
이런 불편사항에 대해서 버킷팀이 피드백을 해서 버킷 API에는 수동 업데이트 메소드가 있어요.
스크립트에서는 아쉽게도 해당 메소드는 구현되어있지 않아요.
이걸 간단하게 해결하는 방법은 인벤토리를 다시 열어주면 됩니다.
인벤토리를 열어주면 기존에 열렸던 인벤토리는 닫히게 됩니다.
그리고, 인벤토리에 세팅된 아이템은 독립된 데이터입니다. 아이템 생성에 사용된 변수를 바꾼다고 아이템의 값이 바뀌진 않아요.
변수가 변동이 있을 때, 아이템을 새로 생성하여 세팅하거나, 기존의 아이템의 값을 직접 변경해줘야 합니다.
[Inventory Viewers] 익스프레션은 gui를 사용하고 있는 플레이어를 반환합니다.