Aller au contenu
LEZIKO

résolu ✔ Problème de crash de serveur lors de lancement de partie

Messages recommandés

Version de Minecraft : 1.16.5
Version de Skript : 2.6-beta3

Addons utilisés: RandomSK, Skellet, Skunity, TuSke

Type du skript : Skript loup garou de thiercelieux

Description du script :

Bonjour à tous , je fais aujourd'hui appel à vous car j'ai un gros problème avec mon skript loup garou.  J'ai fais une salle d'attente avec décompte, jusque là tout va bien puis lorsque la partie démarre le title de démarrage bug, les joueurs ne sont pas téléportés et le serveur crash ensuite je regarde la console qui me spam le message suivant: "[23:59:30] [Skript variable save thread/ERROR]: [Skript] Skript cannot save any variables to the database 'default'. The server will hang and may crash if no more variables can be saved.
[23:59:40] [Skript variable save thread/WARN]: [Skript] Cannot write variables to the database 'default' at sufficient speed; server performance may suffer and many variables will be lost if the server crashes. (this warning will be repeated at most once every 10 seconds)" donc la je ne comprends pas je peux également vous mettre sur youtube le bug que ça me fait à l'adresse suivante:  

 

 

je vous met également le code ici: 

#Loup garou type fantabobworld
#roles: sorcière, loup-garous, loup-garou alpha, prêtre, villageois, chasseur, voyante, cupidon, petite fille, le maire

on load:
    set {lg.maxplayers} to 5
    set {lg.minplayers} to 1
    set {lg.statue} to false

options:
    p: &7[LG] &8&l»&r
    timer_before_starting: 10
    start_in_message: &eLa partie commence dans &6%{_time}% &6seconde%{_pluriel}%&e.

command /alg [<text>] [<number>]:
    permission: admin.loupgarou
    permission message: "&cTu n'as pas la permission de faire cette action !" to player
    trigger:
        if arg 1 is "setwaitlobby":
            set {alg.setwaitlobby} to player's location
            send "&7[LG] &6Tu as ajouté le lobby du &7lg &6!" to player
        else if arg 1 is "setspawnspec":
            set {alg.setspawnspec} to player's location
            send "&7[LG] &6Tu as ajouté le spawn de specateur" to player
        else if arg 1 is "setspawn":
            set {setspawns.%arg 2%} to player's location
            send "&7[LG] &6Spawn %arg 2% ajouté" to player
        else if arg 1 is "delspawn":
            clear {setspawns.%arg 2%}
            send "&7[LG] &6Spawn %arg 2% supprimé" to player
        else if arg 1 is "debug":
            clear {lg.players::*}
            clear {setspawns.%arg 2%}
            send "&7[LG] &6debug" to player

        else:
            send "&7&m----------------------------------------------"
            send "&2/alg &asetwaitlobby &7| Permet de set une salle d'attente"
            send "&2/alg &asetspawnspec &7| Permet de set le spawn de spectateur"
            send "&2/alg &asetspawns &7| Permet de set le spawn des joueurs"
            send "&2/alg &adebug &7| Permet de debug"
            send "&7&m----------------------------------------------"


command /lg [<text>]:
    trigger:
        if arg 1 is "join":
            lg_join(player)
            set time to 01:00
        else if arg 1 is "leave":
            lg_leave(player)

function lg_join(p: player):
    if {lg.statue} is false:
        if {lg.maxplayers} > size of {lg.players::*}:
            if {lg.players::*} does not contain {_p}:
                add {_p} to {lg.players::*}
                send "{@p} &a%{_p}% &ea rejoint la partie ! &7(&e%size of {lg.players::*}%&7/&6%{lg.maxplayers}%&7)" to {lg.players::*}
                teleport {_p} to {alg.setwaitlobby}
                clear {_p}'s inventory
                set {_p}'s flight mode to false
                set {_p}'s gamemode to adventure
                if {_p} has permission "lg.admin":
                    set slot 0 of {_p} to feather named "&aForcer la partie à démarrer &7(Clique-droit)"
                set slot 8 of {_p} to barrier named "&cQuitter la partie &7(Clique-droit)"
                if size of {lg.players::*} >= {lg.minplayers}:
                    set {_time} to {@timer_before_starting}
                    while size of {lg.players::*} >= {lg.minplayers}:
                        set {_convert} to dac_convert_time({_time})
                        if {_time} = 30, 15, 10, 5, 4, 3, 2 or 1:
                            set {_pluriel} to "s"
                            if {_time} = 1:
                                set {_pluriel} to ""
                            send "{@p} {@start_in_message}" to {lg.players::*}
                        if {_time} = 5, 4, 3, 2 or 1:
                            loop all players:
                                if {lg.players::*} contains loop-player:
                                    send title "&c%{_time}%" with subtitle "&6seconde%{_pluriel}%" to loop-player for 0 second
                        if {_time} = 0:
                            lg_StartGame()
                        else:
                            remove 1 from {_time}
                            wait 1 second
                    send "{@p} &cIl n'y a pas assez de joueurs." to {lg.players::*}
            else:
                send "{@p} &cVous êtes déjà dans la partie." to {_p}
        else:
            send "{@p} &cLa partie est pleine." to {_p}
    else:
        send "{@p} &cLa partie a déjà commencé." to {_p}

function lg_leave(p: player):
    if {lg.statue} is false:
        if {lg.players::*} contains {_p}:
            remove {_p} from {lg.players::*}
            send "{@p} &c%{_p}% &ea quitté la partie ! &7(&e%size of {dac.players::*}%&7/&e%{dac.maxplayers}%&7)" to {lg.players::*}
            send "{@p} &cVous avez quitté la partie !" to {_p}
            teleport {_p} to {hub}
    else if {lg.statue} is true:
        if {lg.players::*} contains {_p}:
            remove {_p} from {lg.players::*}
            send "{@p} &4%{_p}% &ca quitté la partie." to {lg.players::*}
            if size of {lg.players::*} = 1:
                send "{@p} &9%{_p}% &ba déclaré forfait ! Vous gagnez donc la partie !" to {lg.players::*}
                teleport {lg.players::*} to {hub}
                teleport {lg.spectators::*} to {hub}
                teleport {_p} to {hub}
                set {lg.players::*}'s gamemode to adventure
                set {lg.spectators::*}'s gamemode to adventure
                set {lg.statue} to false
                clear {lg.players::*}
                clear {lg.spectators::*}
            send "{@p} &cVous avez quitté la partie." to {_p}
        else:
            send "{@p} &cVous n'êtes pas dans la partie !" to {_p}


function lg_StartGame():
    set {_number} to a random number between 1 and 2
    loop all players:
        teleport loop-player to {setspawns.%{_number}%}
        add {setspawns.%{_number}%} to {_lastposition}
        apply slowness 250 to loop-player for 999 days
        apply jump boost 250 to loop-player for 999 days
        apply blindness 250 to loop-player for 999 days
        send title "&cLa première nuit démarre" to loop-player
        set {lg.statue::*} to true


command /openmayerelection:
    trigger:
        lg_ElectionMayor()

function lg_ElectionMayor():
    set {VoteTimer} to now
    clear {vote::*}
    clear {VoteList::*}
    clear {mayor::*}
    loop all players:
        set {vote::%loop-player%} to false
    broadcast "{@p} &cL'élection du maire est ouverte ! &7( &f/votemaire Joueur &7)"

every 1 second:
    if difference between {VoteTimer} and now is more than 1 minutes:
        clear {VoteTimer}
        set {_sorted::*} to sorted {VoteList::*}
        set {_top} to last element out of {_sorted::*}
        if {_top} is not set:
            broadcast "{@p} Il n'y a eu aucun vote."
            stop
        loop {VoteList::*}:
            loop-value is {_top}
            if {_p} is set:
                broadcast " "
            set {_p} to loop-index
            add {_p} to {mayor::*}
        broadcast "{@p} Le nouveau maire est : %{_p}% avec %{_top}% votes."


command /votemaire <player>:
    trigger:
        if difference between {VoteTimer} and now is less than 2 minutes:
            if {vote::%player%} is false:
                add 1 to {VoteList::%arg-player%}
                set {vote::%player%} to true
                send "{@p} Vous vous avez voté pour &f%arg-1%"
            else:
                send "{@p} Tu as déjà voté."
        else:
            send "{@p} Il n'y a aucune élection en cours."

on chat:
    if {mayor::*} contain player:
        cancel event
        broadcast "&a&lMAIRE &a%player% &f» &7%message%"

on right click on sign:
    if line 1 is "&7[LG]":
        lg_join(player)


on quit:
    lg_leave(player)


function lg_loups(p: player):
    if {lg.statue} is true:
        loop all players:
            if {lg.liste::*} contains loop-player:
                make console execute command "/effect clear %loop-player%"
                send "{@p} &cA votre tour, tuez un villageois !" to loop-players
                wait 10 seconds
                set {lg.statue} to false
                if {lg.statue} is false:
                    teleport loop-player to {_lastposition}
                    apply slowness 250 to loop-player for 999 days
                    apply jump boost 250 to loop-player for 999 days
                    apply blindness 250 to loop-player for 999 days

on right click on player:
    loop all players:
        if {lg.liste::*} contains loop-player:
            set {_count} to 0
            add 1 to {_count}
            send "&c%player% &asouhaite tuer %clicked entity% (%{_count}% vote(s))"
        else if {lg.liste::*} contains clicked entity:
            send "&cTu ne peux pas tuer ton compère" to player
 

 

En espérant que vous arriverez à m'aider

Cordialement,

LEZIKO

Partager ce message


Lien à poster
Partager sur d’autres sites

Je t'invite a mettre ton code entre balise code

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Sinon je pense que ton probleme vient de la boucle infini qui lane le jeu quand tu appelle la fonction (lg_StartGame)

Partager ce message


Lien à poster
Partager sur d’autres sites
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.