Aller au contenu

Question

Posté(e)
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 : new	# 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"
			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 @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
		

Voilà alors quand quelqu'un claim et que une personne vient sur son claim et que la personne à des plantations il peut les casser, et je souhaiterai bloquer cela

 

Skript : dev36

1.12.2

4 réponses à cette question

Messages recommandés

  • 0
Posté(e) (modifié)
every 1 ticks in world "{@World}":
	loop all players:

on appelle ca "être suicidaire".

Bref sinon ca devrait t'intéresser :  

crop (trampl(e|ing)|break[ing]|stomp[ing]|step[ping] on|destroy[ing])

Donc tu peux faire un 

on crop break:
	if {bypassland.%player%} is not true:
		if {chunk.%chunk at location of event-player%} is set:
			if {chunk.%chunk at location of event-player%} is not event-player:
				if {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

 

Modifié par noftaly
  • 0
Posté(e)

je ne pense pas que sa soit la même catégorie que ton sujet mais se skript est un peux "beuger" quand quelqu'un claim (personne 1) et ajoute une autre personne (personne 2 ) si la personne (personne 1) unclaim et que la personne (personne 2) claim de nouveaux la personne (personne 1) "sencée ne plus être ajouter dans se claim" peux toujours casser ^^

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.