Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function kitGui(p: player):
- open chest with 3 rows named "&7Kit Selector" to {_p}
- wait 1 tick
- set {_set} to -1
- $ thread
- set {_selected} to value of sql var "kits::%{servertype}%::selected::%{_p}%"
- if {_selected} is "<none>":
- set {_selected} to "default"
- $ thread
- set {_coins} to getCoins({_p})
- loop {kits::*}:
- set {_kit} to "%loop-index%"
- set {_kitname} to {kits::%{_kit}%}
- delete {_own}
- delete {_price}
- add 1 to {_set}
- set {_price} to get digits of {kits::%{_kit}%::price} parsed as integer
- evaluate "set {_displayitem} to %{kits::%{_kit}%::displayitem}%"
- set {_displayname} to {kits::%{_kit}%::displayname}
- if {_price} is not set:
- set {_price} to "&7Found in the &eBonux Box&7 (%{kits::%{_kit}%::price}% Win)"
- else if {_price} is 0:
- set {_own} to true
- else:
- set {_price} to "&7Click to buy: &e%{_price}% coins"
- if {_own} is not set:
- $ thread
- set {_own} to sql var "kits::%{servertype}%::%{_kitname}%::%{_p}%" exists
- inventory name of {_p}'s current inventory is "&7Kit Selector"
- if {_kitname} is {_selected}:
- set slot {_set} of {_p}'s current inventory to glowing {_displayitem} with nbt "{Kit:%{_kitname}%,KitList:%{_kit}%}" named "%colored {_displayname}%" with no nbt with lore "&7Currently Selected"
- else if {_own} is false:
- set slot {_set} of {_p}'s current inventory to {_displayitem} with nbt "{Kit:%{_kitname}%,KitList:%{_kit}%}" named "%colored {_displayname}%" with no nbt with lore "%{_price}%"
- else:
- set slot {_set} of {_p}'s current inventory to {_displayitem} with nbt "{Kit:%{_kitname}%,KitList:%{_kit}%}" named "%colored {_displayname}%" with no nbt with lore "&7Click to Select"
- set slot {_set} + 9 of {_p}'s current inventory to a paper with nbt "{Kit:%{_kitname}%,KitList:%{_kit}%}" named "&7&lView Kit: %colored {_displayname}%"
- inventory name of {_p}'s current inventory is "&7Kit Selector"
- loop integers between 18 and 26:
- if loop-number is 22:
- set slot loop-number of {_p}'s current inventory to a glowing gold block named "&7Your Coins: &e%{_coins}% coins"
- else if loop-number is less than 22:
- set slot loop-number of {_p}'s current inventory to a gold nugget named "&6&l>>"
- else if loop-number is greater than 22:
- set slot loop-number of {_p}'s current inventory to a gold nugget named "&6&l<<"
- function loadKit(p: player):
- clear {_p}'s inventory
- $ thread
- set {_selected} to value of sql var "kits::%{servertype}%::selected::%{_p}%"
- if {_selected} is "<none>":
- set {_selected} to "default"
- loop {kits::*}:
- loop-value is {_selected}
- set {_num} to loop-index
- stop loop
- loop {kits::%{_num}%::slots::*}:
- evaluate "set slot %loop-index% of {_p} to %loop-value%"
- on load:
- if {servertype} is not set:
- while {servertype} is not set:
- wait 1 second
- delete {kits::*}
- $ thread
- set {_kit} to text from "http://minealot.net/resources/%{servertype}%kits"
- set {_kits::*} to split {_kit} at "||"
- loop {_kits::*}:
- delete {_slots::*}
- set {_items::*} to split "%loop-value%" at "|"
- loop {_items::*}:
- set {_info::*} to split "%loop-value-2%" at ":"
- replace all " " with "" in {_info::1}
- if {_info::1} contains "slot":
- set {_slotnum} to get digits of {_info::1} parsed as integer
- set {_slots::%{_slotnum}%} to {_info::2}
- else:
- set {_%{_info::1}%} to {_info::2}
- {_kit::%{_kitname}%} is not set
- set {_kit::%{_kitname}%} to true
- set {kits::%loop-index%} to {_kitname}
- set {kits::%loop-index%::price} to {_price}
- set {kits::%loop-index%::displayname} to {_displayname}
- set {kits::%loop-index%::displayitem} to {_displayitem}
- set {kits::%loop-index%::slots} to size of {_slots::*}
- loop {_slots::*}:
- set {kits::%loop-index-1%::slots::%loop-index-2%} to loop-value-2
- every 30 minutes:
- if {servertype} is not set:
- stop trigger
- delete {kits::*}
- $ thread
- set {_kit} to text from "http://minealot.net/resources/%{servertype}%kits"
- set {_kits::*} to split {_kit} at "||"
- loop {_kits::*}:
- delete {_slots::*}
- set {_items::*} to split "%loop-value%" at "|"
- loop {_items::*}:
- set {_info::*} to split "%loop-value-2%" at ":"
- replace all " " with "" in {_info::1}
- if {_info::1} contains "slot":
- set {_slotnum} to get digits of {_info::1} parsed as integer
- set {_slots::%{_slotnum}%} to {_info::2}
- else:
- set {_%{_info::1}%} to {_info::2}
- {_kit::%{_kitname}%} is not set
- set {_kit::%{_kitname}%} to true
- set {kits::%loop-index%} to {_kitname}
- set {kits::%loop-index%::price} to {_price}
- set {kits::%loop-index%::displayname} to {_displayname}
- set {kits::%loop-index%::displayitem} to {_displayitem}
- set {kits::%loop-index%::slots} to size of {_slots::*}
- loop {_slots::*}:
- set {kits::%loop-index-1%::slots::%loop-index-2%} to loop-value-2
- on right click holding gunpowder:
- name of player's tool is "&7Kit Selector"
- cancel the event
- kitGui(player)
- on inventory click:
- if inventory name of player's current inventory is "&7Kit Selector":
- cancel the event
- set {_kit} to tag "Kit" of nbt of clicked item
- set {_kitlist} to tag "KitList" of nbt of clicked item
- if clicked item is paper:
- set {_name} to name of clicked item
- replace all "&7&lView Kit: " with "" in {_name}
- close player's inventory
- wait 1 tick
- open chest with 5 rows named "&7Viewing: %{_name}%" to player
- wait 1 tick
- loop {kits::%{_kitlist}%::slots::*}:
- evaluate "set slot %loop-index% of player's current inventory to %loop-value%"
- set slot 44 of player's current inventory to a barrier named "&7Back"
- else if {_kit} is set:
- set {_lore} to lore of clicked item
- if {_lore} contains "Currently Selected":
- send "&7You already have that kit selected."
- close player's inventory
- else if {_lore} contains "Click to select":
- close player's inventory
- send "&7You have selected kit %name of clicked item%&7."
- $ thread
- set sql var "kits::%{servertype}%::selected::%player%" to "%{_kit}%"
- else:
- set {_price} to get digits of uncolored {_lore} parsed as integer
- if {_price} is not set:
- close player's inventory
- send "&7You cannot buy that, it is found in the Bonus Box only."
- else:
- $ thread
- set {_coins} to getCoins(sender)
- if {_coins} is less than {_price}:
- close player's inventory
- send "&7You do not have sufficient funds to purchase &7the %name of clicked item%&7 kit."
- else:
- close player's inventory
- send "&7You have purchased &7the %name of clicked item%&7 kit."
- $ thread
- set sql var "kits::%{servertype}%::%{_kit}%::%player%" to "true"
- $ thread
- remCoins(sender, {_price})
- else if inventory name of player's current inventory contains "&7Viewing: ":
- cancel the event
- clicked item is a barrier
- close player's inventory
- wait 1 tick
- kitGui(player)
Add Comment
Please, Sign In to add comment