Aller au contenu

Skript de lockpick (Pied de biche)


Messages recommandés

Posté(e) (modifié)

Bonjour, je sollicite votre aide pour mon serveur, semi-RP.

Version de Minecraft:
1.12.2 (version de mon serveur)
Version de Skript:
Je ne sais pas vraiment, la dernière?

Type du skript:
Utilitaire rôle-play

Description du script en détails:
Alors, dans cet skript, il serait possible, avec la peau de lapin (ID: 415), qui sera re-texturée sur mon serveur,  d'ouvrir les portes en fer, en faisant clique-droit dessus, mais attention, il y aura un délaie de 10 secondes entre le clique-droit et l'ouverture de la porte avec écrit dans l'actionbar un truc dans le genre: 
http://image.noelshack.com/fichiers/2019/18/2/1556615515-capture.png
(avec le 10 minutes mis en 10 secondes). Il faut que le joueur reste dans un rayon de 2 autour de la porte qu'il est en train de crocheter pour qu'elle s'ouvre. Il faudrait également que la porte se ferme automatiquement au bout de 10 secondes d'ouverture.

Commandes éventuelles avec les permissions :
Commande: /lockpick give (avec la permission lockpick.admin), qui permet de donner à la personne écrivant cette commande un lockpick

Autres précisions:
Pour le nom de l'objet, pourriez vous mettre "&7[&8LockPick&7]" et avec un lore avec écrit "&7Déverrouillez les portes en fer avec cet objet",

Il y a un skript créé par la communauté, un skript de braquage, que j'ai éditer afin de modifier pas mal de choses et pour qu'il ne comporte aucune erreur : 

Citation

variables:
    {in.capture.%player%} = false

options:
    minute: 1

command /banque <text>:
    trigger:
        if arg 1 is "capture":
            if {in.capture.%player%} is false:
                set {in.capture.%player%} to true
                set {capture.banque.minute} to 0
                set {capture.banque.second} to 0
                broadcast "&6&lBanque &7» &fQuelqu'un braque la banque, tous les policiers sont priés d'y aller."
                make console execute command "/discord send mc-discord **Banque** » Quelqu'un braque la banque, tous les policiers sont priés d'y aller."
                set {_nbr} to ({@minute} * 60)
                loop {_nbr} times:
                    if distance between player and {banque.location} is less than 5:
                        add 1 to {capture.banque.second}
                        if {capture.banque.second} = 60:
                            add 1 to {capture.banque.minute}
                            set {capture.banque.second} to 0
                        set action bar of all players to "&6Timer du braquage &c%{capture.banque.minute}%&6:&c%{capture.banque.second}%&6/&c10 minutes"
                        if {capture.banque.minute} = {@minute}:
                            set {in.capture.%player%} to false
                            make console execute command "/give %player% emerald 16"
                            broadcast "&3%player% &ea capturé la banque !"
                            exit loop
                    else:    
                        message "&cEchec, vous vous êtes trop éloigné de la banque"
                        make console execute command "/discord send mc-discord **Banque** » Ouf, la banque a été sauvée."
                        set {in.capture.%player%} to false
                        exit loop
                    wait 1 second
        if arg 1 is "set":
            message "&eVous avez set la banque"
            set {banque.location} to location of targeted block

on rightclick on sign:
    if location of targeted block is {banque.location}:
        if distance between player and {banque.location} is less than 5: 
        make player execute command "/banque capture"
    else:
        message " "

Je pense que ce skript peut vous aider à faire ça!

Merci d'avance,
Aldrouc.

Modifié par Aldrouc
Posté(e)

en gros tu demande de faire que quand on clic avec un peau de lapin il y a un compte a rebours de 10 second qui ouvre la porte en fer a la fin? jais pas vraiment le temps de le fair mais essay un truc du genre 

on click on iron door:
	if player holding item is "415" named "&7[&8LockPick&7]"
		if player has permission "ta perm":
			wait 1 second
			send "10"
			wait 1 second
			send "9"
			wait 1 second
			send "8"
			wait 1 second
			send "7"
			wait 1 second
			send "6"
			wait 1 second
			send "5"
			wait 1 second
			send "4"
			wait 1 second
			send "3"
			wait 1 second
			send "2"
			wait 1 second
			send "1"
			if player has move:
				send "tu a bouger la porte ne s'ouvre pas"to player
				stop
			else:
				open is door
				send "porte ouvert"
				stop

il y a des erreur a mon avis est j'ais pas fait le rayon autour de la port. a la place j'ais fait en sorte que le joueur n'est pas le droit de bouger essay de l'optimiser avec une variable 

Posté(e)
Il y a 16 heures, KneaXy a dit :

Le truc, c'est qu'on ne fait pas un compteur comme ça ,-,
Ca marche, mais c'est pénible d'attendre 10 secondes pour savoir si le joueur a bougé x)

oui effectivement je pensse savoir comment faire.

Posté(e) (modifié)
command /lockpick:
    trigger:
        give a rabbit hide of efficiency 0 named "&7[&8LockPick&7]" to player
on click on a iron door with a rabbit hide:
    if player is holding item named "&7[&8LockPick&7]":
        set {_time} to 60 seconds
        set {_location} to player's location 
        set {_loop} to 61
        loop {_loop} times:
            wait a second
            if the player is less than 5 blocks of {_location}:
				remove 1 from {_time}
				if {_time} is equal from 1:
					open is iron door
            if player's location is more than 5 blocks from {_location}:
                send "tu a bouger" to player
				exit-loop stop 

il reste quelque erreur 

Modifié par electrogreen225
oublier un truc
Posté(e)

Salut, merci de la réponse, j'ai modifié le skript pour changer les espaces, et y ajouter des permission:

command /lockpick:
	permission: ecto.lock
	permission: *
	permission message: &cTu ne peux pas faire ça!
    trigger:
	give a rabbit hide of efficiency 0 named "&7[&8LockPick&7]" to player
on click on a iron door with a rabbit hide:
    if player is holding item named "&7[&8LockPick&7]":
        set {_time} to 60 seconds
        set {_location} to player's location 
        set {_loop} to 61
        loop {_loop} times:
            wait a second
            if the player is less than 5 blocks of {_location}:
                remove 1 from {_time}
                if {_time} is equal from 1:
                open is iron door
            if player's location is more than 5 blocks from {_location}:
                send "Tu as bouger" to player
                exit-loop stop 

Cependant, il reste encore quelques erreurs:

03.05 11:50:24 [Server] WARN Empty configuration section! You might want to indent one or more of the subsequent lines to make them belong to this section or remove the colon at the end of the line if you don't want this line to start a section. (braquage.sk, line 43: if distance between player and {banque.location} is less than 5:')
03.05 11:50:24 [Server] ERROR indentation error: expected 1 tab, but found 4 spaces (lock.sk, line 5: trigger:')
03.05 11:50:24 [Server] WARN Empty configuration section! You might want to indent one or more of the subsequent lines to make them belong to this section or remove the colon at the end of the line if you don't want this line to start a section. (lock.sk, line 16: if {_time} is equal from 1:')
03.05 11:50:24 [Server] ERROR 'give a rabbit hide of efficiency 0 named "&7[&8LockPick&7]" to player' is not an entry (like 'name : value') (lock.sk, line 6: give a rabbit hide of efficiency 0 named "&7[&8LockPick&7]" to player')
03.05 11:50:24 [Server] ERROR Required entry 'trigger' is missing in 'command /lockpick' (lock.sk, starting at line 1) (lock.sk, line 1: command /lockpick:')
03.05 11:50:24 [Server] ERROR Can't compare a player with '5 blocks of {_location}' (lock.sk, line 14: if the player is less than 5 blocks of {_location}:')
03.05 11:50:24 [Server] ERROR Can't compare a location with '5 blocks from {_location}' (lock.sk, line 18: if player's location is more than 5 blocks from {_location}:')
03.05 11:50:24 [Server] INFO Loaded 28 scripts with a total of 18 triggers and 30 commands in 0.26 seconds
03.05 11:50:24 [Server] INFO [Skript] Encountered 5 errors while reloading the config and all scripts!

 

Posté(e)
command /lockpick:
    permission: *
    permission: ecto.lock
    trigger:
        give a rabbit hide of efficiency 0 named "&7[&8LockPick&7]" to player
on click on a iron door with a rabbit hide:
    if player is holding item named "&7[&8LockPick&7]":
        set {_time} to 15 seconds
        set {_loc} to location of target block
        set {_loop} to 16
        loop {_loop} times:
            wait a second
            if x-loc of {_loc} is between x-loc of player - 5.0 and x-loc of player + 5.0:
                remove 1 from {_time}
                if {_time} is = of 1:
                    open the iron door 
                    send "port ouverte"
            else:
                send "Tu as bouger" to player
                stop trigger 

il reste une erreur 

Posté(e)
on click on iron door:
	if player's tool is diamond hoe:
		set {move.lock.%player%} to true
		if {move.lock.%player%} is true:
			send "10"
			if {move.lock.%player%} is true:
				wait 1 second
				send "9"
				if {move.lock.%player%} is true:
					wait 1 second
					send "8"
					if {move.lock.%player%} is true:
						wait 1 second
						send "7"
						if {move.lock.%player%} is true:
							wait 1 second
							send "6"
							if {move.lock.%player%} is true:
								wait 1 second
								send "5"
								if {move.lock.%player%} is true:
									wait 1 second
									send "4"
									if {move.lock.%player%} is true:
										wait 1 second
										send "3"
										if {move.lock.%player%} is true:
											wait 1 second
											send "2"
											if {move.lock.%player%} is true:
												wait 1 second
												send "1"
												activate block
												set {move.lock.%player%} to false
												wait 10 seconds
												deactivate block

on any move:
	if {move.lock.%player%} is true:
		send "&cTu à bouger tu va devoir recommencer !"
		set {move.lock.%player%} to false
command /lockpick:
	trigger:
		give a diamond hoe named "&7[&8LockPick&7]" to player

J'ai fait ça tu aura juste à ajouté la ligne des perm et changé l'objet (Fontionne!)

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

salut j'ai ça à te proposer, pour moi ca fonctionne nickel :

variables:
	{pdb.%player%} = false

command /lockpick:
	permission: lockpick.admin
	description: Permet d'obtenir un pied de biche
	trigger:
		give a 415 named "&7[&8LockPick&7]" with lore "&7Déverrouillez les portes en fer avec cet objet" to player
		send "&bTu as obtenu un pied de biche !"
		
on rightclick on an iron door:
	if {pdb.%player%} is false:
		if player is holding a 415 named "&7[&8LockPick&7]" with lore "&7Déverrouillez les portes en fer avec cet objet":
			set {pdb.%player%} to true
			set {_block} to clicked block
			send "&aDévérouillage de la porte..."
			set {_sec} to 11
			loop 10 times:
				loop all blocks in radius 3 around {_block}:
					if block under player is loop-block:
						set {_var} to true
				if {_var} is true:
					remove 1 from {_sec}
					wait 1 second
					send "&eLa porte s'ouvre dans %{_sec}% secondes..."
					set {_var} to false
				else:
					close {_block}
					send "&cTu t'es trop éloigné, la porte s'est refermée!"
					set {pdb.%player%} to false
					stop
			open {_block}
			send "&bDévérouillage de la porte effectué avec succès!"
			wait 10 seconds
			close {_block}
			send "&cLa porte s'est refermée!"
			set {pdb.%player%} to false
	else:
		send "&cTu es deja entrain d'ouvrir une porte"

Bonne journée ! :)

Posté(e)

Bonjour,

Le problème est résolu, Je lock.

Si tu souhaites rouvrir le topic, merci de me contacter en message privé 🙂

Cordialement,

  • 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.