Aller au contenu
  • 0

Mon serveur crash.


Question

Posté(e)

Bonjour, je vais vous expliquer mon problème. J'ai 3 skripts sur le serveur, et quand des personnes se connecte ou quand on joue sur le serveur, tout un coup il se met à crash, on est toujours sur le serveur, mais on peux plus ecrire dans le chat et après un certains moments sa nous fait timed out.

 

J'espère que vous pourrez m'aider, voici les skripts.

 

Premier Skript :

 

command /plugins:
   trigger:
       send "&fPlugins (1): &aSkyDariaPlugins"

command /pl:
   trigger:
       send "&fPlugins (1): &aSkyDariaPlugins"

command /plugin:
   trigger:
       send "&fPlugins (1): &aSkyDariaPlugins"


command /help:
   trigger:
       send "&7----&6Help&7----"
       send " "
       send "&7/aide: &7Permet de se teleporter au warp aide !"
       send "&7/spawn: Permet de se teleporter au spawn !"
       send "&7/f: Permet d'ouvrir le menu Amis !"
       send "&7/is: Permet de se teleporter a ton île !"
       send "&7/pc (pseudo): Permet de voir le temps de connexion d'un Joueur !"
       send " "
       send "&7----&6Help&7----"

command /aide:
   trigger:
       make player execute command "/warp aide"

 

Deuxieme Skript :

 


on join:
   set join message to "&6%player% &7a rejoint le serveur !"

on quit:
   set quit message to "&6%player% &7a quitter le serveur !"

on first join:
   set slot 4 of player to a clock named "&6Menu"

on right click on clock:
   if player is in "world":
       if name of player's tool is "&aMenu":
           execute player command "/menu"



command /menu:
   trigger:
       wait 5 ticks
       open chest with 6 rows named "&6Menu" to player
       wait 5 ticks
       format slot 27 of player with white stained glass pane named "&6--" to close
       format slot 28 of player with white stained glass pane named "&6--" to close
       format slot 29 of player with white stained glass pane named "&6--" to close
       format slot 30 of player with white stained glass pane named "&6--" to close
       format slot 31 of player with white stained glass pane named "&6--" to close
       format slot 32 of player with white stained glass pane named "&6--" to close
       format slot 33 of player with white stained glass pane named "&6--" to close
       format slot 34 of player with white stained glass pane named "&6--" to close
       format slot 35 of player with white stained glass pane named "&6--" to close
       format slot 40 of player with bed named "&cSpawn !" to close then run [make player execute command "/spawn"]
       format slot 44 of player with ender chest named "&6Cosmétiques !" to close then run [make player execute command "/cosmetiques"]   
       format slot 53 of player with saddle named "&6Pets !" to close then run [make player execute command "/pets"]   
       format slot 45 of player with paper named "&6Informations !" to close then run [make player execute command "/infos"]   
       format slot 36 of player with gold ingot named "&6Boutique-En-Jeux !" to close then run [make player execute command "/boutique"]   



command /boutique:
   trigger:
       wait 5 ticks
       open chest with 1 rows named "&6Boutique-En-Jeux !" to player
       wait 5 ticks
       format slot 0 of player with white stained glass pane named "&6--" to close
       format slot 1 of player with white stained glass pane named "&6--" to close
       format slot 2 of player with white stained glass pane named "&6--" to close
       format slot 6 of player with white stained glass pane named "&6--" to close
       format slot 7 of player with white stained glass pane named "&6--" to close
       format slot 8 of player with white stained glass pane named "&6--" to close
       format slot 3 of player with dirt named "&6Packs !" to close then run [make player execute command "/boutiquepacks"]   
       format slot 4 of player with iron chestplate named "&6Grades !" to close then run [make player execute command "/boutiquegrades"]   
       format slot 5 of player with emerald named "&6Skycoins !" to close then run [make player execute command "/boutiqueskycoins"]   

command /boutiquepacks:
   trigger:
       wait 5 ticks
       open chest with 1 rows named "&6Grades !" to player
       wait 5 ticks
       format slot 0 of player with white stained glass pane named "&6--" to close
       format slot 2 of player with white stained glass pane named "&6--" to close
       format slot 4 of player with white stained glass pane named "&6--" to close
       format slot 6 of player with white stained glass pane named "&6--" to close
       format slot 8 of player with white stained glass pane named "&6--" to close
       format slot 1 of player with bricks block named "&cCharpentier" with lore "&7Prix: &b256 000" to close then run "/buycharpentier"
       format slot 3 of player with diamond named "&cMinerais" with lore "&7Prix: &b256 000" to close then run "/buyminerais"
       format slot 5 of player with glass bottle named "&cAlchimiste" with lore "&7Prix: &b800 000" to close then run "/buyalchimiste"
       format slot 7 of player with bottle o' enchanting named "&cEnchantement" with lore "&7Prix: &b200 000" to close then run "/buyenchantement"

command /boutiquegrades:
   trigger:
       wait 5 ticks
       open chest with 1 rows named "&6Packs !" to player
       wait 5 ticks
       format slot 0 of player with white stained glass pane named "&6--" to close
       format slot 2 of player with white stained glass pane named "&6--" to close
       format slot 3 of player with white stained glass pane named "&6--" to close
       format slot 4 of player with white stained glass pane named "&6--" to close
       format slot 5 of player with white stained glass pane named "&6--" to close
       format slot 6 of player with white stained glass pane named "&6--" to close
       format slot 8 of player with white stained glass pane named "&6--" to close
       format slot 1 of player with anvil named "&cForgeron" with lore "&7Prix: &b128 000" to close then run "/buyforgeron"
       format slot 7 of player with golden pickaxe named "&cMineur" with lore "&7Prix: &b256 000" to close then run "/buymineur"

command /buycharpentier:
   trigger:
       if player's balance is greater than 255000:
           remove 256000 from player's balance
           give 32 oak wood to player
           give 48 grass block to player
           give 32 stone to player
           give 64 cobblestone to player
           give 16 glowstone to player
           give 64 glass to player
           send "&7[&6SkyDaria&7] &7Vous avez acheter le pack &6Charpentier !"
       else:
           send "&7[&6SkyDaria&7] &7Vous n'avez pas assez de SkyCoins !"

command /buyminerais:
   trigger:
       if player's balance is greater than 255000:
           remove 256000 from player's balance
           give 15 gold ingot to player
           give 25 iron ingot to player
           give 7 diamond to player
           give 32 coal to player
           give 2 emerald to player
           send "&7[&6SkyDaria&7] &7Vous avez acheter le pack &6Minerais !"
       else:
           send "&7[&6SkyDaria&7] &7Vous n'avez pas assez de SkyCoins !"




command /cosmetiques:
   trigger:
       send "&7----&6Cosmétiques&7----"
       send " "
       send "&7Bientôt..."
       send " "
       send "&7----&6Cosmétiques&7----"

command /pets:
   trigger:
       send "&7----&6Pets&7----"
       send " "
       send "&7Bientôt..."
       send " "
       send "&7----&6Pets&7----"

command /infos:
   trigger:
       send "&7----&6Informations&7----"
       send " "
       send "&7Twitter: &6@SkyDariaMC"
       send "&7Discord: &6 https://discord.gg/DQz5bPH"
       send "&7Version: &62.0"
       send " "
       send "&7----&6Informations&7----"

 

Troisième :

options:

   header: &6[&7-----&7<&6PlayerConnection&7>&7-----&6]
   HelpMessageline1: &7/pc <joueur> : &7Voir le temps de connection d'un joueur !
   HelpMessageline2: &7/pc <joueur> reset : &7Réinitialiser le temps de connection d'un joueur !

   NoPermissionMessage: &7[&6SkyDaria&7] &7Vous n'avez pas la permission !

   ResetTime: &7Vous avez bien réinitialisé le temps de jeu de &6%{_player}%&7 ! &7(Il était connecté &6%{_hour}%&7h &6%{_minute}%&7min&7)
   ResetTimeWhileConnect: &7Il était connecté depuis &6%{_hour.last}%&7h &6%{_minute.last}%&7min.

   SeeTime: &6%{_player}% &7a été connecté &6%{_hour}%&7h &6%{_minute}%&7min.
   SeeTimeSinceLastConnection: &7Il est connecté depuis &6%{_hour.last}%&7h &6%{_minute.last}%&7min.

   SeeTimeAFK: &7AFK: &6%{_player}% &7a été AFK pendant &6%{_hour.afk}%&7h &6%{_minute.afk}%&7min en tout.
   SeeTimeAFKSinceLastConnection: &7AFK: &6%{_player}% &7a été AFK pendant &6%{_hour.afk.last}%&7h &6%{_minute.afk.last}%&7min depuis sa dernière connection.

   PlayerIsConnect: &6%{_player}% &7est actuellement &6connecté &7!
   PlayerIsNotConnect: &6%{_player}% &7est actuellement &6chors-ligne &7!

On join:
   set {playerconnection.afk.%player%} to false

   set {playerconnection.last.hour.%player%} to 0
   set {playerconnection.last.minute.%player%} to 0
   set {playerconnection.afk.last.hour.%player%} to 0
   set {playerconnection.afk.last.minute.%player%} to 0
   while player is online:
       if player has permission "playerconnection.calcultime":

           wait 60 seconds
           if {playerconnection.afk.%player%} is false:
               if {playerconnection.hour.%player%} is not set:
                   set {playerconnection.hour.%player%} to 0
               if {playerconnection.minute.%player%} is not set:
                   set {playerconnection.minute.%player%} to 0

               if {playerconnection.last.hour.%player%} is not set:
                   set {playerconnection.last.hour.%player%} to 0
               if {playerconnection.last.minute.%player%} is not set:
                   set {playerconnection.last.minute.%player%} to 0

               add 1 to {playerconnection.minute.%player%}
               if {playerconnection.minute.%player%} = 60:
                   set {playerconnection.minute.%player%} to 0
                   add 1 to {playerconnection.hour.%player%}

               add 1 to {playerconnection.last.minute.%player%}
               if {playerconnection.last.minute.%player%} = 60:
                   set {playerconnection.last.minute.%player%} to 0
                   add 1 to {playerconnection.last.hour.%player%}

           else:

               add 1 to {playerconnection.afk.minute.%player%}
               if {playerconnection.afk.minute.%player%} = 60:
                   set {playerconnection.afk.minute.%player%} to 0
                   add 1 to {playerconnection.afk.hour.%player%}

               add 1 to {playerconnection.afk.last.minute.%player%}
               if {playerconnection.afk.last.minute.%player%} = 60:
                   set {playerconnection.afk.last.minute.%player%} to 0
                   add 1 to {playerconnection.afk.last.hour.%player%}

command /playerconnection [<offline player>] [<text>]:
   aliases: pc, playerc, pconnection, playerco
   trigger:
       if player has permission "playerconnection.seetime":
           if arg 1 is set:

               set {_hour} to {playerconnection.hour.%arg 1%}
               set {_minute} to {playerconnection.minute.%arg 1%}
               set {_hour.last} to {playerconnection.last.hour.%arg 1%}
               set {_minute.last} to {playerconnection.last.minute.%arg 1%}
               set {_hour.afk} to {playerconnection.afk.hour.%arg-1%}
               set {_minute.afk} to {playerconnection.afk.minute.%arg-1%}
               set {_hour.afk.last} to {playerconnection.afk.last.hour.%arg-1%}
               set {_minute.afk.last} to {playerconnection.afk.last.minute.%arg-1%}
               set {_player} to arg-1

               if arg 2 is set:
                   if {playerconnection.hour.%arg 1%} is not set:
                       set {playerconnection.hour.%arg-1%} to 0

                   message "{@header}"
                   message "{@ResetTime}"

                   if arg-1 is online:
                       message "{@ResetTimeWhileConnect}"

                   wait a tick

                   set {playerconnection.hour.%arg-1%} to 0
                   set {playerconnection.minute.%arg-1%} to 0
                   set {playerconnection.last.hour.%arg-1%} to 0
                   set {playerconnection.last.minute.%arg-1%} to 0
                   set {playerconnection.afk.hour.%arg-1%} to 0
                   set {playerconnection.afk.minute.%arg-1%} to 0
                   set {playerconnection.afk.last.hour.%arg-1%} to 0
                   set {playerconnection.afk.last.minute.%arg-1%} to 0

               else:

                   message "{@header}"
                   message "{@SeeTime}"
                   if {playerconnection.afk.minute.%arg-1%} is not 0:
                       message "{@SeeTimeAFK}"
                   message " "
                   if arg-1 is online:
                       message "{@SeeTimeSinceLastConnection}"
                       if {playerconnection.afk.last.minute.%arg-1%} is not 0:
                           message "{@SeeTimeAFKSinceLastConnection}"
                       message " "
                       message "{@PlayerIsConnect}"
                   else:
                       message "{@PlayerIsNotConnect}"

           else:
               message "{@header}"
               message "{@HelpMessageline1}"
               message "{@HelpMessageline2}"

       else:
           message "{@NoPermissionMessage}"

on afk toggle:
   wait 1 second
   if player is afk:
       set {playerconnection.afk.%player%} to true
   else:
       set {playerconnection.afk.%player%} to false







 

Voila ! J'espère vraiment que vous pourrez m'aider =) Il n'y a aucune erreur quand je reload les skripts

5 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Salut,

 

Je pense que c'est cette partie qui fait crash. En effet il y a un while.

Seulement, si le joueur n'a pas la permission, le while s'execute en boucle sans delay.

 

Je pense que si tu retires cette partie de code, il n'y aura plus aucun problème.

 

[spoiler=Code]

On join:
   set {playerconnection.afk.%player%} to false

   set {playerconnection.last.hour.%player%} to 0
   set {playerconnection.last.minute.%player%} to 0
   set {playerconnection.afk.last.hour.%player%} to 0
   set {playerconnection.afk.last.minute.%player%} to 0
   while player is online:
       if player has permission "playerconnection.calcultime":

           wait 60 seconds
           if {playerconnection.afk.%player%} is false:
               if {playerconnection.hour.%player%} is not set:
                   set {playerconnection.hour.%player%} to 0
               if {playerconnection.minute.%player%} is not set:
                   set {playerconnection.minute.%player%} to 0

               if {playerconnection.last.hour.%player%} is not set:
                   set {playerconnection.last.hour.%player%} to 0
               if {playerconnection.last.minute.%player%} is not set:
                   set {playerconnection.last.minute.%player%} to 0

               add 1 to {playerconnection.minute.%player%}
               if {playerconnection.minute.%player%} = 60:
                   set {playerconnection.minute.%player%} to 0
                   add 1 to {playerconnection.hour.%player%}

               add 1 to {playerconnection.last.minute.%player%}
               if {playerconnection.last.minute.%player%} = 60:
                   set {playerconnection.last.minute.%player%} to 0
                   add 1 to {playerconnection.last.hour.%player%}

           else:

               add 1 to {playerconnection.afk.minute.%player%}
               if {playerconnection.afk.minute.%player%} = 60:
                   set {playerconnection.afk.minute.%player%} to 0
                   add 1 to {playerconnection.afk.hour.%player%}

               add 1 to {playerconnection.afk.last.minute.%player%}
               if {playerconnection.afk.last.minute.%player%} = 60:
                   set {playerconnection.afk.last.minute.%player%} to 0
                   add 1 to {playerconnection.afk.last.hour.%player%}

 

 

Essaye donc cela.

 

[spoiler=Code]

On join:
   set {playerconnection.afk.%player%} to false

   set {playerconnection.last.hour.%player%} to 0
   set {playerconnection.last.minute.%player%} to 0
   set {playerconnection.afk.last.hour.%player%} to 0
   set {playerconnection.afk.last.minute.%player%} to 0
   while player is online:
       if player has permission "playerconnection.calcultime":

           wait 60 seconds
           if {playerconnection.afk.%player%} is false:
               if {playerconnection.hour.%player%} is not set:
                   set {playerconnection.hour.%player%} to 0
               if {playerconnection.minute.%player%} is not set:
                   set {playerconnection.minute.%player%} to 0

               if {playerconnection.last.hour.%player%} is not set:
                   set {playerconnection.last.hour.%player%} to 0
               if {playerconnection.last.minute.%player%} is not set:
                   set {playerconnection.last.minute.%player%} to 0

               add 1 to {playerconnection.minute.%player%}
               if {playerconnection.minute.%player%} = 60:
                   set {playerconnection.minute.%player%} to 0
                   add 1 to {playerconnection.hour.%player%}

               add 1 to {playerconnection.last.minute.%player%}
               if {playerconnection.last.minute.%player%} = 60:
                   set {playerconnection.last.minute.%player%} to 0
                   add 1 to {playerconnection.last.hour.%player%}

           else:

               add 1 to {playerconnection.afk.minute.%player%}
               if {playerconnection.afk.minute.%player%} = 60:
                   set {playerconnection.afk.minute.%player%} to 0
                   add 1 to {playerconnection.afk.hour.%player%}

               add 1 to {playerconnection.afk.last.minute.%player%}
               if {playerconnection.afk.last.minute.%player%} = 60:
                   set {playerconnection.afk.last.minute.%player%} to 0
                   add 1 to {playerconnection.afk.last.hour.%player%}

wait 60 seconds

 

 

(Par contre pourquoi le while s'execute uniquement pour des joueurs ayant une permission ??)

 

Cordialement, Xamez

  • 0
Posté(e)

Non, c'est mon skript PlayerConnection, et le while ne peut pas faire crash vu qu'il y a un "wait 60 seconds"... (et chez moi et beaucoup d'autre personne le skript fonctionne).

Peut-être que je me trompe, mais pour vérifier, rajoute un tiret devant le nom du script pour le désactiver, puis reload (ou redémarre, c'est mieux) ton serveur, et regarde si ca crash encore. Si oui, le problème viens d'un autre script (fais la même technique avec les autres pour voir lequel pose problème), et si non, vraiment désolé que mon skript te fasse bug, mais je ne sais pas comment t'aider (à moins que tu ais un message d'erreur console) parce que tout fonctionne chez moi !

 

(Par contre pourquoi le while s'execute uniquement pour des joueurs ayant une permission ??)

Parce que comme ca on peut voir le temps de seulement certains joueur :p

https://skript-mc.fr/forum/resources/playerconnection-voir-le-temps-de-connection-dun-joueur.1334/

  • 0
Posté(e)

Oui c'étais ton skript qui faisait crasher le serveur, car quand je l'ai enlever, plus aucun crash. Merci à tous de m'avoir aider, je met en resolu :p

  • J'aime 1
×
×
  • 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.