Aller au contenu
  • 0

Event skript qui ne marche pas (loop-player)


Question

Posté(e)

Bonjour, je débute en skript et j'ai essayé de crée un petit event en skript mais les commandes de give d'item/son/message ne s'éxecute cas une seul personne (moi) pouvezvous m'aidé ??

 

Version Minecraft: spigotmc-1.8-R0.1

Version Skript: 2.2-Fixes-V8b

 

Voici le code:

 

command /eventstop:
   trigger:
       set {stop} to 1
       send "event stopé"

command /eventstart:
   trigger:
       loop all players in "Event":
           send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to loop-players
           wait 5 seconds
           send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie vient de commencé !" to loop-players
           set {stop} to 0
           execute player command "/murder"
command /murder:
   trigger:
       loop all players in world "Event":
           if loop-players has permission "teamred.sk":
               clear inventory of loop-player
               play raw sound "portal.trigger" at loop-player with pitch 1 volume 10
               set slot 4 of loop-player to 1 276
               send "&c&lVous êtes meurtrié vous devez trouver les survivants" to loop-player
               wait 60 seconds
               if {stop} is 1:
                   stop
               if {stop} is 0:
                   clear inventory of loop-player
                   play raw sound "portal.trigger" at loop-player with pitch 1 volume 10
                   send "&b&lVous êtes un survivant caché vous !" to loop-player
                   wait 60 seconds
                   if {stop} is 0:
                       wait 1 seconds
                       execute player command "/murder"
                   if {stop} is 1:
                       stop
           if loop-players has permission "teamblue.sk":
               clear inventory of loop-player
               play raw sound "portal.trigger" at loop-player with pitch 1 volume 10
               send "&b&lVous êtes un survivant caché vous !" to loop-player
               wait 60 seconds
               if {stop} is 1:
                   stop
               if {stop} is 0:
                   clear inventory of loop-player
                   set slot 4 of loop-player to 1 276
                   play raw sound "portal.trigger" at loop-player with pitch 1 volume 10
                   send "&c&lVous êtes meurtrié vous devez trouver les survivants" to loop-player
                   wait 60 seconds
                   if {stop} is 0:
                       wait 1 seconds
                       execute player command "/murder"
                   if {stop} is 1:
                       stop

16 réponses à cette question

Messages recommandés

  • 0
Posté(e)
Bonjour, je débute en skript et j'ai essayé de crée un petit event en skript mais les commandes de give d'item/son/message ne s'éxecute cas une seul personne (moi) pouvezvous m'aidé ??

 

Voici le code:

 

command /eventstop:

trigger:

set {stop} to 1

send "event stopé"

 

command /eventstart:

trigger:

loop all players in "Event":

send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to loop-players

wait 5 seconds

send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to loop-players

wait 1 seconds

send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to loop-players

wait 1 seconds

send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to loop-players

wait 1 seconds

send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to loop-players

wait 1 seconds

send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to loop-players

wait 1 seconds

send "&c&lLa partie vient de commencé !" to loop-players

set {stop} to 0

execute player command "/murder"

command /murder:

trigger:

loop all players in world "Event":

if loop-players has permission "teamred.sk":

clear inventory of loop-player

play raw sound "portal.trigger" at loop-player with pitch 1 volume 10

set slot 4 of loop-player to 1 276

send "&c&lVous êtes meurtrié vous devez trouver les survivants" to loop-player

wait 60 seconds

if {stop} is 1:

stop

if {stop} is 0:

clear inventory of loop-player

play raw sound "portal.trigger" at loop-player with pitch 1 volume 10

send "&b&lVous êtes un survivant caché vous !" to loop-player

wait 60 seconds

if {stop} is 0:

wait 1 seconds

execute player command "/murder"

if {stop} is 1:

stop

if loop-players has permission "teamblue.sk":

clear inventory of loop-player

play raw sound "portal.trigger" at loop-player with pitch 1 volume 10

send "&b&lVous êtes un survivant caché vous !" to loop-player

wait 60 seconds

if {stop} is 1:

| stop

| if {stop} is 0:

| clear inventory of loop-player

| set slot 4 of loop-player to 1 276

| play raw sound "portal.trigger" at loop-player with pitch 1 volume 10

| send "&c&lVous êtes meurtrié vous devez trouver les survivants" to loop-player

| wait 60 seconds

| if {stop} is 0:

| wait 1 seconds

| execute player command "/murder"

| if {stop} is 1:

| stop

 

 

Respect des règles...

+

Met ton code entre ces balises [.CODE]ton code ici[./CODE]

ce qui donne :

ton code ici

 

Tu peux aussi faire ça plus facilement en appuyant sur le 4eme bouton en partant de la droite.

  • 0
Posté(e)
Respect des règles...

+

Met ton code entre ces balises [.CODE]ton code ici[./CODE]

ce qui donne :

ton code ici

 

Tu peux aussi faire ça plus facilement en appuyant sur le 4eme bouton en partant de la droite.

Heureusement que tu es arrivé avant moi ;)

  • 0
Posté(e)
Bonjour, je débute en skript et j'ai essayé de crée un petit event en skript mais les commandes de give d'item/son/message ne s'éxecute cas une seul personne (moi) pouvezvous m'aidé ??

 

Version Minecraft: spigotmc-1.8-R0.1

Version Skript: 2.2-Fixes-V8b

 

Voici le code:

 

command /eventstop:
   trigger:
       set {stop} to 1
       send "event stopé"

command /eventstart:
   trigger:
       loop all players in "Event":
           send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to loop-players
           wait 5 seconds
           send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie vient de commencé !" to loop-players
           set {stop} to 0
           execute player command "/murder"
command /murder:
   trigger:
       loop all players in world "Event":
           if loop-players has permission "teamred.sk":
               clear inventory of loop-player
               play raw sound "portal.trigger" at loop-player with pitch 1 volume 10
               set slot 4 of loop-player to 1 276
               send "&c&lVous êtes meurtrié vous devez trouver les survivants" to loop-player
               wait 60 seconds
               if {stop} is 1:
                   stop
               if {stop} is 0:
                   clear inventory of loop-player
                   play raw sound "portal.trigger" at loop-player with pitch 1 volume 10
                   send "&b&lVous êtes un survivant caché vous !" to loop-player
                   wait 60 seconds
                   if {stop} is 0:
                       wait 1 seconds
                       execute player command "/murder"
                   if {stop} is 1:
                       stop
           if loop-players has permission "teamblue.sk":
               clear inventory of loop-player
               play raw sound "portal.trigger" at loop-player with pitch 1 volume 10
               send "&b&lVous êtes un survivant caché vous !" to loop-player
               wait 60 seconds
               if {stop} is 1:
                   stop
               if {stop} is 0:
                   clear inventory of loop-player
                   set slot 4 of loop-player to 1 276
                   play raw sound "portal.trigger" at loop-player with pitch 1 volume 10
                   send "&c&lVous êtes meurtrié vous devez trouver les survivants" to loop-player
                   wait 60 seconds
                   if {stop} is 0:
                       wait 1 seconds
                       execute player command "/murder"
                   if {stop} is 1:
                       stop

Ligne 23: enlève un tab car là le player execute plus de 1 fois la commande /murder ce qui est innutile

Ligne 35: met un else ou un else if

Line 40 à 44: je te conseille plutôt de passer par des while...

Ligne 29, 37, 47, 55: Bon déjà pour le son il faut absolument que les noms des sons soit en full majuscule et que tu ai les addons qui vont avec...

Ligne: 30 et 54: Ensuite si un item n'est pas moddé, au lieu de mettre un id EX : 276 met : "diamond sword"

Ligne 50 à 52: pareille que pour 35

Ligne 58 à 62: pareille que ligne 40 à 44.

 

Et sinon j'ai peut être mal compris mais ton code ne fait aucun sens pour une partie de murder...

  • 0
Posté(e)

okay j'essais ça :) merci mais ce n'est pas un murder c'est "un jeu de rôle" chacun sont tour les équipes changes de rôle et passe de meurtrier a survivant et la dernière team en vie gagne l'évent.

  • 0
Posté(e)
okay j'essais ça :) merci mais ce n'est pas un murder c'est "un jeu de rôle" chacun sont tour les équipes changes de rôle et passe de meurtrier a survivant et la dernière team en vie gagne l'évent.

Ha ok ^^ je me disais aussi !!

  • 0
Posté(e)

En fait déja rien que cette partie ne s'éxécute pas en même temps pour tous les joueurs :/ Elle s'éxécute joueur par joueur chacun sont tour :/

command /eventstart:
   trigger:
       loop all players in "Event":
           send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to loop-players
           wait 5 seconds
           send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie vient de commencé !" to loop-players
           set {stop} to 0

  • 0
Posté(e)
En fait déja rien que cette partie ne s'éxécute pas en même temps pour tous les joueurs :/ Elle s'éxécute joueur par joueur chacun sont tour :/

command /eventstart:
   trigger:
       loop all players in "Event":
           send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to loop-players
           wait 5 seconds
           send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to loop-players
           wait 1 seconds
           send "&c&lLa partie vient de commencé !" to loop-players
           set {stop} to 0

Je vois, passe par une fonction.. :D

command /eventstart:
   trigger:
       loop all players in "Event":
           nomdetafonction(loop-player)
           set {stop} to 0

function nomdetafonction(p: player):
   send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to {_p}
   wait 5 seconds
   send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie vient de commencé !" to {_p}

  • 0
Posté(e)
Merci ça marche pour le timer je connaissais pas les fonctions :) et du coup je suppose que je dois faire de meme pour le reste du code ??

Yep et tu verra, les fonctions ne servent pas qu'a ça, c'est un des trucs les plus utiles !!!

  • 0
Posté(e)

oki j'ai modifié le code mais il me reste juste une chose à faire au niveau de la ligne 50 et 33 je ne sais pas ou mettre le /execute console command "/murder" :/

 

 

function murder(p: player):
   send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to {_p}
   wait 5 seconds
   send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie vient de commencé !" to {_p}

function murder2(p: player):
   if {_p} has permission "teamred.sk":
       clear inventory of {_p}
       play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
       wait 5 ticks
       set slot 4 of {_p} to 1 diamond sword
       send "&c&lVous êtes meurtrié vous devez trouver les survivants" to {_p}
       wait 60 seconds
       if {stop} is 1:
           stop
       else:
           clear inventory of {_p}
           play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
           send "&b&lVous êtes un survivant caché vous !" to {_p}
           wait 60 seconds
           if {stop} is 1:
               stop
               execute console command "/murder"
   if {_p} has permission "teamblue.sk":
       clear inventory of {_p}
       play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
       send "&b&lVous êtes un survivant caché vous !" to {_p}
       wait 60 seconds
       if {stop} is 1:
           stop
       else:
           clear inventory of {_p}
           set slot 4 of {_p} to 1 diamond sword
           play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
           send "&c&lVous êtes meurtrié vous devez trouver les survivants" to {_p}
           wait 60 seconds
           if {stop} is 1:
               stop
           else:
               execute console command "/murder"
command /eventstop:
   trigger:
       set {stop} to 1
       send "event stopé"

command /eventstart:
   trigger:
       loop all players in "Event":
           murder(loop-player)
           set {stop} to 0
       wait 11 seconds
       execute player command "/murder"

command /murder:
   trigger:
       loop all players in "Event":
           murder2(loop-player)


  • 0
Posté(e)
oki j'ai modifié le code mais il me reste juste une chose à faire au niveau de la ligne 50 et 33 je ne sais pas ou mettre le /execute console command "/murder" :/

 

 

function murder(p: player):
   send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to {_p}
   wait 5 seconds
   send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie vient de commencé !" to {_p}

function murder2(p: player):
   if {_p} has permission "teamred.sk":
       clear inventory of {_p}
       play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
       wait 5 ticks
       set slot 4 of {_p} to 1 diamond sword
       send "&c&lVous êtes meurtrié vous devez trouver les survivants" to {_p}
       wait 60 seconds
       if {stop} is 1:
           stop
       else:
           clear inventory of {_p}
           play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
           send "&b&lVous êtes un survivant caché vous !" to {_p}
           wait 60 seconds
           if {stop} is 1:
               stop
               execute console command "/murder"
   if {_p} has permission "teamblue.sk":
       clear inventory of {_p}
       play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
       send "&b&lVous êtes un survivant caché vous !" to {_p}
       wait 60 seconds
       if {stop} is 1:
           stop
       else:
           clear inventory of {_p}
           set slot 4 of {_p} to 1 diamond sword
           play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
           send "&c&lVous êtes meurtrié vous devez trouver les survivants" to {_p}
           wait 60 seconds
           if {stop} is 1:
               stop
           else:
               execute console command "/murder"
command /eventstop:
   trigger:
       set {stop} to 1
       send "event stopé"

command /eventstart:
   trigger:
       loop all players in "Event":
           murder(loop-player)
           set {stop} to 0
       wait 11 seconds
       execute player command "/murder"

command /murder:
   trigger:
       loop all players in "Event":
           murder2(loop-player)


Regarde ça :

function murder(p: player):
   send "&c&lLa partie va commencé dans &6&l10 secondes &c&lcaché vous !" to {_p}
   wait 5 seconds
   send "&c&lLa partie va commencé dans &6&l5 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l4 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l3 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l2 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie va commencé dans &6&l1 secondes &c&l!" to {_p}
   wait 1 seconds
   send "&c&lLa partie vient de commencé !" to {_p}

function murder2(p: player):
   while {stop} is equal to 0:
       if {_p} has permission "teamred.sk":
           clear inventory of {_p}
           play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
           wait 5 ticks
           set slot 4 of {_p} to 1 diamond sword
           send "&c&lVous êtes meurtrié vous devez trouver les survivants" to {_p}
           wait 60 seconds
           if {stop} is 1:
               stop
           else:
               clear inventory of {_p}
               play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
               send "&b&lVous êtes un survivant caché vous !" to {_p}
               wait 60 seconds
       else if {_p} has permission "teamblue.sk":
           clear inventory of {_p}
           play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
           send "&b&lVous êtes un survivant caché vous !" to {_p}
           wait 60 seconds
           if {stop} is 1:
               stop
           else:
               clear inventory of {_p}
               set slot 4 of {_p} to 1 diamond sword
               play raw sound "portal.trigger" at {_p} with pitch 1 volume 10
               send "&c&lVous êtes meurtrié vous devez trouver les survivants" to {_p}
               wait 60 seconds

command /event <text>:
   trigger:
       if arg 1 is set:
           if arg 1 is "start":
               loop all players in "Event":
                   murder(loop-player)
               set {stop} to 0
               wait 11 seconds
               loop all players in "Event":
                   murder2(loop-player)
           else if arg 1 is "stop":
               set {stop} to 1
               send "event stopé"

J'ai utilisé le while c'est très pratique et j'ai un peu modifié ta commande. ^^

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.