Bonsoir / bonjour à tous !
Donc j'ai fait un système de Claim de Chunk pour mon serveur, et il a un p'tit problème. J'ai fais pour que quand le jour place ou enlève un bloc, on l'enregistre dans une variable et que ça remets le chunk comme il était à l'origine quand il l'unclaim. Le problème est que c'est juste le 3/4 des blocs qui sont enlevés / remis quand on unclaim un chunk. J'ai fais le plus clair possible ^^
Voici mon code (veuillez ne pas le poster en ressources sur le forum ^^):[spoiler=Code]
function Cubo(p: player, arg: string, membre: offlineplayer):
set {_chunk.0} to chunk at {_p}
if {cuboidchunks::%{_chunk.0}%::proprietaire} is set:
if {cuboidchunks::%{_chunk.0}%::proprietaire} is "protected-":
set {_q} to "def-"
else:
if {cuboidchunks::%{_chunk.0}%::proprietaire} is {_p}:
set {_q} to "own"
else:
if {cuboidchunks::%{_chunk.0}%::proprietaire} is set:
set {_q} to "yes"
wait a tick
if {_arg} is "information":
if {_q} is "def-":
send "&bInformations:" to {_p}
send "&eCe chunk est &créservé au staff &eet ne peut définitivement pas être cuboïdé &e!" to {_p}
stop
if {_q} is "yes":
send "&bInformations:" to {_p}
send "&eCe chunk est &cprotégé. Tu ne peux pas y construire." to {_p}
send "&8Propriétaire: %{cuboidchunks::%{_chunk.0}%::proprietaire}%" to {_p}
if {cuboidchunks::%{_chunk.0}%.membres::*} is set:
send "&7Membres: %{cuboidchunks::%{_chunk.0}%::membres}%" to {_p}
else:
send "&7Membres: Aucun" to {_p}
stop
if {_q} is not set:
send "&bInformations:" to {_p}
send "&eCe chunk est &alibre&e, tu peux donc le claim!" to {_p}
json("%{_p}%", "&a[Acheter Maintenant]||cmd:/cubo buyhere")
stop
if {_q} is "own":
send "&bInformations:" to {_p}
send "&eCe chunk est &aà toi&e, tu peux donc construire dessus !" to {_p}
if {cuboidchunks::%{_chunk.0}%.membres::*} is set:
send "&7Membres: %{cuboidchunks::%{_chunk.0}%.membres::*}%" to {_p}
else:
send "&7Membres: Aucun" to {_p}
stop
if {_arg} is "buy":
if {_q} is set:
send "&eCe chunk est protégé, il ne peut donc pas être acheté !" to {_p}
stop
else:
if {ap::%{_p}%} is more than 500:
set {cuboidchunks::%{_chunk.0}%::proprietaire} to {_p}
send "&8Ce chunk est maintenant &aà toi &8! &aFélicitations!" to {_p}
execute console command "/ap remove %{_p}% 500"
if {_arg} is "addmember":
if {_q} is "own":
if {_membre} is {_p}:
send "Tu ne peux pas t'ajouter toi même!" to {_p}
stop
else:
if {cuboidchunks::%{_chunk.0}%::membres} contains {_membre}:
send "&cCe joueur est déjà membre de ta zone!" to {_p}
stop
else:
add {_membre} to {cuboidchunks::%{_chunk.0}%.membres::*}
send "&eTu as bien &aajouté %{_membre}% &eaux membres de cette région." to {_p}
stop
else:
if {_q} is "def-":
if {_p} has permission "construire.modo":
send "&eTu ne peux pas rajouter/retirer de membres au &cchunk staff&e." to {_p}
stop
else:
send "&cCe chunk n'est pas à toi." to {_p}
if {_arg} is "delmember":
if {_q} is "own":
if {_membre} is not {_p}:
if {cuboidchunks::%{_chunk.0}%.membres::*} contains {_membre}:
remove {_membre} from {cuboidchunks::%{_chunk.0}%.membres::*}
send "&eTu as bien &csupprimé %{_membre}% &edes membres de cette région." to {_p}
stop
else:
send "&cCe joueur n'est pas membre de ta zone!" to {_p}
stop
else:
send "&ePour &cdésacquérir cette parcelle&e, fais /cubo unclaim." to {_p}
else:
if {_q} is "def-":
if {_p} has permission "construire.modo":
send "&eTu ne peux pas rajouter/retirer de membres au &cchunk staff&e." to {_p}
stop
else:
send "&cCe chunk n'est pas à toi." to {_p}
if {_arg} is "admincuboid":
send "&eCe chunk est maintenant &créservé au staff. &ePour annuler, fait &a/cubo unclaim&e." to {_p}
set {cuboidchunks::%{_chunk.0}%::proprietaire} to "protected-"
if {_arg} is "unclaim":
if {_q} is "def-":
if {_p} has permission "construire.modo":
send "&eCe &cchunk staff &ea bien été unclaim." to {_p}
clear {cuboidchunks::%{_chunk.0}%}
else:
send "&cCe chunk n'est pas à toi." to {_p}
if {_q} is "own":
send "&eTu as bien &cunclaim &ece chunk !" to {_p}
clear {cuboidchunks::%{_chunk.0}%::*}
clear {cuboidchunks::%{_chunk.0}%.membres::*}
loop {count.%{_chunk.0}%} times:
broadcast "%{count.%{_chunk.0}%}%"
broadcast "%{block::%{_chunk.0}%::%{_count}%}%"
clear {blockis::%{blocklocation::%{_count}%}%}
set block at {blocklocation::%{_chunk.0}%::%{_count}%} to {block::%{_chunk.0}%::%{_count}%}
add 1 to {_count}
wait 0.3 ticks
play sound "BLOCK_GRASS_PLACE" to {_p} with volume 1 and pitch 2
clear {blocklocation::%{_chunk.0}%::*}
clear {block::%{_chunk.0}%::*}
clear {count.%{_chunk.0}%}
on place:
if player has permission "construire.modo":
stop
else:
set {_chunk.0} to chunk at player
if {cuboidchunks::%{_chunk.0}%::proprietaire} is set:
if {cuboidchunks::%{_chunk.0}%.membres::*} contains player:
if {blockis::%{_chunk.0}%::%location of event-block%} is set:
stop
else:
set {blocklocation::%{_chunk.0}%::%{count.%{_chunk.0}%}%} to event-location
set {block::%{_chunk.0}%::%{count.%{_chunk.0}%}%} to type of event-block
set {blockis::%{_chunk.0}%::%location of event-block%} to true
add 1 to {count.%{_chunk.0}%}
stop
if {cuboidchunks::%{_chunk.0}%::proprietaire} is "protected-":
cancel event
send "&eCeci est une &czone protégée&e. Tu ne &cpeux pas &ey build !"
if {cuboidchunks::%{_chunk.0}%::proprietaire} is "%player%":
if {blockis::%{_chunk.0}%::%location of event-block%} is set:
stop
else:
set {blocklocation::%{_chunk.0}%::%{count.%{_chunk.0}%}%} to event-location
set {block::%{_chunk.0}%::%{count.%{_chunk.0}%}%} to air
set {blockis::%{_chunk.0}%::%location of event-block%} to true
add 1 to {count.%{_chunk.0}%}
stop
if {cuboidchunks::%{_chunk.0}%::proprietaire} is set:
cancel event
send "&eCeci est une &czone protégée&e. Tu ne &cpeux pas &ey build !"
else:
cancel event
send "Tu peux acheter ce chunk en faisant /cubo ici."
on break:
if player has permission "construire.modo":
stop
else:
set {_chunk.0} to chunk at player
if {cuboidchunks::%{_chunk.0}%::proprietaire} is set:
if {cuboidchunks::%{_chunk.0}%.membres::*} contains player:
if {blockis::%{_chunk.0}%::%location of event-block%} is set:
stop
else:
set {blocklocation::%{_chunk.0}%::%{count.%{_chunk.0}%}%} to event-location
set {block::%{_chunk.0}%::%{count.%{_chunk.0}%}%} to type of event-block
set {blockis::%{_chunk.0}%::%location of event-block%} to true
add 1 to {count.%{_chunk.0}%}
stop
if {cuboidchunks::%{_chunk.0}%::proprietaire} is "protected-":
send "&eCeci est une &czone protégée&e. Tu ne &cpeux pas &ecasser!"
cancel event
stop
if {cuboidchunks::%{_chunk.0}%::proprietaire} is "%player%":
if {blockis::%{_chunk.0}%::%location of event-block%} is set:
stop
else:
set {blocklocation::%{_chunk.0}%::%{count.%{_chunk.0}%}%} to event-location
set {block::%{_chunk.0}%::%{count.%{_chunk.0}%}%} to type of event-block
set {blockis::%{_chunk.0}%::%location of event-block%} to true
add 1 to {count.%{_chunk.0}%}
stop
if {cuboidchunks::%{_chunk.0}%::proprietaire} is set:
send "&eCeci est une &czone protégée&e. Tu ne &cpeux pas &ecasser !"
cancel event
else:
cancel event
send "Tu peux acheter ce chunk en faisant /cubo ici."
command /cubo [<text>] [<offlineplayer>]:
trigger:
if arg 1 is "buyhere":
Cubo(player, "buy", player)
if arg 1 is "info" or "ici" or "information":
Cubo(player, "information", player)
if arg 1 is "addmember":
if arg 2 is set:
Cubo(player, "addmember", arg-2)
if arg 1 is "delmember":
if arg 2 is set:
Cubo(player, "delmember", arg-2)
if arg 1 is "admincuboid":
Cubo(player, "admincuboid", player)
if arg 1 is "unclaim":
Cubo(player, "unclaim", player)
Version: 1.12.2
Addons: Skellett, SkQuery et TuSKe
Version des addons: Je sais pas c'est le Pack Skript de @PsYZiiK