Aller au contenu

Question

Posté(e)

Version Skript: 2.2-SNAPSHOT

Version Minecraft: 1.8 

Serveur minecraft: Spigot 1.8

Bonjour à tout les experts du skript ? , j'aimerais une petite aide concernant 2 point: - rajouter la condition d'avoir au moins 500$ pour effectuer /rtp

et - de pouvoir uniquement utiliser cette commande dans le spawn, ou par exemple dans une région worlguard

	
options:
	min.x: -10000
	max.x: 10000
	min.z: -10000
	max.z: 10000
	avoid: air or water block or lava block or stone block or sandstone block or mossy cobblestone block or dirt block
	perm: rtp
	cooldown: 2 minute


Command /rtp:
	permission: {@perm}
	trigger:
		set {_waited} to difference between {rtp.%player%.lastused} and now
		if {_waited} is less than {@cooldown}:
			message "&f&lEbelion&6&lTP : &cTu dois attendre %difference between {@cooldown} and {_waited}% pour refaire ceci."
			stop
		
		   
		execute console command "/eco take %player% 500"
		send "&f&lEbelion&6&lTP : &eTéléportation en cours de chargement." to player
		wait 1 second
		apply resistance 100 to player for 6 seconds
		wait 1 tick
		set {_loc::old} to player's location
		while player's location is {_loc::old}:
			set {_loc::new} to location at random number between {@min.x} and {@max.x}, 0, random number between {@min.z} and {@max.z}
			loop blocks above {_loc::new}:
				if loop-block and block above loop-block are air:
					if block under loop-block is not {@avoid}:
						set {_loc::new} to location of loop-block
						teleport player to {_loc::new}
						stop loop
						wait 10 ticks
		set {rtp.%player%.lastused} to now

Merci de vos futures réponses ? 

Gohu.

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Voilà ! Pour la région, skript est un peu bugué donc pas sur que ca fonctionne... J'ai mis ce que tu as demandé en options donc c'est facilement customisable ?

options:
	min.x: -10000
	max.x: 10000
	min.z: -10000
	max.z: 10000
	avoid: air or water block or lava block or stone block or sandstone block or mossy cobblestone block or dirt block
	perm: rtp
	cooldown: 2 minute
	region: Spawn
	cout: 500


Command /rtp:
	permission: {@perm}
	trigger:
		set {_waited} to difference between {rtp.%player%.lastused} and now
		if {_waited} is less than {@cooldown}:
			message "&f&lEbelion&6&lTP : &cTu dois attendre %difference between {@cooldown} and {_waited}% pour refaire ceci."
			stop
		
		if player's balance >= {@cout}:
			if "%region at player%" is "{@region}":
				remove {@cout} from player's balance
				send "&f&lEbelion&6&lTP : &eTéléportation en cours de chargement." to player
				wait 1 second
				apply resistance 100 to player for 6 seconds
				wait 1 tick
				set {_loc::old} to player's location
				while player's location is {_loc::old}:
					set {_loc::new} to location at random number between {@min.x} and {@max.x}, 0, random number between {@min.z} and {@max.z}
					loop blocks above {_loc::new}:
						if loop-block and block above loop-block are air:
							if block under loop-block is not {@avoid}:
								set {_loc::new} to location of loop-block
								teleport player to {_loc::new}
								stop loop
								wait 10 ticks
				set {rtp.%player%.lastused} to now
			else:
				message "&cTu n'es pas dans ""{@region}"""
		else:
			message "&cIl te faut au moins {@cout}$ !"

 

  • J'aime 1
  • 0
Posté(e)

Parfait pour la condition, mais le système de  région fonctionne pas, peux-tu m'éclairer ? 

options:
	min.x: -5000
	max.x: 5000
	min.z: -5000
	max.z: 5000
	avoid: air or water block or lava block or stone block or sandstone block or mossy cobblestone block or dirt block
	perm: rtp
	cooldown: 2 minute
	region: spawn
	cout: 500


Command /rtp:
	permission: {@perm}
	trigger:
		set {_waited} to difference between {rtp.%player%.lastused} and now
		if {_waited} is less than {@cooldown}:
			message "&f&lEbe&6&llion &f: &cTu dois attendre %difference between {@cooldown} and {_waited}% pour refaire ceci."
			stop
		
		if player's balance >= {@cout}:
			if "%region at player%" is "{@region}":
				remove {@cout} from player's balance
				send "&f&lEbe&6&llion &f: &eTéléportation en cours de chargement." to player
				wait 1 second
				apply resistance 100 to player for 6 seconds
				wait 1 tick
				set {_loc::old} to player's location
				while player's location is {_loc::old}:
					set {_loc::new} to location at random number between {@min.x} and {@max.x}, 0, random number between {@min.z} and {@max.z}
					loop blocks above {_loc::new}:
						if loop-block and block above loop-block are air:
							if block under loop-block is not {@avoid}:
								set {_loc::new} to location of loop-block
								teleport player to {_loc::new}
								stop loop
								wait 10 ticks
				set {rtp.%player%.lastused} to now
			else:
				message "&f&lEbe&6&llion &f: Tu ne peux pas te tp hors du spawn !"
		else:
			message "&f&lEbe&6&llion &f: &cIl te faut au moins {@cout}$ !"

 

  • 0
Posté(e)
Il y a 14 heures, KyloRen3600 a dit :

Salut !

Tu as bien WorldGuard ?

Oui j'ai bien WorldGuard

 

Il y a 13 heures, noftaly a dit :

Les régions en Skript c'est assez bugués... Je n'ai pas vraiment de solution. Attendons voir si un autre membre propose qqchose ?

ou sinon faire en sorte que la commande s'affilie juste à un portail, et non accessible autrement, c'est une solution ? 

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.