Aller au contenu

Skripting

Ancien
  • Compteur de contenus

    2087
  • Inscription

  • Dernière visite

  • Jours gagnés

    70
  • Crédits

    0 [Faire un don]

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

Skripting a eu le contenu le plus aimé !

Réputation sur la communauté

605 The Master Chief Of Reputation !

À propos de Skripting

  • Rang
    That's it!

Visiteurs récents du profil

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

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

    Salut Psy

  2. 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. 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. Tu as exécuté quoi comme commande exactement ?
  8. 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. 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.