Classement
Contenu populaire
Affichage du contenu avec la meilleure réputation le 04/07/2018 dans Messages
-
Bonjour, aujourd'hui je vous partage ma dernière création en Skript : un algorithme Soundex Merci de laisser le commentaire avec mon nom avant la fonction si vous l'utiliser dans votre code. Vous pouvez aussi me citer sur le post si vous êtes quelqu'un de gentil Il est très important d'avoir SkUtilities et skQuery pour que la fonction marche ! Qu'est ce que l'algorithme Soundex ? L'algorithme Soundex est un algorithme phonétique d'indexation de noms par prononciations (merci Wikipedia). En gros, il va transformer les mots en chiffres selon certains critères, et permettra ainsi de reconnaitre deux mots proches, deux mots qui ont une correspondance entre eux malgré des différences dans l'écriture. Il est utilisé par beaucoup de sites, du moins est repris par beaucoup de sites (moteurs de recherches, etc.). Je prefère vous le partager plutôt que le voir copier coller depuis mes futurs skripts qui l'utiliseront. L'algorithme L'algorithme Soundex est plutôt simple à comprendre. Je vais le décrire grossièrement, si vous voulez le voir en détail, rendez-vous ici. (le wikipedia anglais indique les exceptions et les règles, alors que la page française non) On retire les espaces, les voyelles (dont celles anglaises), et les lettres doublées puis on met le mot en majuscule On garde la première lettre On attribue un numéro à chaque lettre que l'on a encore sauf la première On garde seulement 3 chiffres, ou bien on ajoute des 0 pour avoir 3 chiffres On met la première lettre suivi des trois chiffres, voilà. Prenons par exemple le mot "Comment" COMMENT CMMNT CMNT M = 5, N = 5, T = 3 C553 La personne écrit mal le mot, et écrit "Cament" CAMENT CMNT M = 5, N = 5, T = 3 C553 Même code, donc mot proche Exceptions Il y a néanmoins quelques exceptions. L'algorithme les respecte parfaitement ! Si 3 chiffres sont les même de suite dans le code final, on en garde qu'un seul. C'est à dire que si 3 lettres avec le même chiffre se suivent, on en garde qu'une. Par exemple, "Jackson" ne donne pas pas "A222" mais "A250" Si deux lettres avec le même chiffre sont séparés d'un H ou d'un W, il n'y a qu'un chiffre et pas deux. Par exemple, "Ashcraft" n'est pas "A226" mais "A261" Le code, la fonction, l'algorithme donc pour l'utiliser, il suffit de faire soundex("text") et cela retournera un code. Par exemple "set {var} to soundex("salut")" Le code expliqué Utilisation théorique Vous allez sûrement vous dire "ok mais je fais quoi de cette fonction". Exemple théorique Il suffit de comparer ce que retourne la fonction pour un terme, et pour l'autre. On peut comparer 'soundex("salut")' et 'soundex("solut")', on aura le même code. Exemple command /money <text>:[/size][/size] [size=5][size=4] trigger: if arg 1 is not "remove": if soundex("remove") is soundex(arg 1): send "The command is /money remove and not /remove %arg 1% :)" Corrige la commande /money remove Il y a des tonnes de choses à faire avec cela ! Des corrections, des anti-spam développés, pleins de trucs ! A vous de voir maintenant... Si vous avez besoin d'aide n'hésitez pas à me demander, et n'hésitez pas non plus à lâcher un petit j'aime et un commentaire si vous aimez l'algorithme. Polymeth.1 point
-
Bonsoir @maxou45400, afin de faciliter la gestion des discussions et de permettre une recherche plus facile des demandes d'aide résolues, je vais devoir vous demander de créer une discussion par demande. Ce topic est désormais verrouillé. Bonne soirée. ?1 point
-
1 point
-
Et il faudrait que tu lui dise les mondes pour le GUI ? Je vais faire le scoreboard en attendant ?1 point
-
Le premier je ne le ferai pas car j'aime pas les scoreboard sur skript, mais pour les autres j'ai juste quelque question : pour le truc de position tu veux juste que quand un joueur se co il ai la position de l'endroit où il s'est déco ? Le bateau je vais essayer mais pas sur... Sac à dos, perso je veux faire un skript complet et configurable donc ça va prendre du temps, sinon si y'a d'autres personne près à le faire pas de problème et Menu gui je vais te faire ça ^^, mais il faut que tu me dise a quel monde tu veux que ça tp !!1 point
-
Voilà ! Pour la région, skript est un peu bugué donc pas sur que ca fonctionne... J'ai mis ce que tu as demandé en options donc c'est facilement customisable ? options: min.x: -10000 max.x: 10000 min.z: -10000 max.z: 10000 avoid: air or water block or lava block or stone block or sandstone block or mossy cobblestone block or dirt block perm: rtp cooldown: 2 minute region: Spawn cout: 500 Command /rtp: permission: {@perm} trigger: set {_waited} to difference between {rtp.%player%.lastused} and now if {_waited} is less than {@cooldown}: message "&f&lEbelion&6&lTP : &cTu dois attendre %difference between {@cooldown} and {_waited}% pour refaire ceci." stop if player's balance >= {@cout}: if "%region at player%" is "{@region}": remove {@cout} from player's balance send "&f&lEbelion&6&lTP : &eTéléportation en cours de chargement." to player wait 1 second apply resistance 100 to player for 6 seconds wait 1 tick set {_loc::old} to player's location while player's location is {_loc::old}: set {_loc::new} to location at random number between {@min.x} and {@max.x}, 0, random number between {@min.z} and {@max.z} loop blocks above {_loc::new}: if loop-block and block above loop-block are air: if block under loop-block is not {@avoid}: set {_loc::new} to location of loop-block teleport player to {_loc::new} stop loop wait 10 ticks set {rtp.%player%.lastused} to now else: message "&cTu n'es pas dans ""{@region}""" else: message "&cIl te faut au moins {@cout}$ !"1 point
-
Voilà ! on join: if {alreadyjoin::%player%} is not set: set {alreadyjoin::%player%} to true broadcast "Bienvenue à %player% sur Eriacraft ! (%size of {alreadyjoin::*}%ème inscrit !)"1 point
-
Une mise à jour est sorti sur celle-ci, donc je te conseil plutôt de prendre le Build 6 si cela t’intéresse ^^' :1 point
-
Sinon tu as aussi le plugin AntiPlugin : https://v1.skript-mc.fr/resources/230/1 point
-
Toujours pareil et même message d'erreur je comprend pas du tout : Pour skellet pas moyen n'a pas de apply pour potion enfin j'en est pas trouvé . Quelqu'un a une autre idee ?1 point
-
En effet l'argent peut-être un problème, mais ce n'est pas le premier "facteur", les serveurs ferment généralement car manque de motivation, manque de gestion, de développeur... C'est vrai que celà devient rare des projets qui réussissent comme ça par magie à tenir, il faut forcément une bonne communication, un peu d'argent de côté et surtout de la patience. De mon côté, je suis administrateur d'un serveur entre 30 et 50 connectés, c'est peu je suis autant d'accord que vous, mais nous sommes très organisé et nous ne risquons pas de fermer (surtout au vu de l'argent gagné). Si un serveur est bien organisé, que les admins sont honnêtes, il n'y a aucune raison que votre serveur ne fonctionne pas. Donc en effet créer un serveur peut-être une perte d'argent comme en gagner, mais je pars du principe que nous devrions laisser la chance à tout le monde de pouvoir lancer son serveur. Même si 98% des projets partiront à la "poubelle" au bout de 2 mois. Après, rien n'empêche au staff de par exemple "épingler" des serveurs ouvert depuis longtemps, afin de prouver leur "fiabilité". Mais bon, celà demande du travail ^^' bon courage si vous le mettez en place. Cordialement,1 point
-
Je suis d'accord avec vous ce serait cool. Mais tu as oublié la principale cause de l'abandon des projets : l'argent !! Beaucoup de jeunes (moi le premier) se lancent dans un projet sans savoir quels coût ça représente ni même savoir que c'est payant.... (Le serveur, certains plugin, des teams de dev/build, le site (hébergement/confection/CMS...), Le ts3 pour les retardés etc)1 point
-
Salut, depuis pas mal de temps j'aime bien créer des petits skripts qui font en sortent que les citizens prennent des "décisions" eux-même sans notre aide. Ce petit bout de skript permet que le npc se déplace aléatoirement et en faisant quelques pauses. Cela peut être utile sur des serv RP pour ajouter de l'animation, mais plus on en rajoute, plus ça lag. Alors attention :p every 15 seconds: loop all entities: if loop-entity is "Citoyen": if {chemin.%loop-entity%} isn't set: set {chemin.%loop-entity%} to true loop blocks in radius 15 around loop-entity: if block above loop-block is air: set {_block} to block above loop-block if block above block at {_block} is air: if block below loop-block isn't air: add loop-block's location to {_possibilites::*} set {_random} to a random element out of {_possibilites::*} move citizen 4 to {_random} at speed 1 wait 4 seconds delete {chemin.%loop-entity%} Il suffit de changer "if loop-entity is "Citoyen":" par le nom de votre npc, et de remplacer "move citizen 4 to {_random} at speed 1" par le numéro du npc. Voila, si jamais ça peut aider certaines personnes ^^ N'hésitez pas à proposer des idées d'optimisation car c'est sûrement pas au top.1 point
-
Bonjour / bonsoir je poste dans cette rubrique pour une skript de totem je m'explique en gros il y aurai 3 commandes : /totem create <Nom> /totem start <Nom> /totem remove <Nom> Et je voudrais que quand on fasse / totem create <Nom> sa ajoute l'argument 2 a une list et que sa set un endroit de spawn de block de quartz comme celui de pactify et que tout les 30 minutes un totem aléatoire dans ma list de totem create sa start un totem et que il y est un compte a rebour de 5 minutes au bout de 5 minutes 5 block de quartz spawn verticalement et qu'il faut une épée en diams pour le casser sinon sa dit que on peux pas le casser et pour le /totem remove <Nom> et / totem start <Nom> : poir le remove : sa supprime l'argument 2 de la list et pour le start sa commençe un totem aléatoire si on met pas de nom précis alor que si on précise un nom sa start le totem que l'on a choisis Merci d'avance1 point
-
Uneo a dit non. Si nous avons l'occasion d'en rediscuter avec le staff on verra mais nous restons sur un avis négatif0 point
