-
Compteur de contenus
2087 -
Inscription
-
Dernière visite
-
Jours gagnés
70 -
Crédits
0 [Faire un don]
Type de contenu
Profils
Forums
Téléchargements
Downloads Plus Support
module__dplus_manager
Tout ce qui a été posté par Skripting
-
Salut. Tu peux retirer skQuery de ton serveur, il ne sert pas beaucoup. Tu peux créer des menus sans compléments : command /menu: executable by: players trigger: open a chest inventory with 6 rows named "Mon menu" to the player set the slot 0 of the player's current inventory to a diamond on inventory click: if the name of the clicked inventory is "Mon menu": cancel the event if the clicked slot is a diamond: close the player's inventory make player execute command "/say Hi!"
-
résolu [Résolu] Choisir un joueur aléatoire
Skripting a répondu à un sujet de Katana_ninja dans Résolus
Tu ajoutes les 10 joueurs à une liste, puis ensuite tu fais ça : set {_player} to a random player out of {players::*} -
Essaye ça (pour bannir un joueur : /ban <joueur> <temps> <raison> ; pour le pardonner : /pardon <joueur>) : function timeInFrench(time: timespan) :: text: set {_texts::*} to split {_time} by " " set {_number.1} to {_texts::1} parsed as a number set {_number.1} to rounded {_number.1} set {_text.1} to {_texts::2} if {_texts::3} is set: set {_number.2} to {_texts::4} parsed as a number set {_number.2} to rounded {_number.2} set {_text.2} to {_texts::5} loop 2 times: if {_number.%loop-value%} is set: set {_character} to first character of {_text.%loop-value%} if {_character} is "s": if {_number.%loop-value%} < 2: set {_text.%loop-value%} to "seconde" else: set {_text.%loop-value%} to "secondes" else if {_character} is "m": if {_number.%loop-value%} < 2: set {_text.%loop-value%} to "minute" else: set {_text.%loop-value%} to "minutes" else if {_character} is "h": if {_number.%loop-value%} < 2: set {_text.%loop-value%} to "heure" else: set {_text.%loop-value%} to "heures" else if {_character} is "d": if {_number.%loop-value%} < 2: set {_text.%loop-value%} to "jour" else: set {_text.%loop-value%} to "jours" if {_number.2} is not set: set {_time} to "%{_number.1}% %{_text.1}%" else: set {_time} to "%{_number.1}% %{_text.1}% et %{_number.2}% %{_text.2}%" return {_time} command /ban [<offline player>] [<text>] [<text>] [<text>]: executable by: players and console trigger: if sender is a player: if player is not an op: send "Tu n'as pas la permission requise." stop if argument 1 is not set: send "Tu dois préciser un joueur." else: set {_player} to argument 1 if player is {_player}: send "Tu ne peux pas te bannir toi-même." else if {_player} has not already played before: send "Ce joueur ne s'est jamais connecté." else: set {_uuid} to UUID of {_player} if {banned.%{_uuid}%} is true: set {_difference} to difference between now and {banishment.%{_uuid}%.date} if {_difference} is less than {banishment.%{_uuid}%.time}: send "Ce joueur est déjà banni." stop if argument 2 is not set: send "Tu dois préciser une durée." else if argument 2 parsed as a number is not set: send "La durée n'a pas été écrite correctement." else if argument 3 is not set: send "La durée n'a pas été écrite correctement." else: set {_time} to "%argument 2% %argument 3%" parsed as a timespan if {_time} is not set: send "La durée n'a pas été écrite correctement." else if argument 4 is not set: send "Tu dois préciser une raison." else: set {banned.%{_uuid}%} to true set {banishment.%{_uuid}%.date} to now set {banishment.%{_uuid}%.time} to {_time} set {banishment.%{_uuid}%.reason} to {_reason} set {_time} to timeInFrench({_time}) if {_player} is online: kick {_player} due to "Tu as été banni pendant %{_time}% pour ""%{_reason}%""." send "Le joueur ""%{_player}%"" a été banni pendant %{_time}% pour ""%{_reason}%""." command /pardon [<offline player>]: executable by: players and console trigger: if sender is a player: if player is not an op: send "Tu n'as pas la permission requise." stop if argument 1 is not set: send "Tu dois préciser un joueur." else: set {_player} to argument 1 if player is {_player}: send "Tu n'es pas sanctionné..." else: set {_uuid} to UUID of {_player} if {banned.%{_uuid}%} is not set: send "Ce joueur n'est pas sanctionné." else: set {_difference} to difference between now and {banishment.%{_uuid}%.date} if {_difference} is more than {banishment.%{_uuid}%.time}: send "Ce joueur n'est pas sanctionné." else: clear {banned.%{_uuid}%} clear {banishment.%{_uuid}%.date} clear {banishment.%{_uuid}%.time} clear {banishment.%{_uuid}%.reason} send "Le joueur ""%{_player}%"" a été pardonné." on connect: set {_uuid} to UUID of player if {banned.%{_uuid}%} is true: set {_difference} to difference between now and {banishment.%{_uuid}%.date} if {_difference} is less than {banishment.%{_uuid}%.time}: set {_reason} to {banishment.%{_uuid}%.reason} set {_remaining.time} to difference between {_difference} and {banishment.%{_uuid}%.time} set {_remaining.time} to timeInFrench({_remaining.time}) kick player due to "Tu as été banni pour ""%{_reason}%"". Temps restant : %{_remaining.time}%." else: clear {banned.%{_uuid}%} clear {banishment.%{_uuid}%.date} clear {banishment.%{_uuid}%.time} clear {banishment.%{_uuid}%.reason}
-
Tu as exécuté quoi comme commande exactement ?
-
Par défaut, quand tu mets "second", Skript prend ça pour 1 seconde. Si tu mets, par exemple, "20 seconds", ça marchera.
-
Les subroutines a des avantages et des défauts tout comme les fonctions. Avantages des subroutines : - Plus simple pour les débutants. - Peuvent être déclarés avant leurs utilisations. - Peuvent être utilisés comme des événements (peut aussi se faire en fonction mais ça sera complexe pour les utilisateurs). Défauts des subroutines : - Ne peuvent pas renvoyer de valeur. - Pour invoquer des subroutines avec des listes en paramètres, c'est pas évident. Faut d'abord récupérer la taille de la liste, puis ensuite récupérer la liste en question : command /messageop <text>: trigger: set {_operators::*} to players where [player input is op] invoke "message op" from player, arg, size of {_operators::*} and {_operators::*} sub "message op": loop integers between 4 and parameter 3: add parameter loop-integer to {_operators::*} send "[Chat des opérateurs] %parameter 1% : %parameter 2%" to {_operators::*} Avantages des fonctions : - Peuvent renvoyer des valeurs. - Peuvent prendre des listes en paramètres facilement. Défauts des fonctions : - Doivent être déclarées avant leurs utilisations. - Elles ne marcheront pas si elles ont paramètres null. Exemple : function test(text: text) :: boolean: broadcast {_text} return true command /test: trigger: set {_test} to test({_variable}) send "%{_test}%" Comme la variable {_variable} n'existe pas, au lieu que la fonction renvoie true, elle renverra <none>.
-
command /setchat <integer> <text>: trigger: set {chat.%arg 2%.location} to player's location set {chat.%arg 2%.ray} to arg 1 {areas::*} where [arg 2 is text input] isn't set add arg 2 to {areas::*} chat: loop {areas::*}: distance between {chat.%loop-value%.location} and player <= {chat.%loop-value%.ray} set {_zone} to loop-value exit loop {_zone} is set cancel event send "[Zone %{_zone}%] %player% : %message%" to players where [distance between {chat.%{_zone}%.location} and player input <= {chat.%{_zone}%.ray}] # Utilisation : /SetChat <Rayon> <Nom de la zone>
-
loop integers between 35 and size of {ta.liste::*}: broadcast "%{ta.liste::%loop-integer%}%"
-
join: give skull of ("%player%" parsed as an offline player") to player
-
Ahaha tu m'as bien fait rire toi. Essaye ce code : command /guiskquery: trigger: set {_list::*} to "A", "B", "C", "D", "E" and "F" open chest with 6 rows named "&aLettres." to player wait 2 ticks loop {_list::*}: add 1 to {_slot} format slot ({_slot} - 1) of player with a stick named "&b%loop-value%" to run [send "&a%loop-value%"] command /guituske: trigger: set {_list::*} to "A", "B", "C", "D", "E" and "F" open virtual chest inventory with size 6 named "&aLettres." to player loop {_list::*}: add 1 to {_slot} set {_value} to loop-value make a gui slot ({_slot} - 1) of player with a stick named "&b%{_value}%" to run: send "&a%{_value}%" Puis une fois sur ton serveur, fais /guiskquery. T'auras un magnifique GUI avec les lettres A, B, C, D, E et F. Essaye de cliquer sur toutes cettes lettres. Que se passe-t-il ? Ah mince y a toujours la lettre F qui s'affiche. Mais si tu fais /guituske, et que tu cliques sur une lettre, t'auras dans le chat la même lettre que ce soit A, B, C, D, E ou F. On voit c'est qui le petit maintenant.
-
Quand un joueur click sur un certain slot avec un item
Skripting a répondu à un sujet de jogoldirus dans Résolus
C'est pas skellett c'est tuske xD. -
Oui y a toutes les versions. La seule fonctionnalité que WildSkript qui peut rendre service c'est son write file. Sinon oui il peut être remplacer par Skellett/SkUtilities.
-
Utilise mon pack d'add-ons disponible dans ma signature. Je te conseille aussi TuSKe pour les GUI et non SkQuery car les GUI de SkQuery bug un peu. Tu as un tutoriel sur les GUI de TuSKe par @Syst3ms ici > [Contenu masqué]
-
Je suis conscient et j'ai vérifié avant si les développeurs des add-ons qui sont dans le pack utilisaient des liens adfly ou pas.
-
Et si on édite le fichier YAML manuellement faut bien un moyen de recharger la configuration et c'est là que ça va laguer :c.
-
command /attack <player>: trigger: teleport arg to player wait 3 seconds kill arg
-
Executer une fonction avec un GUI (SkQuery)
Skripting a répondu à un sujet de ThePanda10 dans Résolus
Il voulait le faire avec SkQuery mais sinon je l'aurais cité ton tutoriel qui est bien car il comprend la V2 de l'addon. -
Très bon tutoriel mais > [Contenu masqué] :c.
-
Faut juste retirer le function : format slot 0 of player with hay bale to run [Vente(player)]
-
Executer une fonction avec un GUI (SkQuery)
Skripting a répondu à un sujet de ThePanda10 dans Résolus
Tu peux faire avec SkQuery : format slot 17 of player with Tripwire Hook named "&bRécompense: &3100 Crédits" to run [taFonction(tesArguments)] -
La première variable est une variable normale. Elle ne peut contenir qu'une seule donnée. Les variables qui terminent par "::*" sont des listes. Elle peuvent contenir plusieurs données. L'expression "[all] items in %inventories%" est une expression qui renvoie une liste (car il y a plusieurs items dans l'inventaire du joueur). Tu as plus d'infos ici en français > [Contenu masqué]. Et là en anglais > [Contenu masqué].
-
C'est déjà inclus dans Bukkit^^. Si tu te dé-op et que t'essayes de faire /<tab> tu auras accès uniquement aux commandes auxquelles tu possèdes la permission.
-
Euh j'ai pas mis de lien ADFly et j'ai jamais touché à ce truc. C'est un lien MediaFire.