Aller au contenu

Skript - RandomTP [Faction]


Messages recommandés

Posté(e)

Bonjour tout le monde !

Je suis actuellement en train de coder un skript de Faction pour mon serveur ( Qui sera aussi dans les ressources ) mais je suis confronté à un problème ... je ne sais pas comment faire un système de téléportation aléatoire. Je voudrais que quand un joueur clique sur un NPC de Citizen nommé "&aRandomTP" ( Qu'il sera possible de faire spawn via la commande "/randomspawn" ), un menu de 6 lignes s'ouvre avec un block de concrete verte nommé "&aAccepter" avec comme lore "&7Cliquez pour vous faire téléporté aléatoirement sur la map" et un block de concrete rouge nommé "&aAnnuler" avec comme lore "&7Cliquez pour ne pas vous faire téléporté aléatoirement". Quand le joueur clique sur le block de concrete verte, je voudrais que sa lui enlève un name tag nommé "&aTicket de téléportation aléatoire" avec comme lore "&7Utilisez ce ticket au PNJ de téléportation aléatoire" et que si il n'en a pas, sa ne téléporte pas.

Informations :

Skript » 2.2-Dev25

SkQuery » 3.21.4

SkRayFall » 1.4

Map » Taille 30 000 / 30 000, Couche maximale 150

 

Merci 🙂 !

Posté(e)

Salut,

Je le valide, même si je devrais pas vraiment, car en cherchant un peu sur google, tu aurais trouvé des exemples... Voici par exemple un code trouvé sur google:

options:
#Minimum amount of blocks farm from X cord to tp to
	min.x: -500
#maximum amount of blocks farm from X cord to tp to
	max.x: 500
#Minimum amount of blocks farm from Z cord to tp to
	min.z: -500
#maximum amount of blocks farm from Z cord to tp to
	max.z: 500
#Amount of time before the player will be allowed to use the command again
	cooldown: 10 minutes
#Avoid spawning in lava, water and air
	avoid: air or water block or lava block
#To add worlds it would look like 
#	worlds: "world" or "world_nether" or "world_the_end"
	worlds: "world"
#Permission
	permission: randomtp.use
#No permission message
	PermMsg: &4You do not have permission to use this command!
#Can not execute command in this world message
	NoWorldMsg: &4You can’t use this command in this world!
#Cooldown message
	SpamMsg: &4Please do not spam this command!


Command /randomtp:
	description: Teleports player to random location not in water
	permission: {@permission}
	permission message: {@PermMsg}
	aliases: /rtp, /wild, /random
	trigger:
		if world is not {@worlds}:
			message "{@NoWorldMsg}"
		else:
			if difference between {cooldowns::randomtp::%player%} and now < {@cooldown}:
				send "{@SpamMsg}"
			else:
				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}
								if light level at player <= 2:
									set block at player to ground torch
								set {cooldowns::randomtp::%player%} to now 
								stop loop
					wait 10 ticks

Bonne journée.

Posté(e)
il y a 2 minutes, Acenox a dit :

Salut,

Je le valide, même si je devrais pas vraiment, car en cherchant un peu sur google, tu aurais trouvé des exemples... Voici par exemple un code trouvé sur google:


options:
#Minimum amount of blocks farm from X cord to tp to
	min.x: -500
#maximum amount of blocks farm from X cord to tp to
	max.x: 500
#Minimum amount of blocks farm from Z cord to tp to
	min.z: -500
#maximum amount of blocks farm from Z cord to tp to
	max.z: 500
#Amount of time before the player will be allowed to use the command again
	cooldown: 10 minutes
#Avoid spawning in lava, water and air
	avoid: air or water block or lava block
#To add worlds it would look like 
#	worlds: "world" or "world_nether" or "world_the_end"
	worlds: "world"
#Permission
	permission: randomtp.use
#No permission message
	PermMsg: &4You do not have permission to use this command!
#Can not execute command in this world message
	NoWorldMsg: &4You can’t use this command in this world!
#Cooldown message
	SpamMsg: &4Please do not spam this command!


Command /randomtp:
	description: Teleports player to random location not in water
	permission: {@permission}
	permission message: {@PermMsg}
	aliases: /rtp, /wild, /random
	trigger:
		if world is not {@worlds}:
			message "{@NoWorldMsg}"
		else:
			if difference between {cooldowns::randomtp::%player%} and now < {@cooldown}:
				send "{@SpamMsg}"
			else:
				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}
								if light level at player <= 2:
									set block at player to ground torch
								set {cooldowns::randomtp::%player%} to now 
								stop loop
					wait 10 ticks

Bonne journée.

Merci pour ton message mais ce n'est pas exactement ce que je demande, j'aimerais que sa se fasse avec un PNJ pas par commande. Merci quand même ^^

Posté(e)
command /randomspawn:
	trigger:
		spawn a villager at player's location
		set {list.random::%last spawned entity%} to true

on rightclick on villager:
	if {list.random::%clicked entity%} is set:
		#Ton code

Tiens ça te permet de faire spawn un villageois de set une variable liste avec et comme ça quand tu clique dessus tu peux executer la suite de ton code (que je te laisse faire).

  • 3 semaines après...
Posté(e)

Bonsoir,

L'auteur du topic est inactif depuis plus de 7 jours. Je déplace.

Merci de me contacter en message privé si tu souhaites le rouvrir.

Bonne soirée.

  • Joriis a verrouillé ce 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.