options:
logo: &8&l[&6&lDon&8&l] &c&l»
command /don [<text>] [<text>]:
trigger:
if arg 1 is not set:
make player execute command "/don cmd"
if arg 1 is not "send" or "open":
message "&7&m&l--------&8&l[&6&lDon&8&l]&7&m&l---------"
message "&6&l● &a/don send <joueur>"
message "&6&l● &a/don open"
message "&7&m&l---------------------"
if arg 1 is "send":
if arg 2 is not set:
message "{@logo} &cVeuillez rentrer le nom du joueur"
else:
if arg 2 parsed as player is not online:
message "{@logo} &cLe joueur doit être connecté, pour reçevoir des dons"
stop
#if arg 2 is player:
# message "{@logo} Vous ne pouvez pas vous envoyez des dons"
# stop
wait 2 tick
open chest with 6 row named "&4&lDon pour &l&n%arg 2%" to player
wait 2 tick
format slot 52 of player with light green wool named "&a&l✔ Valider le don ✔" to run [invoke "DonGive" from player and arg 2]
format slot 53 of player with red wool named "&c&l✖ Annuler le don ✖" to run [invoke "DonCancel" from player]
if arg 1 is "open":
wait 3 tick
open chest with 6 row named "&4&lMes dons reçus" to player
wait 2 tick
add 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 35, 36, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 to {_liste::*}
loop {_liste::*}:
format slot loop-value of player with white stained glass pane named " " to be unstealable
if {Don.liste.%player%::*} is not set:
format slot 10 of player with red wool named "&cVous n'avez aucun don" to be unstealable
else:
loop 7 times:
add loop-number + 9 to {_slot::*}
loop 7 times:
add loop-number + 18 to {_slot::*}
loop 7 times:
add loop-number + 27 to {_slot::*}
loop 7 times:
add loop-number + 36 to {_slot::*}
set {_nbr} to 1
loop {Don.liste.%player%::*}:
set {_size} to size of {Don.%player%.%loop-value%::*}
evaluate "format slot {_slot::%{_nbr}%} of player with {Don.%player%.%loop-value%::%{_size}%} to close then run [invoke ""DonGet"" from ""%player%"" and ""%loop-value%""]"
add 1 to {_nbr}
if {_nbr} > 28:
stop loop
sub "DonGet":
set {_p} to "%parameter 1%" parsed as player
set {_giver} to "%parameter 2%"
wait 3 tick
open chest with 6 row named "&4&lDon de %{_giver}%" to {_p}
wait 3 tick
loop size of {Don.%{_p}%.%{_giver}%::*} - 1 times:
format slot loop-number - 1 of {_p} with {Don.%{_p}%.%{_giver}%::%loop-number%} to be unstealable
format slot 53 of {_p} with red wool named "&c&lRetour en arriére" to close then run [make {_p} execute command "/don open"]
format slot 52 of {_p} with light green wool named "&a&lRecuperer tous les objets" to close then run [invoke "GetObject" from {_p} and {_giver}]
sub "GetObject":
set {_p} to "%parameter 1%" parsed as player
set {_giver} to "%parameter 2%"
wait 3 tick
set {_size} to size of {Don.%{_p}%.%{_giver}%::*}
loop {_size} - 1 times:
if {_p}'s inventory contains air:
give {Don.%{_p}%.%{_giver}%::%loop-number%} to {_p}
else:
drop {Don.%{_p}%.%{_giver}%::%loop-number%} at {_p}
clear {Don.%{_p}%.%{_giver}%::*}
remove {_giver} from {Don.liste.%{_p}%::*}
sub "DonCancel":
set {_p} to parameter 1
loop 52 times:
set {_objet} to slot loop-number - 1 of current inventory of {_p}
give {_objet} to {_p}
close {_p}'s inventory
sub "DonGive":
set {_p} to parameter 1
set {_give} to parameter 2
broadcast "%{_p}% %{_give}%"
if {Don.%{_give}%.%{_p}%::*} is set:
send "{@logo} &cVous avez déja envoyé un don à &a%{_give}%" to {_p}
else:
loop 52 times:
set {_objet} to slot loop-number - 1 of current inventory of {_p}
if {_objet} is not air:
add {_objet} to {Don.%{_give}%.%{_p}%::*}
if {Don.%{_give}%.%{_p}%::*} is not set:
send "{@logo} &cIl n'y a aucun objet" to {_p}
else:
add {_p} to {Don.liste.%{_give}%::*}
add paper named "&6&lDon de &a&l%{_p}%" with lore "||&6&l● &eReçu le : &b%now%||||&6&l● &eNombre d'objet : &b%size of {Don.%{_give}%.%{_p}%::*}%" to {Don.%{_give}%.%{_p}%::*}
close {_p}'s inventory
send "{@logo} &eVotre don pour &a%{_give}% &eà bien été envoyé" to {_p}
send "{@logo} &eVous avez reçu un don de &a%{_p}% &8(&7/don open&8)" to {_give} parsed as player
cadeau :)