Aller au contenu

Nashoba

Ancien
  • Compteur de contenus

    682
  • Inscription

  • Dernière visite

  • Jours gagnés

    27

Tout ce qui a été posté par Nashoba

  1. 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
  2. A la place de diamondsword ça doit être une variable du type ItemStack. Si tu veux que ce soit une épée en diamant ton code doit être: p.getInventory().setItem(0, new ItemStack(Material.DIAMOND_SWORD, 1));
  3. Nashoba

    Retirer un objet de l'inventaire

    Pour retirer une seule fois l'item dans ce que tient le joueur tu peux utiliser ceci: remove 1 of tool from tool
  4. Nashoba updated [Addon] WolvSK (1.8, 1.9,1.10 & 1.11) with a new update entry: WolvSK 1.4.4 Read the rest of this update entry...
  5. En plus mon addon est plus optimisé qu'un skript en partie grâce aux HashMap et objets ^^
  6. Je suis en train d'ajouter des maths à mon addon mais beaucoup de trucs ont déjà été fait dans SkQuery >.<
  7. Il y a déjà pas mal de plugin existant qui peuvent faire cela. En 1.8.7 tu as ce plugin: https://www.spigotmc.org/resources/antitab-spigot-1-8-7.779/
  8. Tu as une erreur null, tu fais une opération quelques part avec quelques chose de null (je pense à bar.bor.removeBossbar(player.getSingle(arg0)); )
  9. Bukkit.getServer().broadcastMessage("annonce, " + e.getPlayer().getName() + ": " + message); Le message c'est toi qui choisis. Si c'est dans un évent chat tu peux le récupérer avec message = e.getMessage(); mais si c'est une commande tu peux le récupérer avec les arguments
  10. e.getPlayer().getName()
  11. Hey, Aujourd'hui je vais vous apprendre à créer un mini-jeu très facilement. Vous aurez juste besoin de mon addon: https://skript-mc.fr/forum/resources/addon-wolvsk-1-8-1-9-1-10-1-11.453/ Grâce à WolvSK, vous n'aurez plus besoin de skripter tout ce qui est compliqué comme le lobby, quand un joueur rejoint, les pancartes pour join, le maximum et minimum de joueurs, le timer avant que ça commence etc... Vous aurez juste à coder ce qu'il doit se passer dans votre mini-jeu. Tout d'abord, insérez ce bout de code au début de votre Skript. Il permettra de créer votre mini-jeu dans WolvSK s'il n'existe pas: on skript start: create minigame named "id de votre mini-jeu" with command "commande de votre mini-jeu" and prefix "Nom de votre mini-jeu" Ensuite créez cet évent: on arena start: if name of event-minigame is "id de votre mini-jeu": Dedans, mettez tout ce dont vous avez besoin au démarrage de votre jeu (téléportation des joueurs, gives des items...). Voilà, vous avez créé un mini-jeu en quelques lignes. Bien sûr vous pouvez allez bien plus loin. WolvSK ne gère pas les spawns par exemple ou encore les délimitations d'arènes, les morts etc... Ça c'est à vous de le faire ^^ Pour faire tout cela, vous aurez surement besoin de beaucoup plus d'évents, expressions, conditions ou effets. Vous pouvez trouver toutes les fonctions sur la page de ma ressource dans le spoiler "Minigames - Fonctions". Pour finir, voici un exemple de mini-jeu créé vite fait avec WolvSK: https://github.com/Nashoba24/WolvSK/blob/master/examples/minigames%20-%20hg.sk
  12. Prochaine mise à jour de WolvSK: Plein de maths! :D
  13. Nashoba updated [Addon] WolvSK (1.8, 1.9,1.10 & 1.11) with a new update entry: WolvSK 1.4.3 Read the rest of this update entry...
  14. Nashoba

    Donner de l'argent

    Essaye si tu as Vault: command /sellgold <number> <player>: trigger: if arg 1 is 1: if arg 2 don't have 1 gold ingot: message "&c[Erreur] : Vous n'avez pas suffisamment de &3Diamant &cpour effectuer cette action." to arg 2 else: remove 1 gold ingot from the inventory of arg 2 message "&3[sell] : &7Votre vente s'est effectuée avec &2succès &7!" to arg 2 add 400 to player's balance
  15. Nashoba updated [Addon] WolvSK (1.8, 1.9 &1.10) with a new update entry: WolvSK 1.4.2 Read the rest of this update entry...
  16. Maintenant le problème vient de Factions et de Skript... C'est pas la première fois que je vois cette erreur sur des serveurs ayant ces 2 plugins. Malheureusement je ne sais pas la régler, désolé.
  17. Ton code semble bon, je pense que le problème vient d'un addon alors.
  18. Nashoba

    Evenement On break

    Soil ou farmland c'est la même chose
  19. Nashoba

    Evenement On break

    Essaye: on break: if block is grass or dirt: if block above event-block is wheat block: cancel event Mais normalement ce n'est pas de la terre labourée (farmland) en-dessous des plantations?
  20. Nashoba

    Compteur de dégâts reçus/donnés

    Ce code devrait marcher: on damage of player: attacker is a player loop {players::*}: if "%loop-value%" is "%victim%": add damage to {damageTaken::%loop-index%}
  21. As-tu essayé la version dans mes packs Skript? (https://skript-mc.fr/forum/threads/packs-skript-addons-liens-de-t%C3%A9l%C3%A9chargement-officiels-de-chaque-addon-1-7-1-8-1-9-1-10.7684/)
  22. J'ai bien compris, mais où dans le code?
  23. Lequel M? ^^
  24. Hum... Si ton addon démarre et enregistre l'effet correctement, qu'il n'y a pas d'erreur dans la console ça devrait marcher. J'ai vérifié et le type %gamemode% s'écrit comme ça, de toute façon si c'était faux il y aurait une erreur dans la console. Ce que tu devrais essayer c'est ajouter "System.out.println("TEST EFFET");" dans la fonction execute() de ta class effet, pour voir s'il est bien appelé.
  25. Oui c'est ça, je pense que tu as oublié d'ajouter les dépendances (Skript & Spigot). Pour les importer clique droit sur le projet --> Build Path... --> Configure Build Path. Tu sélectionnes l'onglet "Librairies" puis "Add External Jars...". Tu séléctionnes Spigot API et tu k'importes et tu fais de même pour le plugin Skript. Pour compiler avec Java 7, tu restes dans ce menu et à gauche tu cliques sur Java Compiler. Ensuite tu décoches "Use compliance from execution..." et dans "Compiler compliance level" tu mets 1.7. J'espère avoir été clair ^^
×
×
  • 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.