Aller au contenu

Nashoba

Ancien
  • Compteur de contenus

    682
  • Inscription

  • Dernière visite

  • Jours gagnés

    20

Tout ce qui a été posté par Nashoba

  1. Nashoba

    TeamSkript

    Version 1.0.0

    33 downloads

    TeamSkript est un addon pour Skript permettant un support de TeamSpeak. Code source: https://github.com/Nashoba24/TeamSkript Exemples: https://github.com/Nashoba24/WolvSK/blob/master/examples/teamspeak.sk Tester si un client est en ligne (teamspeak|ts[3]) %client% is online Tester si l'addon est connecté au serveur TeamSpeak [the] addon is connect[ed] to (teamspeak|ts[3]) L'id d'un client (teamspeak|ts[3]) id of %client% La description d'un client (teamspeak|ts[3]) description of %client% L'ip d'un client (teamspeak|ts[3]) ip of %client% Les clients dont l'ip correspond à celle dans le code (teamspeak|ts[3]) [client[s]] correspond[ing][s] to ip %text% (teamspeak|ts[3]) ip[s] correspond[ing][s] to %text% Le nom ou surnom d'un client (teamspeak|ts[3]) (nickname|nick|name) of %client% Les clients connectés (teamspeak|ts[3]) clients Récupérer un objet du type %client% client %text% Se connecter à un serveur TeamSpeak (Le premier %text% est l'ip du ts, le deuxième est le nom du bot, le troisième est le nom du compte pour les query et le quatrième est le mot de passe de ce compte) (teamspeak|ts[3]) [server] [debug] connect to %text% with user %text% and (login|credentials) %text%, %text% [on query port %integer%] Se déconnecter du serveur TeamSpeak (teamspeak|ts[3]) [server] disconnect Broadcaster un message (message global) sur le TeamSpeak (teamspeak|ts[3]) [server] [send] broadcast [message] %text% Kicker un client (teamspeak|ts[3]) [server] kick %client% (due to|because) %text% [from server] Tempban un client (bannir temporairement) (teamspeak|ts[3]) [server] tempban %client% (due to|because) %text% for %integer% second[s] Bannir un client (teamspeak|ts[3]) [server] ban %client% (due to|because) %text% Poker un client (envoyer un poke) (teamspeak|ts[3]) [server] poke %client% with (message|msg) %text% Envoyer un message privé à un client (teamspeak|ts[3]) [server] [send] (private|pv) (message|msg) %text% [to] %client% Déplacer un client de channel (teamspeak|ts[3])[ server] move %client% to channel[ with id] %integer% Client client
  2. Nashoba

    TwitterSK

    Version 1.0.2

    21 downloads

    Code source: https://github.com/Nashoba24/TwitterSK Exemples: https://github.com/Nashoba24/WolvSK/blob/master/examples/twitter.sk Obtenir les identifiants Étape 1: Aller sur ce lien: https://apps.twitter.com/app/new et créer une nouvelle application avec le nom, la description et le site que vous voulez Étape 2: Aller sur https://apps.twitter.com/, cliquer sur l'application et cliquer sur l'onglet "Keys and Access Tokens" Étape 3: Vous pouvez sur cette page obtenir la "consumer key" et la "consumer secret key". Ensuite vous devez créer des tokens d'accès (c'est en bas de la page). Étape 4: Vous pouvez faire la même chose que l'exemple suivant pour vous connecter: https://github.com/Nashoba24/WolvSK/blob/master/examples/twitter.sk Documentation: https://docs.skunity.com/syntax/search/addon:twittersk,twittersk
  3. Nashoba

    [Ressources]TeamSkript

    View File TeamSkript TeamSkript est un addon pour Skript permettant un support de TeamSpeak. Code source: https://github.com/Nashoba24/TeamSkript Exemples: https://github.com/Nashoba24/WolvSK/blob/master/examples/teamspeak.sk Tester si un client est en ligne (teamspeak|ts[3]) %client% is online Tester si l'addon est connecté au serveur TeamSpeak [the] addon is connect[ed] to (teamspeak|ts[3]) L'id d'un client (teamspeak|ts[3]) id of %client% La description d'un client (teamspeak|ts[3]) description of %client% L'ip d'un client (teamspeak|ts[3]) ip of %client% Les clients dont l'ip correspond à celle dans le code (teamspeak|ts[3]) [client[s]] correspond[ing][s] to ip %text% (teamspeak|ts[3]) ip[s] correspond[ing][s] to %text% Le nom ou surnom d'un client (teamspeak|ts[3]) (nickname|nick|name) of %client% Les clients connectés (teamspeak|ts[3]) clients Récupérer un objet du type %client% client %text% Se connecter à un serveur TeamSpeak (Le premier %text% est l'ip du ts, le deuxième est le nom du bot, le troisième est le nom du compte pour les query et le quatrième est le mot de passe de ce compte) (teamspeak|ts[3]) [server] [debug] connect to %text% with user %text% and (login|credentials) %text%, %text% [on query port %integer%] Se déconnecter du serveur TeamSpeak (teamspeak|ts[3]) [server] disconnect Broadcaster un message (message global) sur le TeamSpeak (teamspeak|ts[3]) [server] [send] broadcast [message] %text% Kicker un client (teamspeak|ts[3]) [server] kick %client% (due to|because) %text% [from server] Tempban un client (bannir temporairement) (teamspeak|ts[3]) [server] tempban %client% (due to|because) %text% for %integer% second[s] Bannir un client (teamspeak|ts[3]) [server] ban %client% (due to|because) %text% Poker un client (envoyer un poke) (teamspeak|ts[3]) [server] poke %client% with (message|msg) %text% Envoyer un message privé à un client (teamspeak|ts[3]) [server] [send] (private|pv) (message|msg) %text% [to] %client% Déplacer un client de channel (teamspeak|ts[3])[ server] move %client% to channel[ with id] %integer% Client client Submitter Nashoba Submitted 24/06/2018 Category Add-ons  
  4. Nashoba

    WolvSK (1.8-1.13.1)

    Version 1.6.2

    16 downloads

    WolvSK? Qu'est ce que c'est? WolvSK est un addon open source qui ajoute plusieurs fonctionnalité (voir juste après). Vous pouvez voir le code source ici: https://github.com/Nashoba24/WolvSK/ Fonctionnalités Documentation complète: https://docs.skunity.com/syntax/search/addon:wolvsk,wolvsk ASkyBlock: Documentation Essentials: Documentation GuardiamBeamAPI: Documentation Maths: Valeur absolue, racine cubique, degrés en radian (et inversement), exponentielle et logarithme en base quelconque, pi, moyenne, médiane... Mini-jeux (créez des mini-jeux facilement): Documentation et voir ci-dessous Divers: GUI avec des enclumes, cooldowns, pays d'un joueur, version d'un joueur, aléatoire, contrôle des véhicules, specter une entité... PlayerPoints: Documentation pvparena: Documentation SuperTrails: Documentation
  5. Nashoba

    [Ressources]WolvSK (1.8-1.13.1)

    View File WolvSK (1.8-1.13.1) WolvSK? Qu'est ce que c'est? WolvSK est un addon auquel j'ajoute vos propositions ou mes idées pour supporter plus de plugins et vous simplifier la vie. Le projet est open source, vous pouvez donc voir le code ici: https://github.com/Nashoba24/WolvSK/ /!\ Twitter et Teamspeak ne sont plus dans cet addon depuis la 1.5.0. Pour les utiliser, vous pouvez trouver 2 addons à part: TwitterSK: TeamSkript: Fonctionnalités Pour déchiffrer le code à utiliser pour vos Skript, je vous rappelle que ce qui est entre parenthèses est obligatoire et ce qui est entre crochet ( [ et ] ) est facultatif. Pour ce qui est des signes |, ils signifient "ou", c'est à dire que vous pouvez utiliser le code que vous voulez d'un coté ou de l'autre de ce signe. Pour finir, ce qui est entre % et % est le type d'objet à faire apparaître. Pour les fonctionnalités, vous pouvez également aller sur le wiki de mon Github: https://github.com/Nashoba24/WolvSK/wiki/ ASkyBlock Quand un joueur fait une coopération [on] asb coop join Quand un joueur quitte une coopération [on] asb coop leave Quand un joueur entre dans une île [on] asb [island] enter Quand un joueur quitte une île [on] asb [island] exit Quand le niveau d'une île change [on] asb [island] level [change] Quand une nouvelle île est créée [on] asb new [island] Quand une île est reset (remise à zéro) [on] asb reset [island] Si un joueur a une île %player% has [a[n]] (asb|askyblock) island Si un joueur est dans un team (équipe) %player% (has|is in) [a[n]] (asb|askyblock) team Si un joueur est en coopération %player% is (asb|askyblock) coop Si il y a une île à un endroit there is [a[n]] (asb|askyblock) island at %location% Calculer le niveau d'un île (le mettre à jour) asb calculate level of %player% Emplacement du home (maison) d'un joueur sur son île (asb|askyblock) home [location] of %player% (asb|askyblock) %player%['s] home [location] Nombre d'îles générées (asb|askyblock) island count Niveau de l'île d'un joueur (asb|askyblock) [island] level of %player% (asb|askyblock) %player%['s] [island] level Emplacement de l'île d'un joueur (asb|askyblock) island [location] of %player% (asb|askyblock) %player%['s] island [location] Nom de l'île d'un joueur (asb|askyblock) island name of %player% (asb|askyblock) %player%['s] island name Monde où sont les îles (asb|askyblock) [island] world Propriétaire de l'île à un emplacement (asb|askyblock) owner of island at %location% (asb|askyblock) island at %location% owner Warp d'un joueur (asb|askyblock) warp of %player% (asb|askyblock) %player%['s] warp Île en coopération d'un joueur (asb|askyblock) coop island[s] of %player% (asb|askyblock) %player%['s] coop island[s] Leader de la team (équipe) d'un joueur (asb|askyblock) [team] leader of team of %player% (asb|askyblock) %player%['s] [team] leader Membres de la team (équipe) d'un joueur (asb|askyblock) [team] members of team of %player% (asb|askyblock) %player%['s] team members Top 10 des îles (asb|askyblock) top (ten|10) Essentials Quand l'argent d'un joueur change [on] [user] (balance|money) (update|change) Quand un joueur devient afk ou n'est plus afk [on] afk [status] (change|toggle) Si un joueur est afk %player% is afk Si un joueur est en god mode (mode dieu) %player% is [in] god [mode] Si un joueur est vanish %player% is vanish[ed] Homes d'un joueurs (maisons) homes of %player% %player%['s] homes Emplacement de la maison spécifiée d'un joueur (ou par défaut) home [%text%] of %player% %player%['s] home [%text%] Emplacement de la déconnexion d'un joueur log[ ]out [location] of %player% %player%['s] log[ ]out [location] Si un joueur peut construire essentials %player% can build Si un joueur peut interagir en vanish %player% can interact vanish Si un joueur à un home [/code]%player% ha(s|ve)[ a[n]] home[/code] Si un joueur a un powertool %player% ha(s|ve) powertool[s] Si un joueur ignore un autre joueur %player% (ignore|is ignoring) %player% Si un joueur est jail %player% is jail[ed] Si un joueur est mute %player% is mute[d] Si un joueur un powertool d'activé %player% ha(s|ve) powertool[s] enable[d] Si un joueur a activé le social spy %player% ha(s|ve) social spy[ enable[d]] Supprimer un home d'un joueur delete home %string% of %player% Faire qu'un joueur devienne afk ou non "make %player% become afk make %player% become (no afk|active) Faire qu'un joueur devienne un dieu ou non make %player% become god disable god[ mode] for %player% Faire qu'un joueur en ignore un autre ou non make %player% ignore %player% make %player% (doesn't ignore|unignore) %player% Jail un joueur ou l'unjail jail %player% unjail %player% Muter ou non un joueur mute %player% unmute %player% Activer le social spy pour un joueur ou non enable social spy for %player% disable social spy for %player% Vanish un joueur ou non vanish %player% unvanish %player% Envoyer un mail à un joueur send mail %string% to %player% Le jail d'un joueur jail of %player%[code=lua] [code=lua]%player%['s] jail Le temps avant qu'un jail se finisse Maths Valeur absolue d'un nombre abs[olute] [value of ]%number% Racine cubique d'un nombre (cube root|cbrt) of %number% Radians en degrés %number% rad[ian[s]][ converted] (to|in) deg[ree[s]] Degrés en radians %number% deg[ree[s]][ converted] (to|in) rad[ian[s]] Exponentielle exp[onential][ of] %number% Exponentielle en base a exp[onential] %number% in base %number% exp[onential] in base %number% of %number% Logarithme en base a log[arithm] %number% in base %number% log[arithm] in base %number% of %number% Le nombre pi (15 décimales: 3,141592653589793) pi Moyenne d'une liste de nombres average of %numbers% Médiane d'une liste de nombres median of %numbers% La vitesse de la lumière (299792458m.s-1) speed of[ the] light light['s] speed Minigames Un mini-jeu contient des arènes. Pour gérer les mini-jeux il faut utiliser la commande /minigames et pour les arènes il faut utiliser la commande personnalisée du mini-jeu. Pour les arènes vous pouvez créer des panneaux avec en première ligne le prefix du mini-jeu entres crochets et le nom de l'arène en deuxième ligne. Voici un exemple de mini-jeu fait avec l'addon (vraiment basique): https://github.com/Nashoba24/WolvSK/blob/master/examples/minigames - hg.sk Quand une arène s'arrête [on] arena stop Quand une arène démarre [on] arena start Quand un joueur rejoint une arène [on] [player] arena join Quand un joueur quite une arène [on] [player] arena leave Quand le countdown d'une arène change [on] arena countdown [change] Si un joueur est dans une arène %player% is in (a[n] arena|[a] game) Si un joueur est dans une arène spécifique %player% is in %arena% Si une arène a démarré %arena% is started Créer un mini-jeu create [a] (minigame|mg) [named] %text% with (command|cmd) %text% and prefix %text% Démarrer une arène start %arena% Arrêter une arène stop %arena% Faire qu'un joueur rejoint une arène make %player% join %arena% Faire qu'un joueur quitte l'arène dans laquelle il est make %player% leave [current] arena Créer une arène create [a[n]] arena [named] %text% with min[imum] [player[s]] %integer%(,| and) max[imum] [player[s]] %integer% (for|in) %minigame% Envoyer un message global dans une arène broadcast [message] %string% in %arena% Récupérer un mini-jeu grâce à son nom minigame %text% Récupérer tous les mini-jeux [all] minigames Le mini-jeu dans lequel est un joueur [current] minigame of %player% %player%['s] [current] minigame Le nom d'un mini-jeu name of minigame %minigame% minigame %minigame%['s] name Toutes les arènes d'un mini-jeu [all] arenas of %minigame% %minigame%['s] arenas Récupérer une arène grâce à son nom et son mini-jeu arena %text% in %minigame% %minigame%['s] arena %string% L'arène dans laquelle est un joueur [current] arena of %player% %player%['s] [current] arena La commande d'un mini-jeu command of %minigame% %minigame%['s] command Le prefix d'un mini-jeu prefix of %minigame% %minigame%['s] prefix Le lobby d'une arène lobby of %arena% %arena%['s] lobby Le mini-jeu d'une arène minigame of %arena% %arena%['s] minigame Le nom d'une arène name of arena %arena% arena %arena%['s] name Le maximum de joueur dans une arène max[imum] [of player[s]] of %arena% %arena%['s] max[imum] [of player[s]] Le minimum de joueur dans une arène min[imum] [of player[s]] of %arena% %arena%['s] min[imum] [of player[s]] Le nombre de joueurs dans une arène [player] count of %arena% %arena%['s] [player] count Le temps de base d'une arène default (timer|countdown) of %arena% %arena%['s] default (timer|countdown) Tous les joueurs d'une arène [all] players (in|of) %arena% Format du chat des mini-jeux chat format of minigames Format des messages des mini-jeux message format of minigames Countdown d'une arène countdown of %arena% %arena%'s countdown Commande /minigames: Permission: minigames.admin Commande /<commande du mini-jeu>: Permissions: wolvsk.(nom du mini-jeu).join wolvsk.(nom du mini-jeu).leave wolvsk.(nom du mini-jeu).create wolvsk.(nom du mini-jeu).setlobby wolvsk.(nom du mini-jeu).setmin wolvsk.(nom du mini-jeu).setmax wolvsk.(nom du mini-jeu).list wolvsk.(nom du mini-jeu).remove wolvsk.(nom du mini-jeu).settimer wolvsk.(nom du mini-jeu).player wolvsk.(nom du mini-jeu).admin PlayerPoints Payer un joueur en points make %player% pay %integer% points to %player% Nombre de point du joueur (possibilité d'ajouter, enlever, reset, set) point[s] of %player% %player%['s] point[s] Submitter Nashoba Submitted 24/06/2018 Category Add-ons  
  6. Nashoba

    Tuto Addon #5 - Créer un évent

    Sommaire: Base de l'addon Créer un effet Créer une condition Créer une expression Créer un évent Créer un type --------------------------- Avant de continuer, assurez-vous d'avoir suivi au moins les 2 premiers tutoriaux ou vous pourrez être perdus. Créer un évent simple Aujourd'hui on va voir comment créer un évent simple. Dans cette partie on aura pas besoin de créer de nouvelle classe, on va juste enregistrer l'évent « on ... » ainsi que les valeurs dedans (ex : event-player, event-location...). Voici comment enregistrer votre évent : Skript.registerEvent("Nom de votre évent", SimpleEvent.class, ClassBukkitDeVotreEvent.class, "event"); Pour le « Nom de votre évent », vous pouvez mettre ce que vous voulez. Pour ClassBukkitDeVotreEvent.class, il faut remplacer ceci par la classe Bukkit de l'évent. Pour « event », il faut remplacer par le code skript sans le « on ». Par exemple on va recréer l'évent « on join ». Ça nous donne tout simplement : Skript.registerEvent("Join Event", SimpleEvent.class, PlayerJoinEvent.class, "join"); Le problème reste qu'on ne peut toujours pas récupérer les infos. Pour se faire on va enregistrer les « event values ». Encore une fois pas besoin de créer de classe spéciale, on met ce code juste après le Skript.registerEvent(...). Voici à quoi ressemble le bout de code pour enregistrer une valeur d'évenement : EventValues.registerEventValue(ClassBukkitDeVotreEvent.class, Object.class, new Getter<Object, ClassBukkitDeVotreEvent.class>() { public Object get(ClassBukkitDeVotreEvent e) { return null; } }, 0); La première chose à faire est de remplacer tous les ClassBukkitDeVotreEvent par la classe Bukkit qui contient votre événement. Ensuite il faut définir le type d'objet que renvoie la valeur d’événement. Si on remplace tous les Object par Player, on pourra utiliser « event-player » en Skript. Si on remplace tous les Object par Location, on pourra utiliser « event-location » en Skript. Pour finir la dernière chose à changer est le return. Il faut retourner l'objet en question, celui que vous voulez utiliser. Pour cela vous pourrez utiliser la variable e qui sera votre évent. Reprenons notre exemple « on join ». Le code final (avec l'enregistrement + le return du joueur) donnera : Skript.registerEvent("Join Event", SimpleEvent.class, PlayerJoinEvent.class, "join"); EventValues.registerEventValue(PlayerJoinEvent.class, Player.class, new Getter<Player, PlayerJoinEvent.class>() { public Player get(PlayerJoinEvent e) { return e.getPlayer(); } }, 0); Créer un évent complexe Bientôt
  7. Nashoba

    Tuto Addon #5 - Créer un évent

    Il manque une class dans le plugin Skript. Tu as la dernière version ?
  8. Nashoba

    CRASH MINECRAFT

    Je pense que le problème vient du driver de ta carte graphique. Essaye d'installer la toute dernière version.
  9. Nashoba

    Tuto Addon #6 - Créer un type

    Sommaire: Base de l'addon Créer un effet Créer une condition Créer une expression Créer un évent Créer un type --------------------------- Bonjour ! Je vais enfin vous apprendre à créer un type pour Skript :) Après avoir fait les autres tutos, vous verrez que ce n’est point compliqué. Il suffit tout simplement de mettre le code suivant à l’endroit où vous enregistrez vos syntaxes puis de compléter par ce que vous voulez : Classes.registerClass(new ClassInfo<CLASS>(CLASS.class, "NOM DE CODE").user("REGEX DU TYPE POUR LES UTILISATEURS").name("NOM DU TYPE").description("DESCRIPTION (FACULTATIVE)").usage("USAGE (FACULTATIF)").examples("EXEMPLES (FACULTATIF)").parser(new Parser<CLASS>() { @Override public String getVariableNamePattern() { return ".+"; } @Override @Nullable public CLASS parse(String arg0, ParseContext arg1) { return null; } @Override public String toString(CLASS arg0, int arg1) { return null; } @Override public String toVariableNameString(CLASS arg0) { return null; } })); Voici comment remplir les informations : - CLASS correspond à la classe Java de votre type (par exemple si je veux enregistrer un joueur j’utilise Player). - NOM DE CODE est le nom de code de votre type, il doit être en minuscule et composé de lettres et chiffres uniquement. - REGEX DU TYPE POUR LES UTILISATEURS correspond au regex du type, pour que Skript reconnaisse dans un skript quand votre type est utilisé (par exemple comme dans "parsed as X"). - NOM DU TYPE correspond au nom du type, qui sera utilisé dans certains messages d’erreurs par exemple. - Tout ce qui est facultatif ne sert que pour la documentation, donc vous choisissez ou non de les mettre. Si vous voulez les enlever vous obtenez ceci : Classes.registerClass(new ClassInfo<CLASS>(CLASS.class, "NOM DE CODE").user("REGEX DU TYPE POUR LES UTILISATEURS").name("NOM DU TYPE").parser(new Parser<CLASS>() { @Override public String getVariableNamePattern() { return ".+"; } @Override @Nullable public CLASS parse(String arg0, ParseContext arg1) { return null; } @Override public String toString(CLASS arg0, int arg1) { return null; } @Override public String toVariableNameString(CLASS arg0) { return null; } })); Bien maintenant il faut compléter le « Parser ». - Je vous conseille de ne pas toucher à la fonction getVariableNamePattern(). - La fonction parse(String, ParseContext) est appelé quand un utilisateur utilise "parsed as%votre type %". Le premier argument est le texte « parsé » (ça ne s’utilise pas mais blc), et ParseContext le contexte (voir https://github.com/SkriptLang/Skript/blob/master/src/main/java/ch/njol/skript/lang/ParseContext.java). Vous pouvez laisser null si vous ne voulez pas que votre type puisse être « parsé ». - toString(CLASS, int) doit retourner un String qui correspond à votre objet. Par exemple pour un joueur le plus logique est de retourner son nom, comme ça quand l’utilisateur fera "broadcast "%player %"", le texte sera le nom du joueur. Pour ce qui est de l’argument 1, je ne sais pas exactement à quoi il correspond. - Enfin toVariableNameString(CLASS) retourne un String qui sera retourné quand un utilisateur utilisera votre type dans un nom de variable. Pour un joueur (exemple) j’obtiens finalement : Classes.registerClass(new ClassInfo<Player>(Player.class, "player").user("player").name("player").parser(new Parser<Player>() { @Override public String getVariableNamePattern() { return ".+"; } @Override @Nullable public Player parse(String arg0, ParseContext arg1) { return Bukkit.getPlayer(arg0); } @Override public String toString(Player arg0, int arg1) { return arg0.getName(); } @Override public String toVariableNameString(Player arg0) { return arg0.getName(); } }));
  10. Nashoba

    [Jeu] Initial

    Punaise Il Zig Zag Aléatoirement. Trébuchet (c'est le premier mot qui m'est venu à l'esprit xD)
  11. Nashoba

    Présentation de l'intelligent méfiant moi.

    Bonne présentation !
  12. Nashoba

    [Ressources]TwitterSK

    View File TwitterSK Code source: https://github.com/Nashoba24/TwitterSK Exemples: https://github.com/Nashoba24/WolvSK/blob/master/examples/twitter.sk Obtenir les identifiants Étape 1: Aller sur ce lien: https://apps.twitter.com/app/new et créer une nouvelle application avec le nom, la description et le site que vous voulez Étape 2: Aller sur https://apps.twitter.com/, cliquer sur l'application et cliquer sur l'onglet "Keys and Access Tokens" Étape 3: Vous pouvez sur cette page obtenir la "consumer key" et la "consumer secret key". Ensuite vous devez créer des tokens d'accès (c'est en bas de la page). Étape 4: Vous pouvez faire la même chose que l'exemple suivant pour vous connecter: https://github.com/Nashoba24/WolvSK/blob/master/examples/twitter.sk Évents Quand un tweet est mis en favori [on] tweet favorite[d] Quand un tweet n'est plus mis favori [on] tweet unfavorite[d] Quand un retweet est mis en favori [on] retweet favorite[d] Quand on vous follow [on] follow Quand un tweet est cité [on] tweet quote[d] Quand il y a un nouveau tweet dans votre timeline [on] receive tweet Quand retweet est retweeté [on] retweet retweet[ed[ tweet]] Conditions Si un utilisateur follow un autre utilisateur %twitterer% follow[s] %twitterer% Si un tweet contient un contenu choquant %tweet% is possibly sensitive Si un tweet est retweeté %tweet% is retweeted Si vous avez retweeté le tweet en question %tweet% is retweeted by me Si votre compte Twitter peut être découvert via l'adresse email twitter account is discoverable by [e]mail Si la géolocalisation est activée twitter account is geo enabled Si un tweet est en favori %tweet% is favorited Si un utilisateur existe (twitter user|twitterer) %string% exist[s] Si l'addon est connecté addon is connected Expressions Rechercher un tweet (renvoie une liste) search tweet[s] (for|with query) %string% L'auteur d'un tweet (author|twitterer) of %tweet% Niveau d'access à votre compte Twitter twitter access level Votre nombre de favoris my twitter favorite count Le nombre de favoris d'un utilisateur twitter favorite count of %twitterer% Votre nombre de follower my twitter follower[s] count Le nombre de followers d'un utilisateur twitter follower[s] count of %twitterer% Vos followers (liste) my [twitter ]follower[s] Les followers d'un utilisateur (liste) [twitter ]follower[s] of %twitterer% Votre nombre d'amis my twitter friend[s] count Le nombre d'amis d'un utilisateur twitter friend[s] count of %twitterer% Vos amis (liste) my twitter friend[s] Les amis d'un utilisateur (liste) twitter friend[s] of %twitterer% Récupérer un message grâce à l'id (direct message|dm) with id %long% Vos messages direct messages Vos tweets en favori favo[u]rites tweets Votre timeline home timeline Demandes d'amis entrantes incoming friendship[s] La langue de votre compte twitter twitter language Votre timeline où vous êtes mentionné mention timeline Limite de "rate" (Je ne sais pas vraiment ce que c'est ^^) twitter rate limit Nombre avant d'atteindre la limite twitter rate limit remaining Le temps avant reset twitter rate limit reset time Le termps restant avant reset twitter time until reset rate limit Les retweets d'un tweet (renvoie une liste de tweets) retweet[s] of %tweet% Rechercher un utilisateur (liste) search user[s] (for|with query) %string% Je ne sais pas ce que c'est ^^ twitter sleep end time Pareil ^^ twitter sleep start time Récupérer un tweet grâce à un id tweet with id %long% Le nombre de favoris sur un tweet favorite[s] count of %tweet% Le nombre de retweets sur un tweet retweet[s] count of %tweet% Le texte d'un tweet text of %tweet% Récupérer un utilisateur grâce un id user with id %long% Récupérer un utilisateur grâce à un nom user with [screen ]name %string% La description d'un utilisateur description of %twitterer% L'id d'un utilisateur id of %twitterer% Le nom d'utilisateur d'un utilisateur (username|screen name) of %twitterer% Les utilisateurs bloqués (liste) twitter blocked users Le nombres de tweets d'un utilisateur status count of %twitterer% La timeline (les tweets) d'un utilisateur timeline of %twitterer% Les demandes d'amis sortantes outgoing friendship[s] L'id d'un tweet id of %tweet% Votre compte twitter (en tant qu'utilisateur) my twitter account Effets Tweeter quelque chose tweet %string% Supprimer un tweet destroy %tweet% Bloquer un utilisateur block %twitterer% Vous connecter à votre compte Twitter twitter [debug] connect with consumer key %string%, consumer secret %string%, access token %string%( and|,) secret token %string% Mettre un tweet en favori favorite %tweet% Supprimer un message en fonction de l'id delete (direct message|dm) with id %long% Ne plus mettre un tweet en favori unfavorite %tweet% Follow un utilisateur follow %twitterer% Reporter un utilsateur pour spam report %twitterer% for spam[ing] Retweetter retweet %tweet% Ne plus bloquer un utilisateur (un|de)block %twitterer% Ne plus follow un utilisateur unfollow %twitterer% Envoyer un message a quelqu'un [send ](dm|direct message) %text% to %twitterer% Types Utilisateur twitterer Tweet tweet Submitter Nashoba Submitted 24/06/2018 Category Add-ons  
  13. Nashoba

    Problème avec %time%

    Sinon il existe l'évent at time Exemple: at 21:00 in "Survie": #code
  14. Nashoba

    WolvSK (1.8-1.13.1)

    Vault ne propose pas l'évent "on balance change" alors que Essentials oui. Si jamais tu veux l'adapter à un autre plugin d'économie, le plus simple reste de faire une boucle qui test si l'argent a changé.
  15. Nashoba

    Tuto Addon #2 - Créer un effet

    Sommaire: Base de l'addon Créer un effet Créer une condition Créer une expression Créer un évent Créer un type --------------------------- Créer un effet On va commencer par le plus facile. Je rappelle, un effet permet d’exécuter du code sans renvoyer d'informations en échange. Tout d'abord on va choisir l'effet à créer et on va créer une classe où on veut. Par exemple je crée un package « fr.nashoba24.wolvsk.effets » et je crée une classe nommée EffSendMessageToPlayer car je veux envoyer un message à un joueur grâce à cette fonction. Ensuite je vais coller dans cette nouvelle classe le code suivant, puis je l'éditerai : package votre.package; import ch.njol.skript.lang.Effect; import ch.njol.skript.lang.Expression; import ch.njol.skript.lang.SkriptParser.ParseResult; import ch.njol.util.Kleenean; import javax.annotation.Nullable; import org.bukkit.event.Event; public class VotreClass extends Effect { @SuppressWarnings("unchecked") @Override public boolean init(Expression<?>[] expr, int matchedPattern, Kleenean paramKleenean, ParseResult paramParseResult) { return true; } @Override public String toString(@Nullable Event e, boolean b) { return null; } @Override protected void execute(Event e) { } } La fonction init() permet d'enregistrer les éventuelles variables et de retourner vrai si tout est bon (que les variables sont bonnes par exemple) La fonction toString() retourne le nom de l'effet, qui sera éventuellement utilisé dans des messages d'erreur par exemple. Pour finir, la fonction execute() est appelée quand l'effet est exécuté. Il contiendra donc votre code pour réaliser un effet en Skript. Voyons d'abord la fonction init(). L'argument expr[] retourne les variables dont vous aurez éventuellement besoin dans votre fonction execute(). matchedPattern renvoie le numéro du pattern correspondant (on verra plus tard qu'on peut avoir plusieurs patterns pour un(e) même effet/évent/condition). Pour les 2 autres je ne vais pas vous cacher que je n'en ai jamais eu besoin donc je ne sais pas à quoi ça sert ? Maintenant on va voir comment enregistrer une variable. Tout d'abord, après public class VotreClass extends Effect { on va rajouter une voir plusieurs lignes avec les variables dont vous aurez besoin. Vous devez la déclarer comme ceci : private Expression<TypeDeVotreObjet> nomDeLaVariable; Ensuite dans init(), on va changer la valeur de la variable. Pour ceci on ajoute autant de lignes que nécessaire avec nomDeLaVariable = (Expression<TypeDeVotreObjet>) expr[numéro]; La numéro correspond au numéro de l'objet envoyé par Skript. Pour le trouver, il vous suffit de compter le numéro de l'objet dans le pattern. Par exemple avec send %string% to %player% Là, l'objet %string% aura pour numéro 0 et player aura pour numéro 1. Voyons voir maintenant à quoi ressemble ma class si j'enregistre les variables pour envoyer un message. J'aurais besoin de variable : le message et le joueur. Le pattern que j'utilise est « send %string% to %player% » package votre.package; import ch.njol.skript.lang.Effect; import ch.njol.skript.lang.Expression; import ch.njol.skript.lang.SkriptParser.ParseResult; import ch.njol.util.Kleenean; import javax.annotation.Nullable; import org.bukkit.entity.Player; import org.bukkit.event.Event; public class EffSendMessageToPlayer extends Effect { private Expression<String> message; private Expression<Player> player; @SuppressWarnings("unchecked") @Override public boolean init(Expression<?>[] expr, int matchedPattern, Kleenean paramKleenean, ParseResult paramParseResult) { message = (Expression<String>) expr[0]; player = (Expression<Player>) expr[1]; return true; } @Override public String toString(@Nullable Event e, boolean b) { return null; } @Override protected void execute(Event e) { } } Maintenant attaquons nous à la fonction toString(). C'est relativement simple, il faut retourner un String avec le nom de la fonction qui sera éventuellement utilisé par exemple dans des message d'erreurs. Ici je vais retourner « send message to player ». J'obtiens donc : @Override public String toString(@Nullable Event e, boolean b) { return "send message to player"; } Pour finir il faut remplir la fonction execute(). Vous pouvez mettre ici n'importe quel code, qui fera au final ce que la fonction demande. Ici je dois faire en sorte d'envoyer le message au joueur. Vous aurez sûrement besoin de variable, je vais donc vous montrer comment récupérer une variable. Il faut tout simplement faire ceci : nomDeLaVariable.getSingle(e) Au final ma class ressemble à ça : package votre.package; import ch.njol.skript.lang.Effect; import ch.njol.skript.lang.Expression; import ch.njol.skript.lang.SkriptParser.ParseResult; import ch.njol.util.Kleenean; import javax.annotation.Nullable; import org.bukkit.entity.Player; import org.bukkit.event.Event; public class EffSendMessageToPlayer extends Effect { private Expression<String> message; private Expression<Player> player; @SuppressWarnings("unchecked") @Override public boolean init(Expression<?>[] expr, int matchedPattern, Kleenean paramKleenean, ParseResult paramParseResult) { message = (Expression<String>) expr[0]; player = (Expression<Player>) expr[1]; return true; } @Override public String toString(@Nullable Event e, boolean b) { return "send message to player"; } @Override protected void execute(Event e) { player.getSingle(e).sendMessage(message.getSingle(e)); } } Bien, il reste une seule chose à faire : enregistrer l'effet dans Skript. Pour ceci, il faut placer la ligne suivante dans une fonction appelée au démarrage du serveur (par exemple onEnable(), dans la classe principale). Skript.registerEffect(VotreClass.class, pattern); A la place de VotreClass, vous mettez le nom de la classe contenant l'effet et à la place de pattern vous mettez votre pattern sous forme de String. Si vous voulez en mettre plusieurs, vous pouvez mettre une virgule et mettre d'autres patterns après. Pour mon exemple ça me donne ça : Skript.registerEffect(EffSendMessageToPlayer.class, "(send|message) %string% to %player%");
  16. Nashoba

    Un set line sur location of targeted block

    Essaye set line 1 of block at {ecc.panneau} to "ma premiere ligne"
  17. Nashoba

    [Addon] Erreur au lancement de Skript

    C'est une erreur de skript :D C'est download arg-1 to arg-2
  18. Nashoba

    [Addon] Erreur au lancement de Skript

    Quand tu as enregistré ton effet tu as mis "download %url% to %string%"? Si c'est le cas met plutôt "download %string% to %string%".
  19. Bonjour! Dans Skript, il y a quelques chose qui plutôt pratique, c'est de pouvoir attribuer une variable à un joueur, un uuid, un monde etc... Par exemple la variable {test.%player%} change à chaque joueur. Ou alors {test.%event-block%} change en fonction du bloc Et bien en Java c'est possible ? Dans ce tuto, je ne traiterai pas d'enregistrer ces variables dans des fichiers, ça je ferais peut-être plus tard dans un autre tuto. Ces variables s'appellent des HashMap. Un HashMap est constitué d'une clé (key) et d'une valeur (value). A chaque clé est associée une valeur. Une clé est une variable de n'importe quel type, mais c'est bien souvent un String. Si vous recherchez une variable dans le HashMap qui est identique à la clé, alors vous récupérerez la valeur associé. Les HashMaps permettent aussi d'enregistrer des variables temporairement, sans charger le fichier de sauvegarde à chaque fois car ça bouffe ÉNORMÉMENT de ressources de faire ça. Bon maintenant passons à la pratique! Pour retrouver l'utilité des variables de Skript, les HashMap doivent être déclaré juste après le "public class", avant toute fonction. Les HashMap contiennent deux type de variable, un pour la clé et un pour la valeur. Ces types de variables peuvent être différents ou les même, ce sera déterminé en fonction de ce que vous en ferez. Voila à quoi ressemble un HashMap: HashMap<String, Double> variable; Le String est donc le type de clé et le double est le type de la valeur associée. Voilà maintenant comment déclarer cette variable: public class Exemple extends JavaPlugin implements Listener { static HashMap<String, Double> missions = new HashMap<String, Double>(); @Override public void onEnable() { //CODE } } Vous pouvez changer le "static" en "public static" si vous voulez que cette variable puisse être lu par d'autres classe ou même enlever le "static" si vous n'utilisez pas de fonctions static. Maintenant on va apprendre à mettre et récupérer des infos de cette variable. Dans les exemples suivant, ma variable sera nommé "exemple". Si vous voulez mettre des joueurs ou d'autre choses en clé, je vous conseille de mettre un String, souvent avec le nom. Ça évite de charger des grosses variables comme les Player et les noms ne bougent pas. Voilà comment mettre une clé et une valeur: exemple.put(key, value); Et voici comment récupérer une valeur: exemple.get(key); Pour tester si le HashMap contient une clé: exemple.containsKey(key); Pour tester si le HashMap contient une valeur: exemple.containsValue(value); Pour finir un petit exemple. On enregistre ici une variable contenant un nombre de point d'un joueur. La clé est donc le nom du joueur et la valeur son nombre de points. public class Exemple extends JavaPlugin implements Listener { static HashMap<String, Integer> points = new HashMap<String, Integer>(); @Override public void onEnable() { } @EventHandler public void onJoin(PlayerJoinEvent e) { Integer pts = 1; //Normalement je charge de mon fichier de config mais là c'est un exemple points.put(e.getPlayer().getName(), pts); } } Maintenant imaginons qu'à sa déconnexion je sauvegarde ses points. J'utilise donc: public class Exemple extends JavaPlugin implements Listener { static HashMap<String, Integer> points = new HashMap<String, Integer>(); @Override public void onEnable() { } @EventHandler public void onLeave(PlayerQuitEvent e) { Player p = e.getPlayer(); //Je crée une variable pour raccourcir le code if(points.containsKey(p.getName())) { Integer pts = points.get(p.getName()); //Là j'utilise ma fonction pour sauvegarder les points } } } Voilà! Encore une fois j'espère avoir été assez clair et que ce tuto vous sera utile ? (un p'tit like ça fait toujours plaisir aussi :D) Et je vous invite à me demander sur quel thème voulez vous que mon prochain tuto soit ?
  20. en est la preuve ! Oui j'avais déjà vu ce genre de plugin mais je n'ai pas réussi a trouver comment il marchait... Après si tu as le courage tu peux décortiquer le code source ^^ Ce que je voulais dire c'est qu'il n'y a pas de methode simple ou d'API permettant de le faire, j'avais déjà cherché des heures sans résultats...
  21. Car mettre l'objet Player est beaucoup moins optimisé qu'un String.
  22. Ce n'est pas bien expliqué (je le prendrais pas mal tkt) ou c'est le concept en lui-même qui est dur?
  23. Nashoba

    Tuto Addon #5 - Créer un évent

    Oui mais avec un addon il est possible de créer des types.
  24. Nashoba

    Ajouter et reload le fichier Aliases-english.sk

    Essaye (je ne suis pas sûr si ça va marcher): /sk reload all
×

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.