Aller au contenu
  • 0

Claim de chunk


Question

Posté(e)

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

7 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonsoir, ton poste ne respecte pas les règles, tu ne précise pas;

 

-La version du serveur

-Tes addons

-Leur version.

 

Merci d'éditer rapidement, sinon je delete ce poste.

 

Cordialement, SlayZ - Modérateur Forum

  • 0
Posté(e)

Justement, il ne l'a pas fait ^^. Mon but est que les blocs posés / retirés puissent se restaurer quand le joueur unclaim son chunk, or il y a des bugs.

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.