Aller au contenu

Skripting

Ancien
  • Compteur de contenus

    2 087
  • Inscription

  • Dernière visite

  • Jours gagnés

    70

Skripting a gagné pour la dernière fois le 14 février 2023

Skripting a eu le contenu le plus aimé !

6 abonnés

À propos de Skripting

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

Skripting's Achievements

Superstar

Superstar (9/9)

  • Super populaire
  • Première discussion
  • Une semaine plus tard
  • Un mois plus tard
  • Un an plus tard

Recent Badges

582

Réputation sur la communauté

  1. Et mais... il est un peu revenu, je savais pas 😮

    Salut Psy

  2. Skripting

    Problème d'ouverture de menu

    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!"
  3. Vous saviez qu'il était possible de remplacer tous ses add-ons par skript-mirror ? Vous saviez aussi que le créateur de cet add-on n'est autre que celui de skQuery ?

    1. KaraDev

      KaraDev

      je savais pour les deux, mais tout remplacer par sk-mirror ça prendrait du temps non ?

       

  4. Maintenant il y a des concours chaque semaine ?

    1. Vengelis_

      Vengelis_

      Pas chaque semaine mais au moins une fois par moi

    2. Skripting

      Skripting

      Ok je vais peut-être essayer de profiter du temps des vacances pour participer à un concours.

  5. Tu ajoutes les 10 joueurs à une liste, puis ensuite tu fais ça : set {_player} to a random player out of {players::*}
  6. Skripting

    Aide - TimeSpans

    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}
  7. Skripting

    Aide - TimeSpans

    Tu as exécuté quoi comme commande exactement ?
  8. Skripting

    Aide - TimeSpans

    Par défaut, quand tu mets "second", Skript prend ça pour 1 seconde. Si tu mets, par exemple, "20 seconds", ça marchera.
  9. 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>.
  10. 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>
  11. Skripting

    Exit sections

    loop integers between 35 and size of {ta.liste::*}: broadcast "%{ta.liste::%loop-integer%}%"
  12. join: give skull of ("%player%" parsed as an offline player") to player
  13. 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.
  14. C'est pas skellett c'est tuske xD.
  15. 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.
×
×
  • 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.