bang2_ 80c86f021101477fba69a30a41eab160
이해도 | 입문자 |
---|---|
게임버전 (JE) | 관련없음 |
게임버전 (BE) | 1.19.x |
스크립트 버전 | Skript-2.7.0-beta2 |
이런식으로 상점을 구현했는데 돈이 마이너스 되면서 아이템이 더 사지고 아이템이 1개 가지고 있으면 쉬프트 마우스 오른쪽 눌렀을때 64개 만큼 돈이 들어옵니다 .. 뭘 고쳐야 하는지 알려줄수 있을까요 ㅠㅠ
on inventory click:
if inventory name of player's current inventory is "&b상점1":
cancel event
if clicked item is not black stained glass pane:
if click type is left mouse button:
set {_lore} to uncolored line 1 of lore of clicked item
replace all "매매 가격: " and "원" with "" in {_lore}
set {_lore} to {_lore} parsed as integer
if {%player%.돈} is smaller than {_lore}:
message "&a돈&f이 부족해 해당 &e아이템&f을 구매할 수 없습니다.!"
play sound "ENTITY_EXPERIENCE_ORB_PICKUP" with volume 0.5 to the player
else:
set {_item} to clicked item
delete lore of {_item}
give {_item} to player
subtract {_lore} from {%player%.돈}
message "&e아이템&f을 구매 했습니다.!"
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
if click type is left mouse button with shift:
set {_lore} to uncolored line 1 of lore of clicked item
replace all "매매 가격: " and "원" with "" in {_lore}
set {_lore} to {_lore} parsed as integer
if {%player%.돈} is smaller than {_lore}:
message "&a돈&f이 부족해 해당 &e아이템&f을 구매할 수 없습니다.!"
else:
set {_item} to clicked item
delete lore of {_item}
give 64 of {_item} to player
subtract {_lore}*64 from {%player%.돈}
message "&e아이템&f을 구매 했습니다.!"
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
if click type is right mouse button:
set {_lore} to uncolored line 1 of lore of clicked item
replace all "매매 가격: " and "원" with "" in {_lore}
set {_lore} to {_lore} parsed as integer
set {_item} to clicked item
delete lore of {_item}
if player has 1 of {_item}:
remove 1 of {_item} from player's inventory
add {_lore} to {%player%.돈}
message "&e아이템&f을 판매합니다!"
play sound "ENTITY_EXPERIENCE_ORB_PICKUP" with volume 0.5 to the player
else:
message "해당 &e아이템&f을 가지고 있지 않아 판매할 수 없습니다.!"
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
if click type is right mouse button with shift:
set {_lore} to uncolored line 1 of lore of clicked item
replace all "매매 가격: " and "원" with "" in {_lore}
set {_lore} to {_lore} parsed as integer
set {_item} to clicked item
delete lore of {_item}
if player has 1 of {_item}:
remove 64 of {_item} from player's inventory
add {_lore}*64 to {%player%.돈}
message "&e아이템&f을 판매합니다!"
play sound "ENTITY_EXPERIENCE_ORB_PICKUP" with volume 0.5 to the player
else:
message "해당 &e아이템&f을 가지고 있지 않아 판매할 수 없습니다.!"
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
코코냐
2023.04.29아이템 갯수 확인은 하셨냐요?
cho970427
2023.04.29네넵 아이템 갯수 확인 했는데 1 개여도 64개만큼 돈을 줘가지고 ...
코코냐
2023.04.29그러면 왜 1개가 있는데 64개로 처리하죠..?
cho970427
2023.04.29그걸 모르겠어요 .. ㅜㅜ.. if player has 1 of {_item}:
remove 64 of {_item} from player's inventory
add {_lore}*64 to {%player%.돈} 이부분에 remove 64 remove 1 로바꾸면 1개씩만 팔아지고 64개씩은 안팔아지구
cho970427
2023.04.29제가 잘 모르겠어서 ..
코코냐
2023.04.2964개가 아닐수도 있는데 왜 항상 64배로 주죠..?
cho970427
2023.04.29그러면 어떻게 해야하나요 . ? 1 개로 팔 수있게끔은 해놨는데 64개를 한번에 팔려고 했는데 ㅠㅠ..
코코냐
2023.04.29몇개 있는지 판단을 해서 그만큼만 돈을 줘야죠?
cho970427
2023.04.29그러면 if player has 1 of {_item}: 지우고 if player has 수량 of wheat: 인가영?
코코냐
2023.04.29일일이 검사하기보다 몇개를 갖고있는지를 불러와보세요.
cho970427
2023.04.29알겠습니다 ㅜㅜ
cho970427
2023.04.30으헝.. .ㅠㅠ 이것저것 다써보고 하는데 안되는데 힌트좀 가르쳐주세여