Je suis un Skripter débutant (j'ai commencé à skripter il y a une semaine) et j'ai quelques problèmes avec un Skript de Duel.
Mon idée est de faire en sorte que lorsqu'un joueur fait /pvp join, il rejoint une file d'attente qui peut contenir maximum 2 personnes (c'est un duel)
Une fois que la file d'attente est pleine (2/2) les deux joueurs sont téléportés à leurs positions respectives, {pvp.pos1} pour le premier joueur, {pvp.pos2} pour le second.
Ensuite le combat sera lancé, et dès qu'un joueur sera tué, le combat se terminera et le gagnant sera TP en {pvp.exit}
Pour l'instant j'ai créé:
- la commande qui permet de set les positions (/setpoint 1, 2 ou exit)
- la file d'attente
- la commande /pvp quit qui permet de quitter la file d'attente
Mon problème est que je n'arrive pas à téléporter chaque joueur à deux points différents, et mon skript a plusieurs autres défaults que je ne saurais expliquer ...
J'ai appris à un peu skripter en fouillant sur Internet, soyez indulgents si vous trouvez des erreurs de débutant mdr ;)
Mon code:
variables:
{pvp.slots} = 0 #(entre 1 et 2) Indique le nombre de joueurs dans le jeu
command /setpoint <text>:
aliases: /sp
trigger:
if arg 1 is "1":
set {pvp.pos1} to the player's position
send "&aPosition &b&l1 &acreee"
stop
if arg 1 is "2":
set {pvp.pos2} to the player's position
send "&aPosition &b&l2 &acreee"
stop
if arg 1 is "exit":
set {pvp.exit} to the player's position
send "&aSortie creee"
stop
if arg 1 is not set:
send "&cUtilisation: &b/setpoint 1,2 ou exit"
stop
command /pvp <text>:
trigger:
if arg 1 is "join":
if {pvp.slots} is 2:
send "&cLa file d'attente est pleine"
stop
if {pvp.start} is true:
send "&cLa partie a deja commence"
stop
if {pvp.%player%.attente} is true:
send "&cTu es deja dans la file d'attente"
add 1 to {pvp.slots}
wait 1 tick
wait 1 tick
set {pvp.%player%.attente} to true
set {pvp.%player%.slot} to a random number between 1 and 2
broadcast "&b%player% &arejoins la file d'attente &b(%{pvp.slots}%/2)"
if {pvp.slots} is 2:
set {pvp.%player%.attente} to false
set {pvp.start} to true
set {pvp.%player%.start} to true
set {pvp.slots} to 0
wait 1.5 seconds
broadcast "&aLe combat va commencer"
if {pvp.pos1} is set:
if {pvp.pos2} is set:
if {pvp.%player%.slot} is 1:
teleport player to {pvp.pos1}
if {pvp.%player%.slot} is 2:
teleport player to {pvp.pos2}
else:
broadcast "&cPosition &b1 &cn'a pas ete creee"
wait 5 seconds
set {pvp.start} to false
wait 1 tick
if {pvp.%player%.start} is true:
teleport player to {pvp.exit}
set {pvp.%player%.start} to false
set {pvp.%player%.attente} to false
send "&cFin du test."
wait 1 tick
stop
if arg 1 is "quit":
if {pvp.%player%.attente} is true:
remove 1 from {pvp.slots}
set {pvp.%player%.attente} to false
broadcast "&b%player% &cquitte la file d'attente &b(%{pvp.slots}%/2)"
stop
if {pvp.start} is true:
send "&cTu ne peux pas quitter pendant le combat!"
stop
if arg 1 is "reset":
set {pvp.%player%.attente} to false
set {pvp.start} to false
set {pvp.%player%.start} to false
set {pvp.slots} to 0
stop
if arg 1 is not "join" or "quit":
send "&aUtilisation de la commande: &b/pvp join ou /pvp quit"
on disconnect:
loop all players:
if {pvp.%player%.attente} is true:
remove 1 from {pvp.slots}
set {pvp.%player%.attente} to false
broadcast "&b%player% &cquitte la file d'attente &b(%{pvp.slots}%/2)"
stop
if {pvp.%player%.start} is true:
if {pvp.%player%.slot} is 1:
set {pvp.start} to false
broadcast "&b%player% &cs'est deconnecte. Fin du combat."
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.
Question
Zeedix
Bonjour/Bonsoir ^^
Je suis un Skripter débutant (j'ai commencé à skripter il y a une semaine) et j'ai quelques problèmes avec un Skript de Duel.
Mon idée est de faire en sorte que lorsqu'un joueur fait /pvp join, il rejoint une file d'attente qui peut contenir maximum 2 personnes (c'est un duel)
Une fois que la file d'attente est pleine (2/2) les deux joueurs sont téléportés à leurs positions respectives, {pvp.pos1} pour le premier joueur, {pvp.pos2} pour le second.
Ensuite le combat sera lancé, et dès qu'un joueur sera tué, le combat se terminera et le gagnant sera TP en {pvp.exit}
Pour l'instant j'ai créé:
- la commande qui permet de set les positions (/setpoint 1, 2 ou exit)
- la file d'attente
- la commande /pvp quit qui permet de quitter la file d'attente
Mon problème est que je n'arrive pas à téléporter chaque joueur à deux points différents, et mon skript a plusieurs autres défaults que je ne saurais expliquer ...
J'ai appris à un peu skripter en fouillant sur Internet, soyez indulgents si vous trouvez des erreurs de débutant mdr ;)
Mon code:
variables: {pvp.slots} = 0 #(entre 1 et 2) Indique le nombre de joueurs dans le jeu command /setpoint <text>: aliases: /sp trigger: if arg 1 is "1": set {pvp.pos1} to the player's position send "&aPosition &b&l1 &acreee" stop if arg 1 is "2": set {pvp.pos2} to the player's position send "&aPosition &b&l2 &acreee" stop if arg 1 is "exit": set {pvp.exit} to the player's position send "&aSortie creee" stop if arg 1 is not set: send "&cUtilisation: &b/setpoint 1,2 ou exit" stop command /pvp <text>: trigger: if arg 1 is "join": if {pvp.slots} is 2: send "&cLa file d'attente est pleine" stop if {pvp.start} is true: send "&cLa partie a deja commence" stop if {pvp.%player%.attente} is true: send "&cTu es deja dans la file d'attente" add 1 to {pvp.slots} wait 1 tick wait 1 tick set {pvp.%player%.attente} to true set {pvp.%player%.slot} to a random number between 1 and 2 broadcast "&b%player% &arejoins la file d'attente &b(%{pvp.slots}%/2)" if {pvp.slots} is 2: set {pvp.%player%.attente} to false set {pvp.start} to true set {pvp.%player%.start} to true set {pvp.slots} to 0 wait 1.5 seconds broadcast "&aLe combat va commencer" if {pvp.pos1} is set: if {pvp.pos2} is set: if {pvp.%player%.slot} is 1: teleport player to {pvp.pos1} if {pvp.%player%.slot} is 2: teleport player to {pvp.pos2} else: broadcast "&cPosition &b1 &cn'a pas ete creee" wait 5 seconds set {pvp.start} to false wait 1 tick if {pvp.%player%.start} is true: teleport player to {pvp.exit} set {pvp.%player%.start} to false set {pvp.%player%.attente} to false send "&cFin du test." wait 1 tick stop if arg 1 is "quit": if {pvp.%player%.attente} is true: remove 1 from {pvp.slots} set {pvp.%player%.attente} to false broadcast "&b%player% &cquitte la file d'attente &b(%{pvp.slots}%/2)" stop if {pvp.start} is true: send "&cTu ne peux pas quitter pendant le combat!" stop if arg 1 is "reset": set {pvp.%player%.attente} to false set {pvp.start} to false set {pvp.%player%.start} to false set {pvp.slots} to 0 stop if arg 1 is not "join" or "quit": send "&aUtilisation de la commande: &b/pvp join ou /pvp quit" on disconnect: loop all players: if {pvp.%player%.attente} is true: remove 1 from {pvp.slots} set {pvp.%player%.attente} to false broadcast "&b%player% &cquitte la file d'attente &b(%{pvp.slots}%/2)" stop if {pvp.%player%.start} is true: if {pvp.%player%.slot} is 1: set {pvp.start} to false broadcast "&b%player% &cs'est deconnecte. Fin du combat."Merci d'avance pour votre aide :D
0 réponse à cette question
Messages recommandés