이해도 | 초보자 |
---|---|
게임버전 (JE) | 관련없음 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | 2.7.3 |
스크립트 애드온 | SharpSK, Skellett, SkQuery, SkRayfall, skript-gui, sKUtillties, Citizens |
on inventory click:
if inventory name is "&b상점":
set {_item} to clicked item
cancel event
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 "&c돈이 부족해 구매할수없습니다."
play sound "entity.experience_orb.pickup" with volume 0.5 to the player
else:
delete lore of {_item}
give {_item} to player
subtract {_lore} from {돈.%player%}
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
else if click type is right mouse button:
set {_lore} to uncolored line 2 of lore of clicked item
replace all "판매 가격: " and "원" with "" in {_lore}
set {_lore} to {_lore} parsed as integer
delete lore of {_item}
if player has 1 of {_item}:
remove 1 of {_item} from player's inventory
add {_lore} to {돈.%player%}
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
send "&e1개 판매하였습니다! "
else:
message "&c아이템이 부족해 판매할수없습니다."
play sound "entity.experience_orb.pickup" with volume 0.5 to the player
if click type is right mouse button with shift:
set {_lore} to uncolored line 2 of lore of clicked item
replace all "판매 가격: " and "원" with "" in {_lore}
set {_lore} to {_lore} parsed as integer
delete lore of {_item}
if player has 64 of {_item}:
remove 64 of {_item} from player's inventory
add {_lore}*{_item} to {돈.%player%}
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
send "&e64개 판매하였습니다! "
else:
message "&c아이템이 부족하여 판매할수없습니다."
play sound "entity.experience_orb.pickup" with volume 0.5 to the player
몇시간을 해봐도 이 구문에서 쉬프트+우클릭을 했을때전체 판매를 하게 하는 법을 모르겠는데 도와주세요!
라아아아밍
2023.12.25어디가 이상한지 알려주셔야... 구문은 제가 보기엔 이상한 게 없어 보입니다.
웰치포도
2023.12.25그 쉬프트 우클릭 했을떄 전체판매 하는 구문을 알고싶어서요
라아아아밍
2023.12.25혹시 판매할 아이템의 로어랑 gui에 있는 판매 아이템의 로어를 확인할 수 있을까요?
웰치포도
2023.12.25on rightclick on entity:
if name of entity is "광부 상점":
open chest with 1 row named "&b광부 상점" to player
set slot 0 of current inventory of player to coal with lore "&e&l구매 가격: 500원" and "" and "&e&l판매 가격: 250원" and "&7&l쉬프트+우클릭시 64개 판매"
set slot 1 of current inventory of player to copper ingot with lore "&e&l구매 가격: 5000원" and "" and "&e&l판매 가격: 2700원" and "&7&l쉬프트+우클릭시 64개 판매"
set slot 2 of current inventory of player to iron ingot with lore "&e&l구매 가격: 1200원" and "" and "&e&l판매 가격: 800원" and "&7&l쉬프트+우클릭시 64개 판매"
set slot 3 of current inventory of player to gold ingot with lore "&e&l구매 가격: 1500원" and "" and "&e&l판매 가격: 850원" and "&7&l쉬프트+우클릭시 64개 판매"
set slot 4 of current inventory of player to diamond with lore "&e&l구매 가격: 3000원" and "" and "&e&l판매 가격: 1600원" and "&7&l쉬프트+우클릭시 64개 판매"
set slot 5 of current inventory of player to emerald with lore "&e&l구매 가격: 5000원" and "" and "&e&l판매 가격: 2700원" and "&7&l쉬프트+우클릭시 64개 판매"
set slot 6 of current inventory of player to netherite ingot with lore "&e&l구매 가격: 5000원" and "" and "&e&l판매 가격: 2700원" and "&7&l쉬프트+우클릭시 64개 판매"
set slot 7 of current inventory of player to lapis lazuli with lore "&e&l구매 가격: 5000원" and "" and "&e&l판매 가격: 2700원" and "&7&l쉬프트+우클릭시 64개 판매"
라아아아밍
2023.12.25어.. 일단 판매가격 로어가 2번째 줄이 아니라 3번째 줄이네요
라아아아밍
2023.12.25set {_lore} to uncolored line 3 of lore of clicked item 이렇게 하시면 되지 않을까 합니다
라아아아밍
2023.12.25아 아니네요 죄송합니다
라아아아밍
2023.12.25이렇게 해보실래요? 아이템의 타입을 가져와서 겹치는 아이템이 없다면 이렇게 하셔도 될 거 같습니다.. 제가 정확히 구현할 수가 없어서 쉽지 않네요..
웰치포도
2023.12.26아 그..한세트씩 말고 아이템 들고있는걸 다 파는게 궁금해서요
예로 아이템 54개만 있으면 54개를 다팔고 150개가 있으면 150개를 한번에 파는게 궁금해서요
라아아아밍
2023.12.26아 그거는 브혼님 https://www.koreaminecraft.net/plugin_lecture/1424133 함수를 참고하시면 될 거 같습니다.
웰치포도
2023.12.26오 감삼다
웰치포도
2023.12.27저 혹시
if click type is right mouse button with shift:
set {_lore} to uncolored line 3 of lore of clicked item
replace all "판매 가격: " and "원" with "" in {_lore}
set {_lore} to {_lore} parsed as integer
delete lore of {_item}
set {_amount} to getinventoryitemAmount(inventory of player,{_item})
if {_amount} > 0:
remove {_amount} from player's inventory
add {_lore}*{_amount} to {돈.%player%}
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
send "&e64개 판매하였습니다! "
이 구문에서 set {_amount} to getinventoryitemAmount(inventory of player,{_item}) 여기서 {_item} 은 못쓰나요?
자꾸 이 에러가 나요
the function "getinventoryitemAmount" does not exist
라아아아밍
2023.12.27저 오류는 getinventoryitemAmount 함수가 없다는 뜻입니다.
스크립트 파일에 글에 있는 함수 복붙을 안 하셨거나 함수 이름에서 대소문자가 잘못된 곳이 있는지 확인해보세요.
웰치포도
2023.12.29그 제가 찾아보면서 다른방법으로 했긴했는데 그 아이템 갯수를 가진만큼 판매하면 가지고있는 아이템갯수만큼의 돈은 들어오는데 가지고있는아이템이 안사라집니다
if click type is right mouse button with shift:
set {_lore} to uncolored line 3 of lore of clicked item
replace all "판매 가격: " and "원" with "" in {_lore}
set {_lore} to {_lore} parsed as integer
delete lore of {_item}
if {_inv} contains {_item}:
set {_amount} to amount of {_item} in {_inv}
remove {_amount} from player's inventory
add {_lore}*{_amount} to {돈.%player%}
play sound "UI_BUTTON_CLICK" with volume 0.5 to the player
send "&e64개 판매하였습니다! "
else:
message "&c아이템이 부족하여 판매할수없습니다."
play sound "entity.experience_orb.pickup" with volume 0.5 to the player
remove 쪽에 어떻게 해야하나요?
웰치포도
2023.12.30아 아닙니다 해냈어요!