# ########################################################### # # Name: SellChest # Author: Saanjuk # Code Version: 1.0 # Minecraft Server Version: > 1.12.2 # Tested Minecraft Server Version: 1.20.x # # Special thanks to ghgSFGdf for suggesting the idea for the script! # # ChangeLog: # v 1.0 # - Create code :) # ########################################################### options: chest_name: "&4&lSellChest" prefix: "&e&l[&4&lSellChest&e&l]" permission: "sellchest.admin" no_permission: "&c&lNie masz do tego Uprawnień!" command /sellchest [] [] []: trigger: arg 1 is "setprice": if player has permission {@permission}: if player's tool is set: set {_wtool} to player's tool set {_tool} to {_wtool}'s type if (arg-2 parsed as number) is set: set {_worth.%{_tool}%} to arg 2 set yaml value "worth.%{_tool}%" from file "plugins/Skript/scripts/sellchest_item_prices.yml" to arg 2 send "%{@prefix}% &aUstalono cenę: &e%{_tool}% &rna &e%arg 2% " to player else: send "%{@prefix}% &aMusisz podać cene w liczbach!" to player else: send "%{@prefix}% &aMusisz trzymać item w dłoni!" to player else: send "%{@prefix}% %{@no_permission}%" to player arg 1 is "remove": if player has permission {@permission}: if player's tool is set: delete yaml value "worth.%player's tool%" from file "plugins/Skript/scripts/sellchest_item_prices.yml" send "%{@prefix}% &aUsunięto sprzedawanie: &e%player's tool%" to player else: send "%{@prefix}% &aMusisz trzymać item w dłoni!" to player else: send "%{@prefix}% %{@no_permission}%" to player arg 1 is "check": if player's tool is set: set {_worth.%player's tool%} to yaml value "worth.%player's tool%" from file "plugins/Skript/scripts/sellchest_item_prices.yml" if ({_worth.%player's tool%} parsed as number) is set: send "%{@prefix}% &aPrzedmiot &e%player's tool%&r jest wart: &e%({_worth.%player's tool%} parsed as number)%" else: send "%{@prefix}% &aPrzedmiotu &e%player's tool%&r nie da się sprzedać w %{@chest_name}%" else: send "%{@prefix}% &aMusisz trzymać item w dłoni!" to player arg 1 is "give": if player has permission {@permission}: if arg-2 is set: give (arg-2 parsed as player) 1 chest named {@chest_name} send "%{@prefix}% &aPrzekazano: %{@chest_name}% &rgraczowi: %(arg-2 parsed as player)%&e" to player else: give player 1 chest named {@chest_name} else: send "%{@prefix}% %{@no_permission}%" to player on place of chest: if name of event-block is {@chest_name}: set name of event-block's inventory to "%{@chest_name}% %player's name%" set {_loc} to location of event-block set {_x} to {loc}'s x-pos set {_y} to {loc}'s y-pos set {_z} to {loc}'s z-pos set {sellchest::%{_x}%_%{_y}%_%{_z}%::location} to {_loc} set {sellchest::%{_x}%_%{_y}%_%{_z}%::owner} to player send "%{@prefix}% &aPomyślnie Ustawiono %{@chest_name}%" to player on store: if name of event-inventory contain {@chest_name}: set {_loc} to location of event-block set {_x} to {loc}'s x-pos set {_y} to {loc}'s y-pos set {_z} to {loc}'s z-pos set {_player} to {sellchest::%{_x}%_%{_y}%_%{_z}%::owner} set {_a} to item amount of event-item set {_eitem} to event-item set {_event_item} to {_eitem}'s type if name of event-item is set: send "%{@prefix}% &4&lNie mozesz tego wlozyc tutaj!" to player cancel event else: wait 1 tick set {_worth.%{_event_item}%} to yaml value "worth.%{_event_item}%" from file "plugins/Skript/scripts/sellchest_item_prices.yml" if {_worth.%{_event_item}%} is set: wait 5 tick loop {_a} times: wait 5 tick if event-inventory contain {_event_item}: remove 1 of event-item from event-inventory send "%{@prefix}% &aSprzedano &e%{_event_item}%&r za &e%{_worth.%{_event_item}%}%" to player add ({_worth.%{_event_item}%} parsed as number) to {_player}'s money else: send "%{@prefix}% &4&lNie mozesz tego Sprzedać!" to player on inventory move item: set {_1} to past event-inventory set {_2} to future event-inventory set {_loc} to future event-location set {_loc2} to past event-location set {_a} to item amount of event-item set {_eitem} to event-item set {_event_item} to {_eitem}'s type if {_2} is chest inventory: if name of block at {_loc} contain {@chest_name}: set {_x} to {loc}'s x-pos set {_y} to {loc}'s y-pos set {_z} to {loc}'s z-pos set {_player} to {sellchest::%{_x}%_%{_y}%_%{_z}%::owner} if name of event-item is not set: set {_worth.%{_event_item}%} to yaml value "worth.%{_event_item}%" from file "plugins/Skript/scripts/sellchest_item_prices.yml" if {_worth.%{_event_item}%} is set: wait 1 tick remove 1 of {_event_item} from {_2} add 1 bedrock named "&kxhvjkhtfu&k" with lore "" and "&1> &c| &7Przedmiot sprzedany" and " &7 &r &7przez %{_1}'s type%" to {_2} wait 5 tick remove 1 of bedrock named "&kxhvjkhtfu&k" with lore "" and "&1> &c| &7Przedmiot sprzedany" and " &7 &r &7przez %{_1}'s type%" from {_2} add ({_worth.%{_event_item}%} parsed as number) to {_player}'s money if {_1} is chest inventory: if name of block at {_loc2} contain {@chest_name}: cancel event on break: if event-block is chest: if event-block's inventory name contain {@chest_name}: set {_loc} to location of event-block set {_x} to {loc}'s x-pos set {_y} to {loc}'s y-pos set {_z} to {loc}'s z-pos set {_player} to {sellchest::%{_x}%_%{_y}%_%{_z}%::owner} if player is {_player}: if event-block's inventory is empty: set name of event-block's inventory to {@chest_name} wait 1 tick else: cancel event send "%{@prefix}% &4&lNie mozesz zniszczyć %{@chest_name}% zawierającej przedmioty!" to player else: if player has permission {@permission}: set name of event-block's inventory to {@chest_name} wait 1 tick else: cancel event send "%{@prefix}% &4&lNie mozesz zniszczyć %{@chest_name}% innego gracza!" to player on unstore: if name of event-inventory contain {@chest_name}: set {_loc} to location of event-block set {_x} to {loc}'s x-pos set {_y} to {loc}'s y-pos set {_z} to {loc}'s z-pos set {_player} to {sellchest::%{_x}%_%{_y}%_%{_z}%::owner} if player is {_player}: if name of event-item is "&kxhvjkhtfu&k": send "%{@prefix}% &4&lNie mozesz wyjąć przedmiotu sprzedawanego przez hopper!" to player cancel event else if name of event-item is not set: cancel event else: cancel event send "%{@prefix}% &4&lNie mozesz wyjmować przedmiotów z %{@chest_name}% innego gracza!" to player