Aller au contenu
  • 0

Besoin d'aide skript Skywars


Question

Posté(e)

J'ai besoin d'aide pour mon skript Skywars BUNGEECORD...

 

Voila j'ai mit dans on join: add 1 to {skywars.list::*}

quand je me connecte dans la game: sa met: LeNomDuJoueur à rejoint la partie (1/12)

mais quand un deuxieme joueur join sa met LeNomDuJoeur à rejoint la partie (1 ans 1/12)

 

Ce qui fais que la partie ne peux jamais START car c'est minimum 2 joueur et pas 1 and 1 xD

 

# Quand le skript reload ==================================================================

on load:
   set {skywars.start} to false
   set {lancement.game} to false
   set {skywars.whitelist} to false
   set {set.fait} to false
   clear {game.joueurs::*}
   set {skywars.nombre} to 0
   clear {skywars.list::*}

# Les OPTIONS =============================================================================

Options:
   minjoueur: 2
   logo: &eSkywars &b>
   Joueursmax: 12

# Quand un joueur JOIN la game ============================================================

on join:
   if {skywars.whitelist} is true:
       kick the player due to "&cLa partie a déjà commencé !"
       stop
   wait 3 ticks
   add 1 to {skywars.nombre}
   teleport player to {skywars.lobby}
   add player to {game.joueur::*}
   add 1 to {skywars.list::*}
   set player's gamemode to survival
   broadcast "&a%player% &eà rejoint la partie (&b%{skywars.list::*}%&e/&b{@Joueursmax})"

on quit:
   set quit message to ""



# Le PvP dans le lobby ====================================================================

on damage:
   victim is a player
   attacker is a player
   if {skywars.pvp} is false:
       cancel event

# Auto start de la partie =================================================================

every 1 seconds:
   size of {skywars.list::*} is bigger than {@minjoueur}:
       {lancement.game} is false
       {skystart.start} is false
       {skywars.whitelist} is false
       {skywars.pvp} is false
       execute console command "/skystart"
       set {skystart.start} to true
       set {lancement.game} to true
       set {skywars.whitelist} to true
       set {skywars.pvp} to true
   #if {lancement.game} is true:
       #size of {skywars.list::*} is bigger than {@minjoueur}:
       #set {lancement.game} to false
       #set {skywars.start} to false
       #set {skywars.whitelist} to false
       #set {skywars.pvp} to false
# Joueur meurt GAME LANCER ================================================================

on death of player:
   loop all players:
       if attacker is a player:
           message "{@logo} &4&l%victim%&c a été tué par &4&l%attacker%&c !" to loop-players
       damage cause is void:
           message "{@logo} &4&l%victim%&c a voulu percer le mystère du néant mais n'est jamais revenu..." to loop-players
       damage cause is a potion:
           message "{@logo} &4&l%victim%&c a été assasiné par ... UNE POTION !!!" to loop-players
       damage cause is a lava:
           message "{@logo} &4&l%victim%&c brûle dans les flammes..." to loop-players
       damage cause is fall:
           message "{@logo} &4&l%victim%&c savait que le monde est trop cruel !" to loop-players
   set player's gamemode to adventure
   teleport player to {skywars.spectateur}
   remove 1 from {skywars.nombre}
   broadcast "%{skywars.nombre}%"
   if {skywars.nombre} = 1:
       broadcast "&eSkywars &b> &a%{game.joueur::*}% a gagné la partie de &eSkywars &a!"
       play raw sound "note.pling" at player with pitch 1 volume 10
       #set {replace.bloc.loc.%player%} to {replace.bloc.%player%}
       execute console command "/skystop"

   open chest with 6 rows named "&eSkywars &b&l» &aJoueurs en jeu" to player
   wait 1 tick
   set {_slot} to 0
   loop all players:
       format slot {_slot} of player with loop-player's skull named "%loop-player%" to close then run [make player execute command "/swspec tp %loop-player%"]
       add 1 to {_slot}

# ADMINISTRATION COMMANDE =================================================================

command /forcestart:
   permission: admin.skywars
   permission message: &cEh ! tu attend qu'il y est des joueurs !
   trigger:
       set {lancement.game} to true
       execute console command "/skystart"

command /skywars <text=help> [<text>]:
   permission: skywars.admin
   trigger:
       if arg 1 is "help":
           message "&e-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-"
           message "&eSkywars &a> &b/skywars help &e: &7Liste des aides ! "
           message "&eSkywars &a> &b/skywars setlobby &e: &7 setlobby des joueurs"
           message "&eSkywars &a> &b/skywars set numero de l'ile &e: &7 set l'ile des teleportation"
           message "&eSkywars &a> &b/skywars setspect &e: &7Set le point spectateur !"
           message "&e-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-"
       if arg 1 is "setspect":
           set {skywars.spectateur} to location of player
           message "&eSkywars &a> &bVous avez set le point spectateur en:"
           message "&b%location of player%"
       if arg 1 is "setlobby":
           set {skywars.lobby} to location of player
           message "&eSkywars &a> &bLe point de spawn du lobby a été set en :"
           message "&b%location of player%"
       if arg 1 is "set":
           if arg 2 is "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8" or "9" or "10" or "11" or "12":
               message "&eSkywars &a> &bL'ile n°%arg-2% à été enregistré !"
               play raw sound "note.pling" at player with pitch 1 volume 10
               set {skywarsile.%arg-2%} to location of player
           else:
               message "&eSkywars &a> &bDefinissez que 12 iles !"

command /skystart:
   permission: skystart.admin
   trigger:
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 1 minute."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 30 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 30 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 10 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 20 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 10 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 10 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 5 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 5 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       set {_Nombre} to 1
       loop all players:
           teleport loop-player to {skywarsile.%{_Nombre}%}
           add 1 to {_Nombre}
           set {skywars.whitelist} to true
       if {set:fait} isn't set:
           set {set.fait} to true
       if {set.fait} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 3 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
           wait 1 second
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 2 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
           wait 1 second
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 1 seconde."
           play raw sound "note.pling" at player with pitch 1 volume 10
           broadcast "&eSkywars &b> &aBonne chance à tous !"
           loop all players:
               set player's gamemode to survival

           #set {replace.bloc.%player%} to block under the player
           #set {replace.bloc.loc.%player%} to location of block under the player
           #set block under the player to air


command /skystop:
   trigger:
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 10 secondes"
       wait 5 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 5 secondes"
       wait 1 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 4 secondes"
       wait 1 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 3 secondes"
       wait 1 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 2 secondes"
       wait 1 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 1 secondes"
       wait 1 seconds
       bungeecord connect player to "lobby2"
       delete {skywars.whitelist}
       delete {skywars.start}
       delete {lancement.game}
       delete {set.fait}
       set {skywars.nombre} to 0
       clear {game.joueur::*}
       clear {skywars.list::*}
       wait 1 seconds
       #execute console command "/restart"

21 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Remplace le:

size of {skywars.list::*} is bigger than {@minjoueur}:

Par:

if {skywars.nombre} >= {@minjoueur}:

Je n'ai pas verifier ton code mais ici ca declenchera a partir du nombre de joueur autrement dit si il n'y a pas d'autre verif apres alors ca le declenchera plusieur fois.

 

Ps: il y a aussi une autre solution ou tu loop toute la liste de joueur pour voir cb il y en a.

  • 0
Posté(e)

J'ai pas compris ? les lignes que tu me dit se trouve ou ?

 

Ah j'ai compris...

 

mais le On join pour que tous soit bon comment je fais ?

 

EDIT:

 

Dans mon every 1 seconds j'ai mit des # pour un bout de code car il marche pas le size... il dise je peux pas le mettre ici ... je remplace aussi ?

  • 0
Posté(e)

Je ne sait pas je ne peut pas tout refaire ca serait creer un skript skywars a ta plqce alors que j'ai deja fait un skywars et que c'est pas super passionant.

 

J'ai l'impression que tu commence a code sur un skript qui te depasse completement.

#Je passe mon tour ajd.

  • J'aime 1
  • 0
Posté(e)

sa marche pas le :

on join:
   if {skywars.whitelist} is true:
       kick the player due to "&cLa partie a déjà commencé !"
       stop
   wait 3 ticks
   add 1 to {skywars.nombre}
   teleport player to {skywars.lobby}
   add player to {game.joueur::*}
   add 1 to {skywars.list}
   set player's gamemode to survival
   broadcast "&a%player% &eà rejoint la partie (&b%{skywars.list}%&e/&b{@Joueursmax})"

on quit:
   set quit message to ""



# Le PvP dans le lobby ====================================================================

on damage:
   victim is a player
   attacker is a player
   if {skywars.pvp} is false:
       cancel event

# Auto start de la partie =================================================================

every 1 seconds:
   amount of {skywars.list} is bigger than {@minjoueur}:
       {lancement.game} is false
       {skystart.start} is false
       {skywars.whitelist} is false
       {skywars.pvp} is false
       execute console command "/skystart"
       set {skystart.start} to true
       set {lancement.game} to true
       set {skywars.whitelist} to true
       set {skywars.pvp} to true
   #if {lancement.game} is true:
       #size of {skywars.nombre} is bigger than {@minjoueur}:
       #set {lancement.game} to false
       #set {skywars.start} to false
       #set {skywars.whitelist} to false
       #set {skywars.pvp} to false

 

sa marche pas le every 1 seconds :(

  • 0
Posté(e)

Le autostart faut que tu le commence par un if dans le on join a la fin.

Perso j'aurais fais un truc du genre (dsl pas le temps de le faire mieux mais je te montre un exemple :D)

on join:
   if {skywars.whitelist} is true:
       kick the player due to "&cLa partie a déjà commencé !"
       stop
   wait 3 ticks
   add 1 to {skywars.nombre}
   teleport player to {skywars.lobby}
   add player to {game.joueur::*}
   add 1 to {skywars.list}
   set player's gamemode to survival
   broadcast "&a%player% &eà rejoint la partie (&b%{skywars.list}%&e/&b{@Joueursmax})"
    if amount of {skywars.list} is bigger than {@minjoueur}:
       {lancement.game} is false
       {skystart.start} is false
       {skywars.whitelist} is false
       {skywars.pvp} is false
       execute console command "/skystart"
       set {skystart.start} to true
       set {lancement.game} to true
       set {skywars.whitelist} to true
       set {skywars.pvp} to true
   #if {lancement.game} is true:
       #size of {skywars.nombre} is bigger than {@minjoueur}:
       #set {lancement.game} to false
       #set {skywars.start} to false
       #set {skywars.whitelist} to false
       #set {skywars.pvp} to false
on quit:
   set quit message to ""



# Le PvP dans le lobby ====================================================================

on damage:
   victim is a player
   attacker is a player
   if {skywars.pvp} is false:
       cancel event

  • 0
Posté(e)

Cela ne marche pas. j'ai mit un {lancement.game} is true et si y'a pas asser de joueur sa lance pas le skywars je crois c'est sa qui bug

 

Regarder

add 1 to {skywars.list}
   set player's gamemode to survival
   broadcast "&a%player% &eà rejoint la partie (&b%{skywars.list}%&e/&b{@Joueursmax})"
   if {skywars.list} >= 1:
       {lancement.game} is false
       {skystart.start} is false
       {skywars.whitelist} is false
       {skywars.pvp} is false
       set {skystart.start} to true
       set {lancement.game} to true
       set {skywars.whitelist} to true
       set {skywars.pvp} to true
       execute console command "/auto"
       execute console command "/skystart"

Regarder la variable lancement.game

 

 

command /skystart:
   permission: skystart.admin
   trigger:
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 1 minute."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 30 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 30 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10

 

y'a peut etre un rapport ?

 

Le code en entier:

  • 0
Posté(e)
# Quand le skript reload ==================================================================

on load:
   set {skywars.start} to false
   set {lancement.game} to false
   set {skywars.whitelist} to false
   set {set.fait} to false
   set {skywar^s.pvp} to false
   clear {game.joueurs::*}
   clear {skywars.nombre}
   clear {skywars.list}

# Les OPTIONS =============================================================================

Options:
   minjoueur: 2
   logo: &eSkywars &b>
   Joueursmax: 12

# Quand un joueur JOIN la game ============================================================

on join:
   if {skywars.whitelist} is true:
       kick the player due to "&cLa partie a déjà commencé !"
       stop
   wait 3 ticks
   add 1 to {skywars.nombre}
   teleport player to {skywars.lobby}
   add player to {game.joueur::*}
   add 1 to {skywars.list}
   set player's gamemode to survival
   broadcast "&a%player% &eà rejoint la partie (&b%{skywars.list}%&e/&b{@Joueursmax})"
   if {skywars.list} >= 1:
       {lancement.game} is false
       {skystart.start} is false
       {skywars.whitelist} is false
       {skywars.pvp} is false
       set {skystart.start} to true
       set {lancement.game} to true
       set {skywars.whitelist} to true
       set {skywars.pvp} to true
       execute console command "/auto"
       execute console command "/skystart"

on quit:
   set quit message to ""



# Le PvP dans le lobby ====================================================================

on damage:
   victim is a player
   attacker is a player
   if {skywars.pvp} is false:
       cancel event

# Auto start de la partie =================================================================

#every 1 seconds:
   #if {skywars.list} >= 1:
       #{lancement.game} is false
       #{skystart.start} is false
       #{skywars.whitelist} is false
       #execute console command "/skystart"
       #set {skystart.start} to true
       #set {lancement.game} to true
       #set {skywars.whitelist} to true
       #set {skywars.pvp} to true
   #if {lancement.game} is true:
       #size of {skywars.nombre} is bigger than {@minjoueur}:
       #set {lancement.game} to false
       #set {skywars.start} to false
       #set {skywars.whitelist} to false
       #set {skywars.pvp} to false
# Joueur meurt GAME LANCER ================================================================

on death of player:
   loop all players:
       if attacker is a player:
           message "{@logo} &4&l%victim%&c a été tué par &4&l%attacker%&c !" to loop-players
       damage cause is void:
           message "{@logo} &4&l%victim%&c a voulu percer le mystère du néant mais n'est jamais revenu..." to loop-players
       damage cause is a potion:
           message "{@logo} &4&l%victim%&c a été assasiné par ... UNE POTION !!!" to loop-players
       damage cause is a lava:
           message "{@logo} &4&l%victim%&c brûle dans les flammes..." to loop-players
       damage cause is fall:
           message "{@logo} &4&l%victim%&c savait que le monde est trop cruel !" to loop-players
   set player's gamemode to adventure
   teleport player to {skywars.spectateur}
   remove 1 from {skywars.nombre}
   if {skywars.nombre} = 1:
       broadcast "&eSkywars &b> &a%{game.joueur::*}% a gagné la partie de &eSkywars &a!"
       play raw sound "note.pling" at player with pitch 1 volume 10
       #set {replace.bloc.loc.%player%} to {replace.bloc.%player%}
       execute console command "/skystop"

   open chest with 6 rows named "&eSkywars &b&l» &aJoueurs en jeu" to player
   wait 1 tick
   set {_slot} to 0
   loop all players:
       format slot {_slot} of player with loop-player's skull named "%loop-player%" to close then run [make player execute command "/swspec tp %loop-player%"]
       add 1 to {_slot}

# ADMINISTRATION COMMANDE =================================================================

command /forcestart:
   permission: admin.skywars
   permission message: &cEh ! tu attend qu'il y est des joueurs !
   trigger:
       set {lancement.game} to true
       execute console command "/skystart"

command /skywars <text=help> [<text>]:
   permission: skywars.admin
   trigger:
       if arg 1 is "help":
           message "&e-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-"
           message "&eSkywars &a> &b/skywars help &e: &7Liste des aides ! "
           message "&eSkywars &a> &b/skywars setlobby &e: &7 setlobby des joueurs"
           message "&eSkywars &a> &b/skywars set numero de l'ile &e: &7 set l'ile des teleportation"
           message "&eSkywars &a> &b/skywars setspect &e: &7Set le point spectateur !"
           message "&e-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-"
       if arg 1 is "setspect":
           set {skywars.spectateur} to location of player
           message "&eSkywars &a> &bVous avez set le point spectateur en:"
           message "&b%location of player%"
       if arg 1 is "setlobby":
           set {skywars.lobby} to location of player
           message "&eSkywars &a> &bLe point de spawn du lobby a été set en :"
           message "&b%location of player%"
       if arg 1 is "set":
           if arg 2 is "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8" or "9" or "10" or "11" or "12":
               message "&eSkywars &a> &bL'ile n°%arg-2% à été enregistré !"
               play raw sound "note.pling" at player with pitch 1 volume 10
               set {skywarsile.%arg-2%} to location of player
           else:
               message "&eSkywars &a> &bDefinissez que 12 iles !"

command /skystart:
   permission: skystart.admin
   trigger:
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 1 minute."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 30 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 30 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 10 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 20 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 10 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 10 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       wait 5 seconds
       if {lancement.game} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 5 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
       else:
           stop
           set {skywars.start} to false
       set {_Nombre} to 1
       loop all players:
           teleport loop-player to {skywarsile.%{_Nombre}%}
           add 1 to {_Nombre}
           set {skywars.whitelist} to true
       if {set:fait} isn't set:
           set {set.fait} to true
       if {set.fait} is true:
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 3 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
           wait 1 second
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 2 secondes."
           play raw sound "note.pling" at player with pitch 1 volume 10
           wait 1 second
           broadcast "&eSkywars &b> &aLa partie va démarrer dans 1 seconde."
           play raw sound "note.pling" at player with pitch 1 volume 10
           broadcast "&eSkywars &b> &aBonne chance à tous !"
           loop all players:
               set player's gamemode to survival

           #set {replace.bloc.%player%} to block under the player
           #set {replace.bloc.loc.%player%} to location of block under the player
           #set block under the player to air


command /skystop:
   trigger:
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 10 secondes"
       wait 5 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 5 secondes"
       wait 1 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 4 secondes"
       wait 1 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 3 secondes"
       wait 1 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 2 secondes"
       wait 1 seconds
       broadcast "&eSkywars &b> &aLe serveur va s'etteindre dans 1 secondes"
       wait 1 seconds
       bungeecord connect player to "lobby2"
       delete {skywars.whitelist}
       delete {skywars.start}
       delete {lancement.game}
       delete {set.fait}
       set {skywars.nombre} to 0
       clear {game.joueur::*}
       clear {skywars.list}
       wait 1 seconds
       #execute console command "/restart"



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