Aller au contenu
  • 0

Problème avec 2 skript claim et hammeur.


Question

Posté(e) (modifié)

Bonjour, voilà en faite j'ai 2 skript qui fonctionne très bien seul soucis c'est que le skript de claim si dessous voici le code

 

Skript : dev35b

Version : 1.12.2

 

 

# ----------------------------------------------------------------------------------------------

options:                                                                        
   Max-Land: 30                     # The max land default players can claim.
                                   # Set to -1 for unlimited land claiming for default players)

   Max-Land-VIP: 60                # The max land VIP's can claim. Requires permission node land.claim.vip
                                   # Set to -1 for unlimited land claiming for VIP's)                    

   Max-Land-OP: -1                 # The max land staff can claim. Requires permission node land.claim.op
                                   # Set to -1 for unlimited land claiming for staff)                    

   World: monde                    # The world default players can claim.

   spawn_region : spawn    # If you have WorlGuard and you have a region 'Spawn', you can protect the region of command "/land"

# ----------------------------------------------------------------------------------------------

variables:
   {landclaims.%player%} = 0
   {claimedland.%player%} = 0

on join:
   if {played.%player%} is not set:
       set {played.%player%} to true  

every 1 ticks in world "{@World}":
   loop all players:
       {chunk.%chunk at location of loop-player%} is not set:
           {landnotify.%loop-player%} is not "&6» Ce terrain n'est pas claim.":  
               send "&aLe terrain est libre." to loop-player
               set {landnotify.%loop-player%} to "&6» Ce terrain n'est pas claim."
       {landnotify.%loop-player%} is not {chunk.%chunk at location of loop-player%}:
           {chunk.%chunk at location of loop-player%} is not set:
               {landnotify.%loop-player%} is not "&6» Ce terrain n'est pas claim.":  
                   # send "&aLe terrain est libre." to loop-player
                   set {landnotify.%loop-player%} to "&6» Ce terrain n'est pas claim."
                   set {land.unclaim.%loop-player%} to true
           {chunk.%chunk at location of loop-player%} is set:
               send "&aLe terrain appartient à &e%{chunk.%chunk at location of loop-player%}%&a." to loop-player
               set {landnotify.%loop-player%} to {chunk.%chunk at location of loop-player%}
       {landnotify.%loop-player%} is not set:
           {chunk.%chunk at location of loop-player%} is not set:
               send "&aLe terrain est libre." to loop-player
               set {landnotify.%loop-player%} to "&6» Ce terrain n'est pas claim."
               set {land.unclaim.%loop-player%} to true

on command "/land":
   if "%region at player%" contains "{@spawn_region}":  
       cancel event
       message "LandClaim &9> &7Impossible de claim cette region !"

on region enter:
   wait 2 ticks
   if "%region at player%" contains "{@spawn_region}":
       set action bar of player to "&aCette zone est protégé !"

on exiting of region "spawn_survie":
   set action bar of player to "&aCette zone n'est plus protégé !"

#startfold
command /land [<text>] [<offline player>]:
   description: For all land related commands
   usage: &c/land (claim, unclaim, add, remove)
   trigger:
       argument 1 is not set:
           message "-----------------------------------------------------"
           message "Nombre de terrain claim &9> &7%{claimedland.%player%}%"
           message "-----------------------------------------------------"
       #subfold @help
       argument 1 is "help" or "h":
           message "-----------------------------------------------------"
           message "/land &9> &7Pour afficher le nombre de terrain claim"
           message "/land list &9> &7Affiche la liste de vos claim"
           message "/land claim &9> &7Pour claim un terrain"
           message "/land unclaim &9> &7Pour unclaim un terrain"
           message "/land info &9> &7Affiche les informations du terrain ou vous vous trouvez"
           message "/land add <player> &9> &7Ajouter un joueur à votre claim"
           message "/land remove <player> &9> &7Supprimer un joueur de votre claim"
           message "/land teleport &9> &7Se teleporter à votre premier claim"
           message "/land delhome &9> &7Supprimer votre home"
           message "/land map &9> &7Affiche une mini-map"
           if player has permission "land.bypass":
               message "/land bypass &9> &7Accéder à tous les claims"
           message "-----------------------------------------------------"

       #subfold @stats
       argument 1 is "info" or "i":
           if {chunk.%chunk at location of player%} is set:
               message "-----------------------------------------------------"
               message "Propriétaire du terrain &9> &7 %{chunk.%chunk at location of player%}%"
               message "Membre(s) autorisé &9> &7 %{land.%chunk at location of player%::*}%"
               message "-----------------------------------------------------"
               stop
           message "&6Cette zone n'appartient actuellement à personne."
           stop
       #subfold @error
       argument 1 is "error":
           if player has permission "land.bypass":
               message "&cUtilisation incorrect. Essayez '/land [info, list, teleport, delhome, claim, unclaim, add, remove, bypass, map] (player)'"
           else:
               message "&cUtilisation incorrect. Essayez '/land [info, list, teleport, delhome, claim, unclaim, add, remove, bypass, map] (player)'"
           message "&7 ()'s = Options, []'s = Requis."
           stop
       #subfold @claim
       argument 1 is "claim" or "c":
           if {chunk.%chunk at location of player%} is set:
               message "&cCette zone est déjà claim."
               stop  
           if {@Max-Land} is -1:
               add name of player to {land.%chunk at location of player%::*}
               set {chunk.%chunk at location of player%} to name of player
               set {chunk.%chunk at location of player%.%player%} to true
               message "&6Vous possédez maintenant cette terre."
               add 1 to {claimedland.%player%}
               log "%player% dans le monde %world% en %player's location%" to "LandClaim/Claim.log"
               if {home.%player%} is not set:
                   set {home.%player%} to location of the player
               stop
           else:
               if {@Max-Land} is 0:
                   if player has permission "land.claim.vip" or "land.claim.op":
                       if {claimedland.%player%} is greater than {@Max-Land-VIP} -1:
                           if player has permission "land.claim.op":
                               if {claimedland.%player%} is greater than {@Max-Land-OP} -1:
                                   message "&cVous avez atteint votre limite de claim."
                                   stop
                           else:
                               message "&cVous avez atteint votre limite de claim."
                               stop
                   else:
                       message "&cVous avez atteint votre limite de claim."
                       stop
               if {claimedland.%player%} is greater than {@Max-Land} -1:
                   if player has permission "land.claim.vip" or "land.claim.op":
                       if {claimedland.%player%} is greater than {@Max-Land-VIP} -1:
                           if player has permission "land.claim.op":
                               if {claimedland.%player%} is greater than {@Max-Land-OP} -1:
                                   message "&cVous avez atteint votre limite de claim."
                                   stop
                           else:
                               message "&cVous avez atteint votre limite de claim."
                               stop
                   else:
                       message "&cVous avez atteint votre limite de claim."
                       stop
               add name of player to {land.%chunk at location of player%::*}
               set {chunk.%chunk at location of player%} to name of player
               set {chunk.%chunk at location of player%.%player%} to true
               set {loc.chunks::%chunk at location of player%} to location of player
               set {loc.chunks.%player%::%chunk at location of player%} to location of player
               message "&6Vous êtes maintenant propriétaire de cette zone."
               add 1 to {claimedland.%player%}
               log "%player% avec %world% at %player's location%" to "LandClaim/Claim.log"
               if {home.%player%} is not set:
                   set {home.%player%} to location of the player
               stop
           stop
       #subfold @unclaim
       argument 1 is "unclaim" or "u":
           if {chunk.%chunk at location of player%} is not set:
               message "&cCe terrain n'est pas claim."
               stop
           if {chunk.%chunk at location of player%} is not name of player:
               if {bypassland.%player%} is not true:
                   message "&cVous ne possédez pas cette terre."
                   stop
               else:
                   if {bypassland.%player%} is true:
                       remove 1 from {claimedland.%{chunk.%chunk at location of player%}%}
                       clear {land.%chunk at location of player%::*}
                       clear {chunk.%chunk at location of player%}
                       delete {loc.chunks::%chunk at location of player%}
                       message "&6Vous avez unclaim cette terre."
                       stop
               message "&cVous ne possédez pas cette terre."
               message "&cLe terrain appartient à %{chunk.%chunk at location of player%}%"
           else:
               if {chunk.%chunk at location of player%} is name of player:
                   remove 1 from {claimedland.%{chunk.%chunk at location of player%}%}
                   clear {land.%chunk at location of player%::*}
                   clear {chunk.%chunk at location of player%}
                   delete {loc.chunks::%chunk at location of player%}
                   message "&6Vous avez unclaim cette terre."
                   if {home.%player%} is set:
                       delete {home.%player%}
                   stop
       # subfold @add
       argument 1 is "add":
           if {chunk.%chunk at location of player%} is not set:
               message "&cCe terrain n'est pas claim"
               stop
           if {chunk.%chunk at location of player%} is not name of player:
               if {bypassland.%player%} is true:
                   if {land.%chunk at location of player%::%{_playersearch}%} is argument 2:
                       message "&cCe joueur est déjà membre de cette terre."
                       stop
                   else:
                       add "%name of argument 2%" to {land.%chunk at location of player%::*}
                       set {chunk.%chunk at location of player%.%argument 2%} to true
                       message "&6%name of argument 2% peut maintenant construire sur cette terre."
                       stop
               else:
                   message "&cVous ne possédez pas cette terre."
                   stop
           if {played.%argument 2%} is not set:
               message "&cCe joueur n'existe pas."
               stop
           if {chunk.%chunk at location of player%} is argument 2:
               message "&cVous ne pouvez pas vous ajouter à votre propre terre."
               stop
           set {_playersearch} to 0
           loop 10000 times:
               if {land.%chunk at location of player%::%{_playersearch}%} is argument 2:
                   message "&cCe joueur est déjà membre de cette terre."
                   stop
               else:
                   add 1 to {_playersearch}
           if {_playersearch} is 10000:
               message "&6%name of argument 2% peut maintenant construire sur cette terre."
               add "%name of argument 2%" to {land.%chunk at location of player%::*}
               set {chunk.%chunk at location of player%.%argument 2%} to true
               stop
       #subfold @remove
       argument 1 is "remove" or "r":
           if argument 2 is not set:
               make player execute command "&cland error"
               stop
           if {chunk.%chunk at location of player%} is not set:
               message "&cCe terrain n'est pas claim."
               stop
           if {chunk.%chunk at location of player%} is not name of player:
               if {bypassland.%player%} is not true:
                   message "&cVous ne possédez pas cette terre."
                   stop
               else:
                   if {bypassland.%player%} is  true:
                       if {land.%chunk at location of player%::%{_playersearch}%} is argument 2:
                           message "&cCe joueur est déjà membre de cette terre."
                           stop
                       else:
                           add "%name of argument 2%" to {land.%chunk at location of player%::*}
                           set {chunk.%chunk at location of player%.%argument 2%} to true
                           message "&6%name of argument 2% peut maintenant construire sur cette terre."
                           stop
           if {played.%argument 2%} is not set:
               message "&cCe joueur n'existe pas."
               stop
           if {chunk.%chunk at location of player%} is argument 2:
               message "&cVous ne pouvez pas vous retirer de votre propre terre."
               stop
           loop {land.%chunk at location of player%::*}:
               if loop-value is argument 2:
                   clear {chunk.%chunk at location of player%.%argument 2%}
                   delete {land.%chunk at location of player%::%loop-index%}
                   exit loop
               clear {chunk.%chunk at location of player%.%argument 2%}
           message "&6%name of argument 2% ne peut plus construire sur cette terre."
           stop
       #subfold @bypass
       argument 1 is "bypass":
           player has permission "land.bypass":
               if {bypassland.%player%} is true:
                   clear {bypassland.%player%}
                   message "&6Vous ne pouvez plus accéder à toutes les terres."
                   stop
               set {bypassland.%player%} to true
               message "&6Vous avez maintenant accés à toutes les terres claim."
               stop
           message "&cVous n'avez pas la permission d'utiliser cette commande."
           stop
       #subfold @list
       argument 1 is "list" or "l":
           argument 2 is not set:
               loop {loc.chunks.%player%::*}:
                   set {_loc} to {loc.chunks.%player%::%loop-index%}
                   set {_chunk} to chunk at location of {_loc}
                   set {_chunk.name} to {chunk.name.%{_chunk}%}
                   {_count} is not set:
                       set {_count} to 0
                   add 1 to {_count}
                   {chunk.name.%{_chunk}%} is not set:
                       set {chunk.name.%{_chunk}%} to "%{_count}%"
                   set {_chunk.name} to {chunk.name.%{_chunk}%}
                   {_chunk.name} is not set:
                       set {_chunk.name} to "&cNot Named"
                   send "&a%{_count}% ------ %{_chunk}% ------ %{_chunk.name}%" to player
               stop
           argument 2 is set:
               loop {loc.chunks.%argument 2%::*}:
                   set {_loc} to loop-value
                   set {_chunk} to chunk at location of {_loc}
                   set {_chunk.name} to {chunk.name.%{_chunk}%}
                   {_count} is not set:
                       set {_count} to 0

                   {_chunk.name} is not set:
                       set {_chunk.name} to "&cNot Named"
                   {chunk.%{_chunk}%.%player%} is true:
                       add 1 to {_count}
                       send "&a%{_count}%----->%{_chunk}%---->%{_chunk.name}%" to player
               stop
       #subfold @map
       argument 1 is "map" or "m":
           message "------------ [ Mini Map ] ------------"
           set {_mapX} to 11
           set {_mapY} to 6
           set {_m} to ""
           loop 13 times:
               loop 23 times:
                   set {_x} to {_mapX} * 16
                   set {_y} to {_mapY} * 16
                   set {_chunk2} to chunk at block {_y} blocks north {_x} blocks west of player
                   if {loc.chunks::%{_chunk2}%} isn't set:
                       set {_result} to ""
                   else:
                       set {_result} to {loc.chunks::%{_chunk2}%}
               # Position du joueur sur la mini-map
                   if {_chunk2} is chunk at player:
                       set {_m} to "%{_m}%&2█"
               # Claim du joueur
                   else if {_result} is {loc.chunks.%player%::%{_chunk2}%}:
                       set {_m} to "%{_m}%&a█"
                   else if {_result} is "":
                       set {_m} to "%{_m}%&7█"
                   else:
                       set {_m} to "%{_m}%&c█"
                   add -1 to {_mapX}
               message "%{_m}%" to player

               set {_m} to ""
               add -1 to {_mapY}
               set {_mapX} to 11
               set {_n} to "N"
               set {_s} to "S"
               set {_e} to "E"
               set {_w} to "W"
               if facing of player is north:
                   set {_n} to "&4N&6"
               else if facing of player is south:
                   set {_s} to "&4S&6"
               else if facing of player is west:
                   set {_w} to "&4W&6"
               else if facing of player is east:
                   set {_e} to "&4E&6"

           message " "
           message "&a█&7 &aVos claim &2█&7 &2Vous  &c█&7 &cAutre joueur  &6\%{_n}%/"
           message "&7█ Zone Libre                                &6%{_w}%+%{_e}%"
           message "                                                 &6/%{_s}%\"
       #subfold @tp
       argument 1 is "teleport" or "tp":
           if {home.%player%} is set:
               teleport player to {home.%player%}
               send "&aTéléportation réussie !" to player
               stop
           else:
               send "&cAucun home, vous devez claim au moins une fois !"
               stop
       #subfold @delhomeclaim
       argument 1 is "delhome" or "dh":
           if {home.%player%} is set:
               delete {home.%player%}
               send "&cVotre home a été supprimé."
               stop
           else:
               send "&cAucun home, vous devez claim au moins une fois !"
               stop

#endfold
on quit:
   if {bypassland.%player%} is true:
       clear {bypassland.%player%}

on place:
   if {bypassland.%player%} is true:
       stop
   if {chunk.%chunk at location of block%} is set:
       if {chunk.%chunk at location of block%.%player%} is true:
           stop
       message "&cCe terrain appartient à &7%{chunk.%chunk at location of block%}%&c."
       cancel event

on break:
   if {bypassland.%player%} is true:
       stop
   if {chunk.%chunk at location of block%} is set:
       if {chunk.%chunk at location of block%.%player%} is true:
           stop
       message "&cCe terrain appartient à &7%{chunk.%chunk at location of block%}%&c."
       cancel event

on right click:
   if {bypassland.%player%} is true:
       stop
   if {chunk.%chunk at location of block%} is set:
       if {chunk.%chunk at location of block%.%player%} is true:
           stop
       message "&cCe terrain appartient à &7%{chunk.%chunk at location of block%}%&c."
       cancel event

on right click on horse:
   if {bypassland.%player%} is true:
       stop
   if {chunk.%chunk at location of event-player%} is set:
       {chunk.%chunk at location of event-player%} is not event-player:
           {chunk.%chunk at location of event-player%.%event-player%} is set:
               stop
           send "&cTu ne peux pas monter cet animal!" to event-player
           cancel event
           stop trigger

on place of tnt:
   if {bypassland.%player%} is true:
       stop
   loop blocks in radius 10 of block:
       if {chunk.%chunk at location of loop-block%} is set:
           if {chunk.%chunk at location of loop-block%.%player%} is true:
               exit loop
           else:
               cancel event
               message "&cVous ne pouvez pas utiliser d'explosifs ici."
               stop
on explode:
   entity is creeper
   loop blocks in radius 10 of entity:
       if {chunk.live.%chunk at location of loop-block%} is set:
           cancel event
           set {_safe} to true
   {_safe} is set:
       create safe explosion of force 3 at event-location

on damage of a entity:
   victim is a chicken or a cow or a mooshroom or a horse or a sheep or a pig or a wolf or a ocelot or a villager or a squid or a item frame
   attacker is a player
   victim is a cow:
       attacker's tool is a empty bucket
       stop
   if {bypassland.%attacker%} is true:
       stop
   loop blocks in radius 3 of victim:
       if {chunk.%chunk at location of loop-block%} is set:
           if {chunk.%chunk at location of loop-block%.%attacker%} is true:
               stop
           send "&cTu ne peux pas tuer ce &7%victim% &c!" to attacker
           cancel event
           stop

on break glass:
   if {bypassland.%player%} is true:
       stop
   if {chunk.%chunk at location of event-player%} is set:
       {chunk.%chunk at location of event-player%} is not event-player:
           {chunk.%chunk at location of event-player%.%event-player%} is set:
               stop
           send "&cCe terrain appartient à &7%{chunk.%chunk at location of block%}%&c." to event-player
           cancel event
           stop trigger

on right click on lead:
   if {bypassland.%player%} is true:
       stop
   if {chunk.%chunk at location of event-player%} is set:
       {chunk.%chunk at location of event-player%} is not event-player:
           {chunk.%chunk at location of event-player%.%event-player%} is set:
               stop
           send "&cCe terrain appartient à &7%{chunk.%chunk at location of block%}%&c." to event-player
           cancel event
           stop trigger

on enderman pickup:
   if {chunk.live.%chunk at location of block%} is set:
       cancel event

Et j'ai le skript hammeur :

options:
   GHamMSG: "&aTu as reçu %arg 2% hammeur(s) !"
   NNerr: "&cNombres négatifs non-autorisés !"

command /hammeur [<text>] [<number>] [<player>]:
   permission: hammeur.give
   trigger:
       if arg 1 is "give":
           if arg-2 > 0:
               give arg-2 of iron pickaxe of efficiency 6 and unbreaking 4 and fortune 3 named "&c[&6Hammeur&c]" to arg-3
               send {@GHamMSG}
           else:
               send {@NNerr}


on break:
   if name of player's tool is "&c[&6Hammeur&c]":
       set {_1.%player%} to location of event-block
       set {_2.%player%} to location of event-block
       if player's pitch is between -50 and 50:
           add 1 to y-coord of {_1.%player%}
           subtract 1 from y-coord of {_2.%player%}
           if player's horizontal facing is west or east:
               add 1 to z-coord of {_1.%player%}
               subtract 1 from z-coord of {_2.%player%}
               loop blocks within {_1.%player%} to {_2.%player%}:
                   id of loop-block isn't 7 or 8 or 9 or 10 or 11 or 138 or 49 or 47 or 52 or 52 or 87 or 0 or 89 or 17 or 5 or 80 or 65
                   break loop-block with player's tool
                   if player's tool is enchanted with fortune 1:
                       chance of 3%:
                           drop 1 diamond at loop-block
                   else if player's tool is enchanted with fortune 2:
                       chance of 2%:
                           drop 2 diamond at loop-block        
                   else if player's tool is enchanted with fortune 3:
                       chance of 3%:
                           drop 3 diamond at loop-block            
                   else if player's tool is enchanted with fortune 4:
                       chance of 3%:
                           drop 4 diamond at loop-block    
                   else if player's tool is enchanted with fortune 5:
                       chance of 3%:
                           drop 5 diamond at loop-block
           else if player's horizontal facing is north or south:
               add 1 to x-coord of {_1.%player%}
               subtract 1 from x-coord of {_2.%player%}
               loop blocks within {_1.%player%} to {_2.%player%}:
                   id of loop-block isn't 7 or 8 or 9 or 10 or 11 or 138 or 49 or 47 or 52 or 87 or 0 or 89 or 17 or 5 or 80 or 65
                   break loop-block with player's tool
                   if player's tool is enchanted with fortune 1:
                       chance of 3%:
                           drop 1 diamond at loop-block
                   else if player's tool is enchanted with fortune 2:
                       chance of 3%:
                           drop 2 diamond at loop-block        
                   else if player's tool is enchanted with fortune 3:
                       chance of 3%:
                           drop 3 diamond at loop-block            
                   else if player's tool is enchanted with fortune 4:
                       chance of 3%:
                           drop 4 diamond at loop-block    
                   else if player's tool is enchanted with fortune 5:
                       chance of 3%:
                           drop 5 diamond at loop-block        
       else:
           add 1 to x-coord of {_1.%player%}
           add 1 to z-coord of {_1.%player%}
           subtract 1 from x-coord of {_2.%player%}
           subtract 1 from z-coord of {_2.%player%}
           loop blocks within {_1.%player%} to {_2.%player%}:
               id of loop-block isn't 7 or 8 or 9 or 10 or 11 or 138 or 49 or 47 or 52 or 87 or 0 or 89 or 17 or 5 or 80 or 65
               break loop-block with player's tool
               if player's tool is enchanted with fortune 1:
                   chance of 3%:
                       drop 1 diamond at loop-block
               else if player's tool is enchanted with fortune 2:
                   chance of 3%:
                       drop 2 diamond at loop-block        
               else if player's tool is enchanted with fortune 3:
                   chance of 3%:
                       drop 3 diamond at loop-block            
               else if player's tool is enchanted with fortune 4:
                   chance of 3%:
                       drop 4 diamond at loop-block    
               else if player's tool is enchanted with fortune 5:
                   chance of 3%:
                       drop 5 diamond at loop-block

Mon problème c'est que avec le hammeur on peut casser dans un claim si on est pas add dedans alors que avec quelque chose autre que le hammeur on peut pas. Comment bloquer ceci ?

Modifié par MaxDu56YT
  • Réponses 53
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

Messages recommandés

  • 0
Posté(e)
Dit-il.

 alors l'autre l'est aussi !!!!

bha quatre ! c'est pour mettre en valeur une conclusion, c'est pas un énervement ! (celui là est exprès)

C'est utile dans les boucles, mais pas ici visiblement.

Tu pourrais donner un exemple ?

  • 0
Posté(e)
Mon script (ici), dans la function 'start' plus précisément.

Dans le start, il n'y a aucun moment où on trouve un truc du type {_maze.%player%} par contre il y a des listes et effectivement dans ce cas là c'est utile mais c'est pas le sujet

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.