Aller au contenu
  • 0

vend Tp - je n'y arrive pas ;(


Question

Posté(e) (modifié)

bonjour, je fait du code depuis peut ( c'est pas mon fort) et je bloque,...,

je cherche a vendre un item (papier) qui quand on clique gauche on ai aces au TP coordonné une fois.

j'ai commencer ceci mais pour le reste et la permission je ne sait pas, je me suis informé sur mes autres skript et la communauté, pour faire ses quelques lignes.

si on pourrai m'aider a finir ceserai cool ? 

modiffier : version Mc 1.13.2

#----------------------------------------------------
#Skript réaliser par Victims_fr 2018 et la communauté de Skript-Mc"
#----------------------------------------------------

options:
    noenoughmoney: &cVous n'avez pas assez d'argent pour faire cela.
    paper: paper
#--------Event--------
on rightclick:
    if player is in world "lemonde":
#paper
        if player's tool is paper:
            if name of player's tool is "&2&ltp":
                cancel event

#--------command--------

command /papered <text>:
    trigger:
        #if player is in world "lemonde":
#paper
        if arg 1 is "paper":
            if player's money is bigger than 250:
                remove 250 from player's money
                give paper to player
				permission: tpc
                send "Vous avez payé 250 Or pour ce paper" to player
            else:
                send "{@noenoughmoney}" to player

command /mtpjoueur:
    trigger:
        open virtual chest inventory with size 1 named "&4Achat 250 Or" to player
        create gui slot 0 of player with paper named "&2&ltp (250 Or)" to run player command "papered paper" with permission ""
        create gui slot 1 of player with air
        create gui slot 2 of player with air
        create gui slot 3 of player with air
        create gui slot 4 of player with air
        create gui slot 5 of player with air
        create gui slot 6 of player with air
        create gui slot 7 of player with air
        create gui slot 8 of player with barrier named "&4Retour" to close
        set {papernet.menu.%player%} to true

on inventory close:
    if {papernet.menu.%player%} is true:
        delete {papernet.menu.%player%}


command /tpc [<player>]:
    cancel event
    if player have permission "tp.use":
        if arg 1 is not set:
            message "&8 [&c!&8] &4Précisez le nom du joueur où vous devez être téléporté !"
            play raw sound "mob.irongolem.hit" at player with pitch 1 volume 1
        if arg 1 is set:
            message "&8 [&cTP&8] &cTu vas être téléporté à &l%arg 1% &c!"
            play raw sound "random.pop" at player with pitch 1 volume 1
            teleport player to arg 1
    else:
        message "&8[&c!&8] &4Vous ne pouvez pas exécuter cette commande !"
        play raw sound "mob.irongolem.hit" at player with pitch 1 volume 1
#

merci de l'aide apporté.

vincent

Modifié par victims_fr

Messages recommandés

  • 0
Posté(e) (modifié)

Je pars du principe que tu est sur serveur 1.12.2 avec skript en version dev37c

 

Dans l'événement "on right click" tu peux directement indiqué l'item que tu veux regarder. Ce qui donne

options:
	world: lemonde
	item: paper
	item.name: §2§lTP

on rightclick holding a {@item}:
	player's world is "{@world}"
	name of player's tool is "{@item.name}"
	cancel event

La commande /papered n'est pas nécessaire et peut directement être ajouté dans le menu que va créer avec la commande /mtpjoueur

Donc en réorganisant et optimisant un peu ton menu et en y ajoutant le commande papered, voici ton code:

#----------------------------------------------------
#Skript réaliser par Victims_fr 2018 et la communauté de Skript-Mc"
#----------------------------------------------------
options:

	noenoughmoney: §cVous n'avez pas assez d'argent pour faire cela.
	
	world: lemonde
	item: paper
	item.name: §2§lTP
	
	permission.menu: tpc
	permission.tp: tp.use
	permission.message: §cVous n'avez pas la permission d'utiliser cette commande.
	
on rightclick holding a {@item}:
	player's world is "{@world}"
	name of player's tool is "{@item.name}"
	cancel event

command /mtpjoueur:
	permission message: {@permission.message}
	permission: {@permission.menu}
	trigger:
		open virtual chest inventory with size 1 named "§4Menu d'achat" to player
		loop 8 times:
			make a gui slot (loop-number - 1) of player with air
		make a gui slot 4 of player with {@item} named "{@item.name} (250 Or)" to run:
			close player's inventory
			if player's money is bigger or equal to 250:	# Plus grand ou égal à
				remove 250 from player's money
				give {@item} named "{@item.name}" to player
				send "Vous avez payé 250 Or pour ce papier" to player
			else:
				send "{@noenoughmoney}"
		make a gui slot 8 of player with barrier named "§4Retour" to close

command /tpc [<player>]:
	permission message: {@permission.message}
	permission: {@permission.tp}
	trigger:
		if arg 1 is not set:
			message "&8 [&c!&8] &4Précisez le nom du joueur où vous devez être téléporté !"
			play raw sound "mob.irongolem.hit" at player with pitch 1 volume 1
		else:
			message "&8 [&cTP&8] &cTu vas être téléporté à &l%arg 1% &c!"
			play raw sound "random.pop" at player with pitch 1 volume 1
			remove paper named "{@item.name}" from player's inventory
			teleport player to arg 1

 

Modifié par WeBer_Le_Pecheur
  • 0
Posté(e) (modifié)

 

#----------------------------------------------------
#Skript réaliser par Victims_fr 2018
#avec la participation de la communauté de Skript-Mc"
#----------------------------------------------------

options:
    noenoughmoney: &cVous n'avez pas assez d'argent pour faire cela.
    paper: paper
    permission.tp: tp.use
    permission.message: §cVous n'avez pas la permission d'utiliser cette commande.
#--------Event--------
on rightclick:
    if player is in world "lemonde":
#paper
        if player's tool is paper:
            if name of player's tool is "&2&ltp":
                cancel event

#--------command--------

command /papered <text>:
    trigger:
        #if player is in world "lemonde":
#paper
        if arg 1 is "paper":
            if player's money is bigger than 250:
                remove 250 from player's money
                give paper named "&2&ltp" to player
                command "/tp"
                send "Vous avez payé 250 Or pour ce paper" to player
            else:
                send "{@noenoughmoney}" to player

command /mtpjoueur:
    trigger:
        open virtual chest inventory with size 1 named "&4Achat 250 Or" to player
        create gui slot 0 of player with paper named "&2&ltp (250 Or)" to run player command "papered paper" with permission ""
        create gui slot 1 of player with air
        create gui slot 2 of player with air
        create gui slot 3 of player with air
        create gui slot 4 of player with air
        create gui slot 5 of player with air
        create gui slot 6 of player with air
        create gui slot 7 of player with air
        create gui slot 8 of player with barrier named "&4Retour" to close
        set {papernet.menu.%player%} to true

on inventory close:
    if {papernet.menu.%player%} is true:
        delete {papernet.menu.%player%}
#
#--------Event--------
on rightclick:
	if player is in world "lemonde":
#tp
		if player's tool is paper:
			if name of player's tool is "&2&ltp":
				cancel event
				wait 2 ticks
				remove held of player from inventory of player
				apply resistance 1 to player for 10 seconds
				send action bar "&2Vous avez 10 sesgondes pour vous TP" to player
				wait 10 seconds
				send action bar "&2merci d'utiliser ce moyen de trasport" to player

command /tpc [<player>]:
	permission message: {@permission.message}
	permission: {@permission.tp}
	trigger:
		if arg 1 is not set:
			message "&8 [&c!&8] &4Précisez le nom du joueur où vous devez être téléporté !"
			play raw sound "mob.irongolem.hit" at player with pitch 1 volume 1
		else:
			message "&8 [&cTP&8] &cTu vas être téléporté à &l%arg 1% &c!"
			play raw sound "random.pop" at player with pitch 1 volume 1
			remove paper named "&a&lTP" from player's inventory
			teleport player to arg 1

voila ce que j'ai a ce jour,l'item fonctionne, je n'arrive pas a trouver la commande et le "command /tpc [<player>]:" n'est pas bon car tp a un joueur et il faudrait que cela TP a des coordonné choisit par le joueur. d'ou la commande TPC "téléport coordonné".

merci de votre aide 

vincent 

Modifié par victims_fr
  • 0
Posté(e) (modifié)

Mmh, donc si j'ai bien compris, tu veux vendre un papier permettant de se téléporter à des coordonnées ?

En somme, cela devrait donner ceci:

#----------------------------------------------------
#Skript réaliser par Victims_fr 2018 et la communauté de Skript-Mc"
#----------------------------------------------------
options:

	noenoughmoney: §cVous n'avez pas assez d'argent pour faire cela.
	
	world: lemonde
	item: pieces of paper
	item.name: §2§lTP
	
	permission.menu: tpc
	permission.tp: tp.use
	permission.message: §cVous n'avez pas la permission d'utiliser cette commande.

on rightclick holding a {@item}:
	player's world is "{@world}"
	name of player's tool is "{@item.name}"
	set {_lore::*} to lore of player's tool
	replace all "x", "y", "z", ": ", "§e" and "§7" with "" in {_lore::*}
	apply resistance 1 to player for 10 seconds
	loop 10 times:
		send action bar "§2Vous allez être téléporté dans §6%(11 - loop-number)% §2secondes.." to player
		wait 1 seconds
	send action bar "§2Merci d'avoir utilisé notre mode de transport !" to player
	remove {@item} named "{@item.name}" from player's inventory
	execute console command "/minecraft:tp %player% %{_lore::1}% %{_lore::2}% %{_lore::3}%"

command /mtpjoueur:
	permission message: {@permission.message}
	permission: {@permission.menu}
	trigger:
		open virtual chest inventory with size 1 named "§4Menu d'achat" to player
		loop 8 times:
			make a gui slot (loop-number - 1) of player with air
		make a gui slot 4 of player with {@item} named "{@item.name} (250 Or)" to run:
			close player's inventory
			if player's money is bigger or equal to 250:
				remove 250 from player's money
				give {@item} named "{@item.name}" with lore "§ex§7: %x-coordinate of player's location%", "§ey§7: %y-coordinate of player's location%" and "§ez§7: %z-coordinate of player's location%" to player
				send "Vous avez payé 250 Or pour ce papier" to player
			else:
				send "{@noenoughmoney}"
		make a gui slot 8 of player with barrier named "§4Retour" to close

 

Lorsque tu achètera le papier, il enregistrera les coordonnées ou tu l'as acheté et lorsque tu fera un clic droit avec le papier, il te téléportera aux coordonnées enregistrés (ils sont affichés sur l'item lorsque tu passe la souris dessus).

Modifié par WeBer_Le_Pecheur
  • 0
Posté(e) (modifié)
il y a 5 minutes, WeBer_Le_Pecheur a dit :

Lorsque tu achètera le papier, il enregistrera les coordonnées ou tu l'as acheté et lorsque tu fera un clic droit avec le papier, il te téléportera aux coordonnées enregistrés (ils sont affichés sur l'item lorsque tu passe la souris dessus).

bonjour, non le joueur peut de lui même marquer les coordonné voulue 
 

je vien de tester le code et ..

 

 

Image1.png

Modifié par victims_fr
  • 0
Posté(e) (modifié)
il y a 25 minutes, victims_fr a dit :

bonjour, non le joueur peut de lui même marquer les coordonné voulue 

Ok d'accord, autant pour moi. Je corrige ça.

 

Et voila @victims_fr

#----------------------------------------------------
#Skript réaliser par Victims_fr 2018 et la communauté de Skript-Mc"
#----------------------------------------------------
options:

	noenoughmoney: §cVous n'avez pas assez d'argent pour faire cela.
	
	world: lemonde
	item: pieces of paper
	item.name: §2§lTP
	
	permission.menu: tpc
	permission.tp: tp.use
	permission.message: §cVous n'avez pas la permission d'utiliser cette commande.

on rightclick holding a {@item}:
	player's world is "{@world}"
	name of player's tool is "{@item.name}"
	cancel event

command /mtpjoueur:
	permission message: {@permission.message}
	permission: {@permission.menu}
	trigger:
		open virtual chest inventory with size 1 named "§4Menu d'achat" to player
		loop 8 times:
			make a gui slot (loop-number - 1) of player with air
		make a gui slot 4 of player with {@item} named "{@item.name} (250 Or)" to run:
			close player's inventory
			if player's money is bigger or equal to 250:
				remove 250 from player's money
				give {@item} named "{@item.name}" to player
				send "Vous avez payé 250 Or pour ce papier" to player
			else:
				send "{@noenoughmoney}"
		make a gui slot 8 of player with barrier named "§4Retour" to close

command /tpc [<number>] [<number>] [<number>]:
	permission message: {@permission.message}
	permission: {@permission.tp}
	trigger:
		arg 1 or arg 2 or arg 3 isn't set:
			send "§8[§c!§8] §4Précisez des coordonnées pour pouvoir utilisé la téléportation."
			play sound "mob.irongolem.hit" with volume 1 and pitch 1 at player
			stop #
		loop all items in player's inventory:
			loop-item is {@item}
			name of loop-item is "{@item.name}"
			remove 1 {@item} named "{@item.name}" from the inventory of player
			loop 10 times:
				send action bar "§2Vous allez être téléporté dans §6%(11 - loop-number)% §2secondes.." to player
				wait 1 seconds
			send action bar "§2Merci d'avoir utilisé notre mode de transport !" to player
			execute console command "/tp %player% %arg 1% %arg 2% %arg 3%"	# Le TP peut-être amélioré, mais je n'ai pas trouvé d'autre moyen.
			stop
		send "§8[§c!§8] §4Vous devez avoir un papier pour pouvoir utilisé la téléportation."
		play sound "mob.irongolem.hit" with volume 1 and pitch 1 at player

 

EDIT:

 @victims_fr pour ton erreur, réécris la ligne à la main, une erreur de copier/coller sur le code.

Modifié par WeBer_Le_Pecheur
  • 0
Posté(e) (modifié)
il y a 4 minutes, victims_fr a dit :

car si je donne l’Accès a tous du /tpc sa va être le bronxe 

La commande /tpc, j'ai fait en sorte qu'elle regarde si le joueur possède un papier qui est nommé TP (item.name dans les options). S'il ne possèdent pas le papier il ne peut pas utilisé le /tpc. De plus le papier en question ne peut être obtenu qu'en passant par le menu pour l'acheter.

Pour les objets dans le menu, je dois avouer ne pas comprendre, j'ai skript 2.3-beta4 avec tuske avec la version dite précédemment et les objets s'affichent correctement.

Modifié par WeBer_Le_Pecheur
  • 0
Posté(e) (modifié)

Tu est sûre d'être passé par le menu pour avoir le papier ? Car la vérification du papier et de son nom sont sensibles à la casse, c'est à dire que même le code couleur et mise en forme sont pris en compte.

Modifié par WeBer_Le_Pecheur
  • 0
Posté(e)
il y a 4 minutes, WeBer_Le_Pecheur a dit :

La commande /tpc, j'ai fait en sorte qu'elle regarde si le joueur possède un papier qui est nommé TP (item.name dans les options). S'il ne possèdent pas le papier il ne peut pas utilisé le /tpc. De plus le papier en question ne peut être obtenu qu'en passant par le menu pour l'acheter.

donc je passe par groupe manager et crée une permission pour tous "    permission.menu.tpc    " ?

  • 0
Posté(e) (modifié)
il y a 2 minutes, WeBer_Le_Pecheur a dit :

Tu est sûre d'être passé par le menu pour avoir le papier ? Car la vérification du papier et de son nom sont sensibles à la casse, c'est à dire que même le code couleur et mise en forme sont pris en compte.

oui

 

inventaire vide, achat 1 papier, click droit , rien.....

 

Modifié par victims_fr
  • 0
Posté(e) (modifié)
il y a 4 minutes, victims_fr a dit :

donc je passe par groupe manager et crée une permission pour tous "    permission.menu.tpc    " ?

Non juste tpc tout simplement. Sinon tu peux simplement retirer la lignes permission message et permission de la commande.

 

Pour la suite, weird, quand tu exécute la commande /tpc, rien ne se passe ? Pas un seul message ?

 

Modifié par WeBer_Le_Pecheur
  • 0
Posté(e) (modifié)

re, si en tant OP /tpc  sa foctionne, joueur pas acées a la commande meme item en main ou inventaire....

la je voie pour la perm

 

Modifié par victims_fr
  • 0
Posté(e)

j'ai ajouter le tp.use tout fonctionne dans le bon sens sauf qu'il suffit d'avoir un papier acheté pour avoir le tp infinie car quand on a un papier de TP on peut taper la commande sans que l'item soit enlever de l'inventaire

Image1.png

  • 0
Posté(e)

a moins que je crée un groupe pour cette perm et que dans le skript on ajoute le groupe au joueur quand il achète l'item et sa lui retire quand il tape a tapé la commande /tpc   ?

 

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.