Aller au contenu
  • 0

Mon serveur crashe quand je load le script...


Question

Posté(e)

Version de Minecraft : 1.20.4
Version de Skript : 2.8.4

Description du script :

Je suis débutant sur Skript, je cherche à faire un petit plugin de mini jeu, le skript est loin d'être fini mais pour l'instant je n'arrive même pas à faire fonctionner le prototype.
Pour l'instant il est simplement censer pouvoir sélectionner des joueurs participants à l'aide d'une commande puis lancer une partie.

Au début de la partie, les joueurs sont tp à des coordonnées avec juste un arc enchanté et des flèches apparaissent à certaines coordonnées, puis quand tous les joueurs sont morts sauf un, le round est terminé et un nouveau recommence jusqu'à ce qu'un joueur ait fait au moins 10 kills.

J'ai uploadé mon script sur le serveur, j'ai eu plein de problèmes de syntaxe que j'ai normalement résolus mais lorsque j'ai reload j'ai eu une immense erreur commençant par :

 

[16:03:40 ERROR]: --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH - git-Paper-365 (MC: 1.20.4) ---
[16:03:40 ERROR]: The server has not responded for 10 seconds! Creating thread dump
[16:03:40 ERROR]: ------------------------------
[16:03:40 ERROR]: Server thread dump (Look for plugins here before reporting to Paper!):
[16:03:40 ERROR]: ------------------------------
[16:03:40 ERROR]: Current Thread: Server thread


qui de ce que j'ai compris veut dire que mon script demande trop de ressource, à cause de quelque chose du genre une boucle sans fin mais je ne vois pas trop laquelle cela pourrait être...
 

Voilà mon script actuel :
 

command /bow <Text> [<Player>]:
	permission: bow.admin
	trigger: 
		if arg-1 is "launchgame":
			LaunchGame()
		if arg-1 is "addplayer":
			AddPlayer(arg-2)
		
#Evenements
on load:
	set {winnerScore} to 0
	set {spawnPos::*} to location at (-1465, 74, -2011) in world "Build", location at (-1465, 74, -1999) in world "Build", location at (-1459, 74, -2005) in world "Build", location at (-1471, 74, -2005) in world "Build", location at (-1461, 74, -2009) in world "Build", location at (-1469, 74, -2001) in world "Build", location at (-1461, 74, -2001) in world "Build", location at (-1469, 74, -2009) in world "Build"
	set {arrowPos::*} to location at (-1455, 74, -2004) in world "Build", location at (-1465, 74, -1994) in world "Build", location at (-1475, 74, -2004) in world "Build", location at (-1465, 74, -2014) in world "Build"
	set {isLaunched} to false
	set {contenders::*} to ""
	set {alive::*} to ""
	set {finalists::*} to "" 
	


#on Region Enter of vestiaire:
#	AddPlayer(player)

#on Region Leave of vestiaire:
#	RemovePlayer(player)

on death:
	if victim is in {contenders::*}:
		add 1 to {killCounter.%attacker%}
		if {killCounter.%attacker%} is more than {WinnerScore}:
			set {winner} to attacker
			set {winnerScore} to {killCounter.%attacker%}
		broadcast "%victim% est éliminé du round"
		remove player from {alive::*}
		if {isFinal} is true:
			EndRound()
		if size of {alive::*} is 1:
			broadcast "%player% remporte le round"
			EndRound()

#Fonctions

function AddPlayer(p: player):
	add {_p} to {contenders::*}
	set {killCounter.%{_p}%} to 0
	if size of {contenders::*} is more than 1:
		set {canLaunch} to true
			
function RemovePlayer(p: player):
	remove {_p} from {contenders::*}
	if size of {contenders::*} is less than 2:
		set {canLaunch} to false
			

function LaunchGame():
	loop {contenders::*}:
		set {_lp} to loop-value
		set {alive::%loop-index%} to loop-value
		teleport {_lp} to {spawnPos::%loop-index%}
		clear {_lp}'s inventory
		give 1 bow of unbreaking 3 and punch 2 to {_lp}
		set {_lp}'s walk speed to 0
	set {isLaunched} to true
	set {_countdown} to 10
	loop {_countdown} times:
		broadcast "%{_countdown}+1-loop-value%"
		wait 2 ticks
	loop {contenders::*}:
		set {_lp} to loop-value
		set {_lp}'s walk speed to 1
	broadcast "Début du match"
	ArrowSpawn()
	
function ArrowSpawn():
	While size of {alive::*} is more than 1 and {isLaunched} is true:
		Wait 2 seconds
		set {_pos} to a random number between 1 and size of {arrowpos::*}
		drop 1 arrow at {arrowpos::%{_pos}%}
			
function EndRound():
	set {isLaunched} to false
	if {WinnerScore} is more than 9:
		EndGame()
	else:
		LaunchGame()
		
			
function EndGame():
	if {isFinal} is true:
		set {isFinal} to false
		Victory()
	else:
		loop {contenders::*}:
			if {killCounter.%loop-index%} is {WinnerScore}:
				add {winner} to {finalists::*}
				add loop-index to {finalists::*}
		if size of {finalists::*} is more than 1:
			Finals()
		else:
			Victory()
		
function Finals():
	broadcast "FINALE !"
	set {isFinal} to true
	loop {finalists::*}:
		set {_lp} to loop-value
		teleport {_lp} to {@spawnPos::%loop-index%}
		clear {_lp}'s inventory
		give 1 bow of unbreaking 3 and punch 2 to {_lp}
		set {_lp}'s walk speed to 0
	set {isLaunched} to true
	set {_countdown} to 10
	loop {_countdown} times:
		broadcast "%{_countdown}+1-loop-value%"
		wait 2 ticks
	loop {finalists::*}:
		set {_lp} to loop-value
		set {_lp}'s walk speed to 1
	broadcast "Début du match"
	ArrowSpawn()
	
function Victory():
	broadcast "%{winner}% remporte la partie !"

Est-ce que quelqu'un aurait une idée ?

1 réponse à cette question

Messages recommandés

  • 0
Posté(e)

Salut, de ce que je vois le problème ne vient pas de ton code, ça doit très très probablement venir d'un plugin. Désactive le skript et regarde si il y a toujours le problème de crash. Si c'est le cas, c'est que tu as dû ajouter un plugin ou un addon qui est pas compatible avec tous tes plugins, si c'est pas le cas on verra

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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.