Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 24/03/2018 dans toutes les zones

  1. Et oui, j'ai fait un chiffreur ROT (comme vous avez pu le voir sur discord). Par contre, je poste ici car j'ai la flemme de faire une présentation de ressource et tout. Brefffffff. Bon, le but de ce chiffreur est de chiffrer (merci captain obvious) une phrase/une chaine de caractères en ROT (Ou le chiffre de César, c'est la même chose.). Qu'est-ce que c'est? Je vous renvoie sur une page wikipédia : https://fr.wikipedia.org/wiki/Chiffrement_par_décalage. Aussi, cette fonction a une autre fonctionnalité, et c'est de chiffrer des chiffres via une formule mathématique. Je donnerais des exemples vers la fin de ce post pour que ce soit plus clair ;). La fonction avec tout ce qu'il faut pour qu'elle marche: [spoiler=Le code brut] [spoiler=Le code brut] [spoiler=Le code brut] [/size][/size][/size][/size][/size][/size][/size][/size][/size][/size] [size=1][size=4][size=1][size=4][size=1][size=4][size=1][size=4][size=1][size=4]function Chiffrage(t: text, l: text, f: text, p: player): if file "plugins/Skript/scripts/ChiffreurMSG.sk" doesn't exist: create file "plugins/Skript/scripts/ChiffreurMSG.sk" set {_t} to "%convert {_t} to uppercase%" set {_l::*} to {_l} split at "NbreLettres:" set {_l} to "%{_l::2}%" parsed as integer set {_msglist::*} to {_t} split at "" loop (size of {_msglist::*}) times: set {_f::*} to {_f} split at "Formule:" set {_msg} to {_msglist::%loop-value%} set {_nbre} to loop-value set {_msg} to "%{_msg}%" parsed as integer if {_msg} is an integer: replace all "x" with "%{_msg}%" in {_f::2} wf("on load:","plugins/Skript/scripts/ChiffreurMSG.sk") wf(" set {CFR} to (%{_f::2}%)","plugins/Skript/scripts/ChiffreurMSG.sk") execute console command "/sk reload ChiffreurMSG.sk" replace all "%{_msg}%" with "x" in {_f::2} wait 1 second if {_fullmsg} isn't set: set {_fullmsg} to "" set {_fullmsg} to "%{_fullmsg}%%{CFR}%" delete {CFR} else: loop 26 times: set {_groups::*} to groups 1 of "%{_t}%" matched to "([^a-zA-Z_])" if {_fullmsg} isn't set: set {_fullmsg} to "" loop (size of {_groups::*}) times: if "%{_msg}%" is "%{_groups::%loop-value-3%}%": set {_fullmsg} to "%{_fullmsg}%%{_msg}%" replace all "%{_msg}%%{_msg}%" with "%{_msg}%" in {_fullmsg} exit loop else: if {_msg} is "%{Alphabet::%loop-value-2%}%": set {_nbre2} to loop-value-2 if ({_nbre2} + {_l}) <= 0: set {_lettre} to (26+{_nbre2}+{_l}) replace all "-" with "" in {_lettre} set {_lettre} to {Alphabet::%{_lettre}%} else if ({_nbre2} + {_l}) > 26: set {_lettre} to (({_nbre2} + {_l}) - 26) set {_lettre} to {Alphabet::%{_lettre}%} else: set {_lettre} to ({_nbre2} + {_l}) set {_lettre} to {Alphabet::%{_lettre}%} set {_fullmsg} to "%{_fullmsg}%%{_lettre}%" exit loop if {_msg} is "A": set {_nbre2} to 1 if ({_nbre2} + {_l}) <= 0: set {_lettre} to (26+{_nbre2}+{_l}) replace all "-" with "" in {_lettre} set {_lettre} to {Alphabet::%{_lettre}%} else if ({_nbre2} + {_l}) > 26: set {_lettre} to (({_nbre2} + {_l}) - 26) set {_lettre} to {Alphabet::%{_lettre}%} else: set {_lettre} to ({_nbre2} + {_l}) set {_lettre} to {Alphabet::%{_lettre}%} set {_bckpfullmsg} to {_fullmsg} set {_fullmsg} to "%{_fullmsg}%%{_lettre}%" set {_nxt} to (loop-value-1+1) if "%{_msglist::%{_nxt}%}%" isn't "A": replace all "%{_lettre}%%{_lettre}%" with "%{_lettre}%" in {_fullmsg} else: set {_fullmsg} to "%{_bckpfullmsg}%[%{_lettre}%]" exit loop replace all "<none>" with "" in {_fullmsg} replace all "[" with "" in {_fullmsg} replace all "]" with "" in {_fullmsg} if file "plugins/Skript/Chiffrages.txt" doesn't exist: create file "plugins/Skript/Chiffrages.txt" wf("Chiffrage du %now% :","plugins/Skript/Chiffrages.txt") wf(" %{_fullmsg}%","plugins/Skript/Chiffrages.txt") wf(" Ecart des lettres: %{_l}%","plugins/Skript/Chiffrages.txt") wf(" Formule pour les chiffres: %{_f::2}%","plugins/Skript/Chiffrages.txt") wf(" Message original: %{_t}%","plugins/Skript/Chiffrages.txt") send "&aLe message chiffré a bien été généré." to {_p} send "&aSon emplacement est ""plugins/Skript/Chiffrages.txt"" " to {_p} function wf(s: string, file: string): #Merci à Syst3ms pour cette fonction :^) write {_s} at line (line count of file {_file} + 1) to file {_file} on load: if (size of {Alphabet::*}) = 0: set {Alphabet::*} to "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y" and "Z" on Skript stop: delete "plugins/Skript/scripts/TestChiffrage.sk" delete "plugins/Skript/scripts/ChiffreurMSG.sk" [spoiler=Le code sur hastebin car c'est plus joli] [spoiler=Le code sur hastebin car c'est plus joli] [spoiler=Le code sur hastebin car c'est plus joli] https://hastebin.com/ucohepawuw.vbs Voilà la fonction et tout ce qui sert à la faire marcher sans être user-friendly. Voici maintenant, la version user-friendly Yay :D. [spoiler=Le code brut encore :kappa:] [spoiler=Le code brut encore :kappa:] [spoiler=Le code brut encore :kappa:] [/size][/size][/size][/size][/size][/size][/size][/size][/size][/size] [size=1][size=4][size=1][size=4][size=1][size=4][size=1][size=4][size=1][size=4]function Chiffrage(t: text, l: text, f: text, p: player): if file "plugins/Skript/scripts/ChiffreurMSG.sk" doesn't exist: create file "plugins/Skript/scripts/ChiffreurMSG.sk" set {_t} to "%convert {_t} to uppercase%" set {_l::*} to {_l} split at "NbreLettres:" set {_l} to "%{_l::2}%" parsed as integer set {_msglist::*} to {_t} split at "" loop (size of {_msglist::*}) times: set {_f::*} to {_f} split at "Formule:" set {_msg} to {_msglist::%loop-value%} set {_nbre} to loop-value set {_msg} to "%{_msg}%" parsed as integer if {_msg} is an integer: replace all "x" with "%{_msg}%" in {_f::2} wf("on load:","plugins/Skript/scripts/ChiffreurMSG.sk") wf(" set {CFR} to (%{_f::2}%)","plugins/Skript/scripts/ChiffreurMSG.sk") execute console command "/sk reload ChiffreurMSG.sk" replace all "%{_msg}%" with "x" in {_f::2} wait 1 second if {_fullmsg} isn't set: set {_fullmsg} to "" set {_fullmsg} to "%{_fullmsg}%%{CFR}%" delete {CFR} else: loop 26 times: set {_groups::*} to groups 1 of "%{_t}%" matched to "([^a-zA-Z_])" if {_fullmsg} isn't set: set {_fullmsg} to "" loop (size of {_groups::*}) times: if "%{_msg}%" is "%{_groups::%loop-value-3%}%": set {_fullmsg} to "%{_fullmsg}%%{_msg}%" replace all "%{_msg}%%{_msg}%" with "%{_msg}%" in {_fullmsg} exit loop else: if {_msg} is "%{Alphabet::%loop-value-2%}%": set {_nbre2} to loop-value-2 if ({_nbre2} + {_l}) <= 0: set {_lettre} to (26+{_nbre2}+{_l}) replace all "-" with "" in {_lettre} set {_lettre} to {Alphabet::%{_lettre}%} else if ({_nbre2} + {_l}) > 26: set {_lettre} to (({_nbre2} + {_l}) - 26) set {_lettre} to {Alphabet::%{_lettre}%} else: set {_lettre} to ({_nbre2} + {_l}) set {_lettre} to {Alphabet::%{_lettre}%} set {_fullmsg} to "%{_fullmsg}%%{_lettre}%" exit loop if {_msg} is "A": set {_nbre2} to 1 if ({_nbre2} + {_l}) <= 0: set {_lettre} to (26+{_nbre2}+{_l}) replace all "-" with "" in {_lettre} set {_lettre} to {Alphabet::%{_lettre}%} else if ({_nbre2} + {_l}) > 26: set {_lettre} to (({_nbre2} + {_l}) - 26) set {_lettre} to {Alphabet::%{_lettre}%} else: set {_lettre} to ({_nbre2} + {_l}) set {_lettre} to {Alphabet::%{_lettre}%} set {_bckpfullmsg} to {_fullmsg} set {_fullmsg} to "%{_fullmsg}%%{_lettre}%" set {_nxt} to (loop-value-1+1) if "%{_msglist::%{_nxt}%}%" isn't "A": replace all "%{_lettre}%%{_lettre}%" with "%{_lettre}%" in {_fullmsg} else: set {_fullmsg} to "%{_bckpfullmsg}%[%{_lettre}%]" exit loop replace all "<none>" with "" in {_fullmsg} replace all "[" with "" in {_fullmsg} replace all "]" with "" in {_fullmsg} if file "plugins/Skript/Chiffrages.txt" doesn't exist: create file "plugins/Skript/Chiffrages.txt" wf("Chiffrage du %now% :","plugins/Skript/Chiffrages.txt") wf(" %{_fullmsg}%","plugins/Skript/Chiffrages.txt") wf(" Ecart des lettres: %{_l}%","plugins/Skript/Chiffrages.txt") wf(" Formule pour les chiffres: %{_f::2}%","plugins/Skript/Chiffrages.txt") wf(" Message original: %{_t}%","plugins/Skript/Chiffrages.txt") send "&aLe message chiffré a bien été généré." to {_p} send "&aSon emplacement est ""plugins/Skript/Chiffrages.txt"" " to {_p} function wf(s: string, file: string): #Merci à Syst3ms pour cette fonction :^) write {_s} at line (line count of file {_file} + 1) to file {_file} on load: if (size of {Alphabet::*}) = 0: set {Alphabet::*} to "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y" and "Z" on Skript stop: delete "plugins/Skript/scripts/TestChiffrage.sk" delete "plugins/Skript/scripts/ChiffreurMSG.sk" command /chiffrage [<text>]: trigger: if arg-1 is "cancel": if {ToChiffrage.%player's UUID%} isn't set: send "&cVous n'avez même pas commencé de chiffrage!" else: delete {ToChiffrage.%player's UUID%} send "&aVous avez bien annulé la demande de chiffrage!" else: if {ToChiffrage.%player's UUID%} isn't set: send "&aBienvenue. Pour chiffrer le message de votre choix, veuillez écrire le message à chiffrer dans le chat." send "&aPour annuler, veuillez faire la commande &6""/chiffrage cancel""&a." send "&c&lATTENTION! Les caractères spéciaux ne seront pas convertis, donc évitez d'utiliser des accents." set {ToChiffrage.%player's UUID%} to "ToSet" on chat: if {ToChiffrage.%player's UUID%} is "ToSet": cancel event set {ToChiffrage.%player's UUID%} to "%message%|SetLettres" send "&aVous avez bien défini le message à chiffrer. Le message à chiffrer sera:" send "&6%message%" send "&aVeuillez désormais mettre le nombre entier (négatif ou positif) pour les lettres..." send "&aSi vous mettez +5 par exemple, ""A"" sera transformé en ""F"". " send "&aEt si vous mettez -5, ""F"" sera transformé en ""A"". " else if {ToChiffrage.%player's UUID%} contains "SetLettres": cancel event set {_nbre} to "%message%" parsed as integer if ({_nbre}+1) = 1: send "&cVeuillez mettre un nombre entier non nul strictement inférieur à 26 et strictement supérieur à -26!" stop else if {_nbre} >= 26: send "&cVeuillez mettre un nombre entier non nul strictement inférieur à 26 et strictement supérieur à -26!" stop else if {_nbre} <= -26: send "&cVeuillez mettre un nombre entier non nul strictement inférieur à 26 et strictement supérieur à -26!" stop else: set {_t::*} to {ToChiffrage.%player's UUID%} split at "|" set {ToChiffrage.%player's UUID%} to "%{_t::1}%|NbreLettres:%message%|SetFormule" send "&aVous avez bien défini le chiffrage des lettres." send "&aPour définir le chiffrage des nombres, il va falloir faire la méthode suivante." send "&aEcrivez la formule avec des ""x"" pour définir où se trouvera le nombre à chiffrer." send "&c&lATTENTION! Veuillez utiliser les opérateurs de programmation!" send "&c&l""*"" pour la multiplication, ""^"" pour les puissances, ""/"" pour les divisions, le reste c'est comme en maths." send "&c&l10x n'est pas acceptable, alors que 10*x est acceptable!" send "&c&lSi vous mettez 10x et que 2 doit être chiffré, ça mettra juste 102 à la place de 20!" else if {ToChiffrage.%player's UUID%} contains "SetFormule": cancel event send "&cTest de la formule en cours..." set {_msg} to "%message%" loop 9 times: replace all "%loop-value%x" with "%loop-value%*x" in {_msg} set {_msgbackup} to "%{_msg}%" replace all "x" with "124563254125" in {_msg} if file "plugins/Skript/scripts/TestChiffrage.sk" doesn't exist: create file "plugins/Skript/scripts/TestChiffrage.sk" wf("on load:","plugins/Skript/scripts/TestChiffrage.sk") wf(" set {_t} to (%{_msg}%)","plugins/Skript/scripts/TestChiffrage.sk") wf(" set {_t} to ({_t}+1)","plugins/Skript/scripts/TestChiffrage.sk") wf(" if {_t} = 1:","plugins/Skript/scripts/TestChiffrage.sk") wf(" set {VerifChiffrage} to ""Failure""","plugins/Skript/scripts/TestChiffrage.sk") wf(" else:","plugins/Skript/scripts/TestChiffrage.sk") wf(" set {VerifChiffrage} to ""Success""","plugins/Skript/scripts/TestChiffrage.sk") execute console command "/sk reload TestChiffrage.sk" wait 1 second if {VerifChiffrage} is "Failure": send "&cVeuillez mettre une formule valide!" delete {VerifChiffrage} else: delete {VerifChiffrage} set {_t::*} to {ToChiffrage.%player's UUID%} split at "|" set {ToChiffrage.%player's UUID%} to "%{_t::1}%|%{_t::2}%|Formule:%{_msgbackup}%" set {_t::*} to {ToChiffrage.%player's UUID%} split at "|" set {_t::2} to "%{_t::2}%" parsed as integer delete {ToChiffrage.%player's UUID%} send "&cGénération du chiffrage..." Chiffrage("%{_t::1}%", "%{_t::2}%", "%{_t::3}%", player) [spoiler=Le code sur hastebin comme d'habitude] [spoiler=Le code sur hastebin comme d'habitude] [spoiler=Le code sur hastebin comme d'habitude] https://hastebin.com/ukafifivuf.vbs Voici un exemple en GIF, car on aime les gifs quand même Et ça donne ça : Voilà voilà :v
    5 points
  2. J'ai fais une requête à LimeGlass (car il a créer un système de packet incomplet avec Skellett) mais bon il faut qu'il accepte et qu'il le code, on en a pour un bout de temps :(
    1 point
  3. Sa serait bien car si on veut faire du coop on sera obliger de faire un claim a coter pour que cela fonctionne.
    1 point
  4. De rien, passe ton poste en résolu :)
    1 point
  5. Détails ➡ Consulter ce site dangereux. ➡ Il n'est pas dangereux, c'est le même que celui ou tu navigues actuellement.
    1 point
  6. Et qu'en tu reload le script ça fait quoi ?
    1 point
×
×
  • 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.