Aller au contenu

Soufreur78

Ancien
  • Compteur de contenus

    722
  • Inscription

  • Dernière visite

  • Jours gagnés

    27

Messages posté(e)s par Soufreur78

  1. Bonjour,

    Sais-tu coder en skript ? Au moins les bases ?

    Car il existe de nombreeeeeeeeeux skript de ce genre sur Skript-MC et SkUnity. Il suffirait d'en prendre 1 et l'adapter légèrement à tes besoins.

  2. Il y a 3 heures, Romitou a dit :

    Bonjour, à quelles situations skript-gui ne peut pas convenir ?

    Ce qu'il manque c'est la possibilité de modifier en temps réel le GUI d'un joueur. 
    Imaginons un code comme ça avec tuske. 

    command /test:
    	trigger:
    		open virtual chest with size 1 named "Mc-Skript" to player
    		while name of player's current inventory  is "Mc-Skript":
    			format gui slot 1 of player with stone named "%random integer between 1 and 100%" to do nothing
    			wait 1 second

    Typiquement dans un menu avec les différents jeu d'un serveur, les descriptions s'update toutes les X secondes afin de vérifier le nombre de joueur sur le serveur/si le serveur est toujours connecté etc... 

  3. Bonsoir, 

    Pour récupérer l'uptime :

    • Télécharge le plugin PlaceHolderAPI,
    • Télécharge l'addon  skript-placeholders
    • Redémarre le serveur
    • Fait "/papi ecloud download server
    • Puis "/papi reload"
    • Dans ton skript tu peux récupérer l'Uptime en faisant
    message "Uptime: %placeholder ""server_uptime""%"

     

    Pour le statut du serveur cela dépend de ta situation. Tu as un bungeecord avec plusieurs serveurs ? 

     

     

  4. Bonjour,

    Sans réponse de ta part j'ai réalisé le Skript comprenant une config permettant de mettre des paliers de levels avec des commandes à effectuer et des messages à envoyer au joueur.

    Je n'ai pas réalisé l'intégration d'une Base de donnée car il me faudrait + de détails. Je n'ai pas mis la commande pour changer l'xp des joueurs car le "/xp" vanilla le fait parfaitement.

    Addon: SkUtilities

    Le skript :

    options:
    	file: Server\plugins\Skript\scripts\Levels.yml
    	 
    on level up:
    	if skutil yaml value "Levels.%player's level%.Active" from file "{@file}" is true:
    		set {_cmd} to skutil yaml value "Levels.%player's level%.Commande" from file "{@file}"
    		set {_msg} to skutil yaml value "Levels.%player's level%.Message" from file "{@file}"
    		replace all "<player>" with "%player%" in {_cmd} and {_msg}
    		execute console command "%{_cmd}%"
    		replace all "&" with "§" in {_msg}
    		send {_msg} to player

    Le .yml :

    Levels:
      '5':
        Active: true
        Commande: /pex user <player> group set Chevalier
        Message: "&8[&6&l!&8] &aBravo tu as 5 levels, tu deviens Chevalier"
      '10':
        Active: true
        Commande: /give <player> diamond 1
        Message: "&8[&6&l!&8] &aBravo tu as 10 levels, tu gagnes un diamant"

     

  5. Bonjour, 

    J'ai découvert un petit truc sympa l'année dernière quand on veut récupérer ce genre d'informations.

    Tu utilises le plugin PlaceHolderAPI, dans la liste des placeholders on retrouve "Server" qui donne pas mal d'info sur le serveur dont la ram utilisée/max/restante. Il faut pas oublier de faire "/papi ecloud download server" puis "/papi reload" pour installer l'extension "server"

    Pour récupérer ces informations et les utiliser dans tes skripts il te faudra un addon skript-placeholders. Tu trouves la documention de l'addon ICI.

    Donc pour récupérer la ram tu peux faire :

    send "Ram utilisée: %placeholder ""server_ram_used""% / %placeholder ""server_ram_total""%"
    • Merci 1
  6. Bonjour @LQF_ByNow_,

    As-tu des erreurs quand tu reload le skript ?

    Sinon je ne comprends pas pourquoi tu passes par l'event "on respawn" puis par un "loop all players". 

    En théorie tu peux modifier le nombre de coeur du joueur au niveau de l'event "on death".

     

     

     

  7. Bonsoir, l'erreur du skript indique juste que tu ne peux pas utiliser "location" comme nom de fonction. Il suffit en théorie de changer le nom pour que tout roule.

    function locationB(x: number, y: number, z: number, w: text) :: location:
       set {_w} to "%{_w}%" parsed as world
       set {_loc} to position {_x}, {_y}, {_z} of the world {_w}
       return {_loc}
    
    command /open:
        trigger:
            set block at locationB(-158, 66, 191, world) to obsidian

     

  8. il y a 14 minutes, Spygain a dit :

    Beh content de voir que tu es la, y'aurait moyen de l'opti ou pas ? juste par curiosité ? Même si il marche très bien

    Ouai je repasse de temps en temps. C'est sympa de voir les différentes demandes. Je n'ai malheureusement plus le temps de me consacrer aux demandes d'aide/de skript alors que j'adorerais le faire à l'époque. Non franchement le skript est déjà bien bien opti. La seule chose que j'aurai modifié pour me faciliter la vie c'est au niveau de l'ajout des items. Le plus rapide c'est de placer un double coffre avec tous les items dedans et ensuite faire une petite commande qui va tout récupérer pour placer les objets dans la liste. Comme ça pas besoin d'écrire tous les noms d'objet dans le skript ^^

    • J'aime 1
  9. Bon puisque tout le monde parle pour rien dire je vais essayer de t'aider.

    J'avais fait une commande de ce genre il y a un bon moment. 

    J'ai réussi à isoler le maximum de faux positif, mais il peut toujours y en avoir donc ne te forge jamais l'idée qu'un type cheat à 100% avec ça. 

    Cela te permet juste de te conforter dans l'idée que quelqu'un cheat. Cela check le X, Y et Z.

    Tu dois juste set une zone bien plane pour effectuer les tests (/antikb set)

     

    on load:
    	delete {AntiKb::*}
    	
    command /AntiKb [<offlineplayer>]:
    	permission: mod.use
    	permission message: &cVous n'avez pas la permission d'utiliser cette commande
    	trigger:
    		if arg 1 is not set:
    			message "&7[&cAntiKb&7] &cVeuillez saisir le nom du joueur &7(&c/Antikb <nom>&7)"
    		else if arg 1 is "set":
    			set {AntiKb.Point} to player's location
    			message "&7[&cAntiKb&7] &cPosition set"
    		else if arg 1 is not online:
    			message "&7[&cAntiKb&7] &cLe joueur &e%arg 1% &cn'est pas en ligne"
    		else if {AntiKb::%arg 1%} is not set:
    			if tps < 18.5:
    				message "&7[&cAntiKb&7] &cLe serveur lag trop pour le moment"
    			else if arg 1's ping > 100:
    				message "&7[&cAntiKb&7] &cLe joueur lag trop pour le moment &7(&eMs: %arg 1's ping%&7)"
    			else:
    				set {AntiKb::%arg 1%} to "oui"
    				
    				set {_loc.%arg 1%} to arg 1's location
    				teleport arg 1 to {AntiKb.Point}
    				set {_loc1.%arg 1%} to arg 1's location
    				
    				push arg 1 upwards at speed 1.5
    				wait 4 tick
    				push arg 1 east at speed 2.1
    				wait 4 tick
    				push arg 1 north at speed 2.1
    				
    				wait 13 ticks
    				
    				set {_loc2.%arg 1%} to arg 1's location
    	
    				teleport arg 1 to {_loc.%arg 1%}
    				
    				if difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%} < 5:
    					if difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%} < 3:
    						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &4TRES SUSPECT &7(&4%difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%}% &4en Y&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    					else if difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%} < 3.5:
    						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &cSUSPECT &7(&c%difference between y-coordinate of {_loc1.%arg 1%} and y-coordinate of {_loc2.%arg 1%}% &cen Y&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    				else if difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%} < 4.5:
    					if difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%} < 3:
    						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &4TRES SUSPECT &7(&4%difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%}% &4en X&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    					else if difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%} < 4.5:
    						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &cSUSPECT &7(&c%difference between x-coordinate of {_loc1.%arg 1%} and x-coordinate of {_loc2.%arg 1%}% &cen X&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    				else if difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%} < 4.5:
    					if difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%} < 3:
    						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &4TRES SUSPECT &7(&4%difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%}% &4en Z&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    					else if difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%} < 4.5:
    						message "&7[&cAntiKb&7] &e%arg 1% &7&l» &cSUSPECT &7(&c%difference between z-coordinate of {_loc1.%arg 1%} and z-coordinate of {_loc2.%arg 1%}% &cen Z&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    				
    				
    				else if distance between {_loc1.%arg 1%} and {_loc2.%arg 1%} > 4:
    					message "&7[&cAntiKb&7] &e%arg 1% &7&l» &aBON &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    				else if distance between {_loc1.%arg 1%} and {_loc2.%arg 1%} > 1:
    					message "&7[&cAntiKb&7] &e%arg 1% &7&l» &cSUSPECT &7(&c%distance between {_loc1.%arg 1%} and {_loc2.%arg 1%}%&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    				else if distance between {_loc1.%arg 1%} and {_loc2.%arg 1%} < 1.01:
    					message "&7[&cAntiKb&7] &e%arg 1% &7&l» &4TRES SUSPECT &7(&4%distance between {_loc1.%arg 1%} and {_loc2.%arg 1%}%&7) &7(&cMs: &e%arg 1's ping% &8| &cTPS: &e%tps%)"
    				delete {AntiKb::%arg 1%}
    		else:
    			send "&7[&eMod&7] &c%player% est déjà testé" 
    		


     

     

     

     

     

     

  10. Quand un bloc est posé, le nom assigné ne donne plus rien.

    Tu ne pourras donc pas différencier les blocs de feuille posés avec un nom.

    • Haha 1
  11. C'est un bug bien connu de SkQuery.

    2 solutions:

    • Utiliser les expressions guis de Tuske qui est beaucoup moins buggé, et plus fonctionnel.
    • Utiliser un evaluate pour régler ce bug. 

     

    Pour utiliser le evaluate tu dois faire :

    evaluate "format slot %{_report}% of player with loop-player's skull named ""&f%loop-player%"" with lore ""||&eLe joueur a été report pour &6&l%{motif.%loop-player%}%|| ||&7Je vous rapelle que le joueur a été report||&7Par un autre joueur, Ce n'est donc pas||&7Sur que ce joueur cheat."" to run [make player execute command ""/reportlist joueur %loop-player%""]"

     

  12. Si j'ai bien compris tu souhaites que seul les joueurs en ligne puissent apparaître dans le menu topluck mais que les variables ne soient jamais delete ? 

    Si oui, voici le code

    command /topluck [<offlineplayer>]:
    	trigger:
    		if arg 1 is not set:
    			open virtual chest with size 6 named "&4Topluck" to player
    			loop {Topluck.Diamond::*}:
    				if loop-index parsed as offlineplayer is online:
    					set {_copie::%loop-index%} to loop-value
    			set {_nbonline} to size of {_copie::*}
    			loop size of {_copie::*} times:
    				if loop-number > 53:
    					stop loop
    				set {_n} to -1
    				clear {_p} 
    				loop {_copie::*}:
    					if {_copie::%loop-index%} > {_n}:
    						set {_n} to {_copie::%loop-index%}
    						set {_p} to loop-index
    				add {_p} to {_ListP::*} 
    				add {_n} to {_ListN::*} 
    				clear {_copie::%{_p}%}
    			loop {_nbonline} times:
    				if loop-number > 53:
    					stop
    				if {Topluck.Alert::%{_ListP::%loop-number%}%} is not set:
    					set {_Alert} to 0
    				else:
    					set {_Alert} to {Topluck.Alert::%{_ListP::%loop-number%}%}
    				format gui slot (loop-number -1) of player with skull of "%{_ListP::%loop-number%}%" parsed as offline player named "&c%{_ListP::%loop-number%} parsed as offlineplayer%" with lore "||&8&l» &cPourcentage: &e%{Topluck.Diamond::%{_ListP::%loop-number%}%}%%%||||&8&l» &cAlerte(s): &e%{_alert}%||||&2&l» &aClique pour plus d'info" to close then run player command "/topluck %{_ListP::%loop-number%} parsed as offlineplayer%"
    		else:
    			if {Topluck.Alert::%arg 1's UUID%} is not set:
    				set {_Alert} to 0
    			else:
    				set {_Alert} to {Topluck.Alert::%arg 1's UUID%}
    			message "&7[&6TopLuck&7] &c%arg 1% &8&l» &e%{Topluck.Diamond::%arg 1's UUID%}%&e%% &8&l» &e%{_Alert}%&ex"
    			message "&cJe ne sais pas exactement ce que tu voulais faire ici :)"

     

    • J'aime 1
    • Haha 1
  13. Bonjour, voila ton code. 

    Il me manque une partie de ton système pour le pourcentage et les alertes donc je te laisse adapter le code à ton système. 

    Il faudra juste que ta variable avec le pourcentage soit rédigée de cette forme {Topluck.Diamond::%player's UUID%}. Utiliser une variable liste permet ensuite de la loop facilement pour faire le classement. La variable pour l'alerte comme ceci {Topluck.Alert::%player's UUID%}
    Je ne sais pas si tu souhaites que le pourcentage ne compte que pour la session en cours (le temps qu'il reste connecté) ou qu'il compte pour toujours. 

    Dans mon code j'ai fait en sorte qu'il se reset aprés chaque déconnexion. Je te laisse supprimer la partie en question si tu veux l'inverse.
     

    command /topluck [<offlineplayer>]:
    	trigger:
    		if arg 1 is not set:
    			open virtual chest with size 6 named "&4Topluck" to player
    			loop {Topluck.Diamond::*}:
    				set {_copie::%loop-index%} to loop-value
    			loop size of {_copie::*} times:
    				if loop-number > 53:
    					stop loop
    				set {_n} to -1
    				clear {_p} 
    				loop {_copie::*}:
    					if {_copie::%loop-index%} > {_n}:
    						set {_n} to {_copie::%loop-index%}
    						set {_p} to loop-index
    				add {_p} to {_ListP::*} 
    				add {_n} to {_ListN::*} 
    				clear {_copie::%{_p}%}
    			loop size of {Topluck.Diamond::*} times:
    				if loop-number > 53:
    					stop
    				if {Topluck.Alert::%{_ListP::%loop-number%}%} is not set:
    					set {_Alert} to 0
    				else:
    					set {_Alert} to {Topluck.Alert::%{_ListP::%loop-number%}%}
    				format gui slot (loop-number -1) of player with skull of "%{_ListP::%loop-number%}%" parsed as offline player named "&c%{_ListP::%loop-number%} parsed as offlineplayer%" with lore "||&8&l» &cPourcentage: &e%{Topluck.Diamond::%{_ListP::%loop-number%}%}%%%||||&8&l» &cAlerte(s): &e%{_alert}%||||&2&l» &aClique pour plus d'info" to close then run player command "/topluck %{_ListP::%loop-number%} parsed as offlineplayer%"
    		else:
    			if {Topluck.Alert::%arg 1's UUID%} is not set:
    				set {_Alert} to 0
    			else:
    				set {_Alert} to {Topluck.Alert::%arg 1's UUID%}
    			message "&7[&6TopLuck&7] &c%arg 1% &8&l» &e%{Topluck.Diamond::%arg 1's UUID%}%&e%% &8&l» &e%{_Alert}%&ex"
    			message "&cJe ne sais pas exactement ce que tu voulais faire ici :)"
    
    on break:
    	if event-block is diamond ore:
    		add 1 to {Topluck.Diamond::%player's UUID%}
    		
    on quit:
    	delete {Topluck.Diamond::%player's UUID%}
    	delete {Topluck.Alert::%player's UUID%}
    	
    on join:
    	set {Topluck.Diamond::%player's UUID%} to 0

     

    • J'aime 2
  14. Bonsoir, c'est bien l'une des premières fois ou je demande de l'aide, mais cette fois je bloque.

    J'essai de faire un tracker de position directionnel comme l'on peut voir sur ce screen 1543962351-1.png

    C'est souvent utilisé en UHC pour montrer ou sont nos coéquipiers.

    Pour la distance entre les 2 joueurs c'est évidemment pas un problème.
    Le soucis viens de la direction. La flèche peut être dans 8 positions différentes. Autre exemple : 1543962352-2.png

    Je pense qu'il faut utiliser les degrés d'orientation du joueur -> player's yaw 

    Mais après j'arrive pas à trouver une solution pour savoir si le joueur regarde dans la direction de l'autre joueur ou alors qu'il regarde à droite, à gauche, ou à l'opposé de cette direction. 

    Si jamais quelqu'un a une idée. 

    Plusieurs recherches du coté français et anglais n'ont rien donné. 

    A moi si quelqu'un a les icônes des 8 flèches je veux bien ?

     

    Merci.

     

  15. Je vais te donner la solution :)

     

    Mets :

    execute console command "tellraw %loop-player% [{""text"":""&b%victim% &eà été tuer par &b%attacker% &eavec ""},{""text"":""&a[%name of tool of attacker%&a]"",""hoverEvent"":{""action"":""show_text"",""value"":""%attacker's tool%""}}]"

     

    Et non pas :

    execute console command "tellraw %loop-player% ["""",{""text"":""&b%victim% &eà été tuer par &b%attacker% &eavec ""},{""text"":""&a[%name of tool of attacker%&a]"",""hoverEvent"":{""action"":""show_text"",""value"":""%attacker's tool%""}}]"
    

     

    Le site http://minecraft.tools/fr/tellraw.php a un bug car il rajoute """"", et cela ne marche plus

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