Aller au contenu

Voserv

Membre
  • Compteur de contenus

    148
  • Inscription

  • Dernière visite

  • Jours gagnés

    11
  • Crédits

    65 [Faire un don]

Messages posté(e)s par Voserv


  1. Bonjour,

     

    Voici un petit tutoriel pour créer des menus améliorés avec Skript. Qu'est-ce qu'un menu amélioré ? vous allez le voir ci-dessous mais d'abord nous allons voir ensemble la construction basique d'un menu.

    Ce tutoriel n'est compréhensible que pour ceux qui connaissent la base de création d'un gui.

     

    La construction basique et que la majorité connaissent est d'utiliser le format slot. Nous allons garder cette technique, voici donc un menu basique.

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Ceci est la construction basique quand vous voulez créer un objet dans un inventaire qu'on ne puisse pas utiliser. Mais imaginons que vous voulez faire que ce même objet exécute une commande, la majorité utilisera [make player execute command "/blabla"] comme ci dessous:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Ainsi, lorsque le joueur cliquera sur l'objet, il verra la commande /blabla exécutée. Mais ce système possède un défaut. Imaginons que vous vouliez faire des menus où le joueur est obligé de passer par le menu, mais que si cela s'exécute via une commande, le joueur, s'il trouve la commande pourra exécuter l'action sans aller via votre menu. Vous allez me dire qu'il est possible de mettre une condition dans la commande pour détecter l'inventaire etc. mais c'est fastidieux pour ce que c'est non ?

     

    Il existe donc une solution simple, et qui permet aussi de nouvelles fonctionnalités. Vous allez devoir utiliser tout d'abord l'addon nommé SkMorkaz. Cet addon vous donne accès à un nouvel évènement:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Cet évènement vous permet de détecter lorsqu'un joueur clique sur un objet dans un inventaire. Cet évènement sera très utile pour éviter que le joueur n'exécute une action hors du menu désiré.

    Imaginons que vous voulons faire que lorsque un joueur clique sur un objet nommé "stone", cela lui retourne un message "ça marche !", nous allons donc faire ceci:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Ainsi, lorsque le joueur cliquera sur un objet nommé "stone", cela va lui renvoyer un message. Pour détecter le menu où se trouve le joueur, il suffit d'ajouter cette ligne:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Et grâce à cela, vous pouvez éviter que des joueurs exécutent des actions hors des menus. De plus, le fait de pouvoir détecter les clics sur les items permet bien d'autres choses !

    Mais cet évènement n'est pas seulement pratique, il permet aussi d'ajouter une nouvelle fonctionnalité qui est impossible avec le "to run" avec le "format slot". Vous pouvez ajouter la fonctionnalité de détecter les clics droits, clics gauches etc. pour permettre à un objet d'avoir plusieurs fonctions selon le clic.

     

    Vous allez avoir besoin de l'addon Skellet. Cette condition est assez compliquée dans le sens où il y a un bon nombre de variantes en fonction de vos addons. Voici l'exemple extrait de Skunity:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Et voici ci-dessous tous les différents types de clics disponibles, leur écriture change en fonction des addons que vous utilisez, vous avez la liste extraite de Skunity ci-dessous:

    [spoiler=TYPES DE CLICS]CONTROL_DROP

    Holding Ctrl while pressing the "Drop" key (defaults to Q).

    CREATIVE

    Any action done with the Creative inventory open.

    DOUBLE_CLICK

    Pressing the left mouse button twice in quick succession.

    DROP

    The "Drop" key (defaults to Q).

    LEFT

    The left (or primary) mouse button.

    MIDDLE

    The middle mouse button, or a "scrollwheel click".

    NUMBER_KEY

    One of the number keys 1-9, correspond to slots on the hotbar.

    RIGHT

    The right mouse button.

    SHIFT_LEFT

    Holding shift while pressing the left mouse button.

    SHIFT_RIGHT

    Holding shift while pressing the right mouse button.

    UNKNOWN

    A type of inventory manipulation not yet recognized by Bukkit.

    WINDOW_BORDER_LEFT

    Clicking the left mouse button on the grey area around the inventory.

    WINDOW_BORDER_RIGHT

    Clicking the right mouse button on the grey area around the inventory.

     

    If you're using Bensku's edit these will be your click types:

     

    left mouse button, left mouse button with shift, right mouse button, right mouse button with shift, window border using right mouse button, window border using left mouse button, middle mouse button, number key, double click using mouse, drop key, drop key with control, creative action, unknown

     

     

    Ainsi, en fonction de l'addon utilisé, il vous suffira d'intégrer une condition pour détecter le clic. Imaginons que j'utilise le premier exemple, donc si Bensku et Umbaska ne sont pas installés, il me suffira d'ajouter la condition ci-dessous et de mettre comme clic LEFT par exemple, pour savoir si le joueur fait un clic gauche:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

     

    Ce tutoriel est maintenant terminé et j'espère qu'il vous sera utile à créer des menus performants et avec plus de fonctionnalités ! :)


  2. Bonjour, J'ai mis le skript , aucune erreur.

    Le seul problème est qui ont peut tuer les pnj ...

    Tout ce que tu as à faire, c'est créer une condition pour déterminer le nom du PNJ et empêcher le fait qu'il reçoive des dommages, ou tu utilises tout simplement Citizens.

    Pour la condition, il suffit de faire ceci:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

    • J'aime 1

  3. Oui je me suis trompé ici:

     

    delete {blockadded::%location of event-block%}, il faut mettre delete {blockadded::*} mais si ça ne marche toujours pas, c'est bizarre car moi j'ai toujours utilisé ce système.

    • J'aime 1

  4. D'accord donc,

     

    Il faut que tu enregistres le type du bloc et sa position dans des variables, je vais te la solution:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    En gros, quand un bloc est cassé, il sera enregistré dans une variable qui contient les types de blocs et une autre qui contient les coordonnées de ceux-ci. Ensuite, il va mettre une variable qui correspond aux coordonnées du block en "true" pour dire que le bloc a bien été enregistré.

     

    A la fin, il n'y a plus qu'a loop comme je l'ai fait, pour remettre le bloc à sa position initiale. J'ai utilisé ce système pour mes gadgets et des jeux, donc normalement il devrait fonctionner !

    • J'aime 1

  5. Ton skript c'est pour un jeu ?, car le système sera totalement différent selon comment tu l'utilises.

    Ton block doit réapparaître à la fin d'un jeu, ou il reviens après x secondes/minutes ?


  6. Bonjour,

     

    Tout d'abord, lorsque tu insères ta fonction dans ta commande, c'est normal que cela ne marche pas. Premièrement tu dois recopier la fonction lettre par lettre, même avec les majuscules.

    De plus "color(arg 1 , player)" tu mets deux arguments alors que dans ta fonction tu as mit "function Color(p: player):", tu dois donc mettre "function Color(c: color, p: player):"

    Et lorsque tu invoque la fonction "armure(player)", tu oublies de mettre une couleur comme argument, fais comme ça: "armure(yellow, player)".

     

    Des fonctions c'est comme des commandes, si dans ta fonction tu demandes 2 arguments, quand tu invoque ta fonction, tu dois en mettre 2 aussi :)

     

    Normalement ca devrait marcher:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

    • J'aime 2

  7. Voserv submitted a new resource:

     

    [plain]TreeCapitator[/plain] - [plain]Permet de casser des arbres directement ![/plain]

     

    TreeCapitator

    Je vous présente mon Skript "TreeCapitator" tiré du mod du même nom. Ce skript permet de casser les arbres en un coup. Les bûches au dessus du bloc que vous avez brisé et celles reliées sont cassées.

    Ensuite, vous pourrez récupérer les bûches. Mais attention, votre hache perd plus de point de durabilité, en fonction du nombre de bûches cassées.

     

    J'ai testé pas mal de fois le Skript que j'ai créé, et j'ai remarqué des bugs qui...

     

    Read more about this resource...


  8. Voserv submitted a new resource:

     

    [plain]Foreuse[/plain] - [plain]Une foreuse qui mine pour vous et récolte pour vous[/plain]

     

    Foreuse

    Je vous présente mon Skript de foreuse.

    Grâce à celle-ci, vous allez pouvoir forer dans le sol avec, et elle récupérera automatiquement les minerais pour vous.

     

    /giveforeuse pour vous donner une foreuse (Permission: foreuse.admin)

    Ensuite cliquez-droit.

    Un guardian va apparaître, qui va miner dans le sol. A noter qu'il a une durée de vie c'est à dire que si vous le faites spawner en haut d'une montagne, il n'ira pas jusqu'au fond car il s'abîme quand il...

     

    Read more about this resource...


  9. Voserv submitted a new resource:

     

    [plain][Fonction]CountdownBar[/plain] - [plain]Permet de créer des countdown avec les barres d'XP[/plain]

     

    CountdownBar

    Un petit Skript avec une fonction vous permettant de faire des barres de countdown automatiquement avec votre barre d'XP.

    Son utilité ?, vous pouvez mettre n'importe quel nombre de secondes, appeler la fonction quand vous voulez (voir exemples ci-dessous)

    ==============================================

     

    Je vais vous montrer des exemples, pour appeler la fonction.

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Read more about this resource...


  10. Voserv submitted a new resource:

     

    [plain]Votifier Rewards[/plain] - [plain]Donnez des lots aux joueurs ayant votés[/plain]

     

    Votifier Rewards

    =============

    Ce skript vous permettra de donner des lots aux joueurs avant votés.

    Ce skript nécéssite:

    • Skript (évidemment....)
    • SkRayFall
    • Plugin Votifier installé

    Le plugin Votifier doit être installé sur votre serveur et sur un Top serveur supportant ce plugin sinon Skript ne peut pas détecter le vote.

    Commandes (Permission: vreward.admin)

    /vreward additem: Permet d'ajouter l'objet...

     

    Read more about this resource...

  11. Virus


    Voserv submitted a new resource:

     

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.
    - [plain]Créez une véritable infection avec les zombies alphas ![/plain]

     

    Virus

    Un Skript vous permettant de créer un virus. Lorsqu'un zombie spawn, il y a 8% de chance, que ce zombie soit infecté, donc un Zombie Alpha.

     

    Quand il tue des villageois ou des joueurs il propage le virus (Un autre zombie alpha apparaît)

     

    Il est possible de soigner un zombie alpha en lui donnant 1 Pomme d'or (non enchantée) en cliquant droit. Il va se soigner et redevenir un villageois.

     

    Si vous avez des idées, des améliorations à proposer, n'hésitez pas !

    Bon jeu :)

     

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.


  12. Voserv submitted a new resource:

     

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.
    - [plain]Ne vous faites pas repérer avec des masques ![/plain]

     

    MOBMASK (1.0)

    MobMask est un un skript très simple et dont l'idée est aussi simple mais

    originale, de vous fondre parmis les squelettes, les zombies ou les creepers

    en portant leur masques.

     

    Par exemple, si vous approchez des zombies en portant un crâne de zombie, ils ne pourront pas vous repérer.

     

    Cependant, quand vous subissez des dégâts provenant du feu, vous avez une chance que votre crâne (si vous le portez) brûle, et que donc les mobs vous repèrent.

     

    Bon...

     

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

    • J'aime 2

  13. Bonjour

     

    Après de TRÈS NOMBREUSES demandes, je fais enfin un petit tutoriel très complet pour vous apprendre à mettre en place une base de donnée et comment ça marche.

     

    I/C'est quoi une Base de Donnée ? (BDD):

    Une BDD c'est là où vous pouvez commniquer des variables d'un serveur à un autre. Par exemple, vous pouvez transférer des variables d'un serveur à un autre, ce qui fera que vos serveurs seront reliés.

    En quoi c'est utile ?, imaginons vous faites un Minigames eh bien vous pouvez faire qu'on achète des kits au hub et qu'ils se débloquent sur les autres serveurs. Après les possibilités sont infinies c'est juste un exemple !

     

    II/Requis pour une BDD:

    Pour avoir une BDD, il vous faudra déja:

    • Une machine dédiée
    • BungeeCord
       
    • Skript (évidemment)
    • Une base de donnée (MySQL par exemple)
       
    • SQLibrary (Un plugin nécéssaire)

    Les deux premiers points sont évident mais je les précise quand même. Si vous avez déja vos serveurs prêt avec BungeeCord tant mieux, sinon je vous invite à mettre en place votre BungeeCord avant de continuer ce tutoriel. Si vous avez tout ce qu'il faut, nous pouvons passer à l'étape 3.

     

    III/Mettre en place une BDD:

    D'abord il vous faudra installer le plugin SQLibrary disponible ici: dev.bukkit.org/bukkit-plugins/sqlibrary/

    Il faut que ce plugin soit installé sur tous les serveurs que vous voulez relier à votre base de donnée. Après avoir

    installé ce plugin, rendez vous dans le dossier de votre plugin Skript (dans plugins). Vous verrez un fichier

    nommé config.sk, nous allons le regarder de plus près. Vous devrez vous rendre plus bas, vous verrez une

    section nommée "database":

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Et là vous voyez en dessous de database la section database 1. C'est là que nous allons configurer. Je vais déja vous expliquer chaque configuration:

    • Type: C'est la première ligne. Là vous devrez mettre le type de votre base de donnée, par exemple type: MySQL

    • Pattern: Là vous devrez mettre un préfix. Dans notre exemple c'est db.*. En gros, toutes les variables commençant par db. seront sauvgardées, par exemple: {db.%player%.money} sera sauvgardé car la variable commence par db. Par contre si ma variable est écrite comme cela: {money.%player%} elle ne sera pas sauvgardée. Vous pouvez dans "pattern" changer en ce que vous voulez, par exemple pattern: test.*. TRES IMPORTANT: Il est très important que "*" soit indiqué comme dans db.* sinon cela ne marchera pas.

    • Montiro Changes: Mettez de préférence en "true". Cela va servir à activer que les serveurs s'actualisent.

    • Monitor Interval: Là, vous devez mettre un délai (pas trop court pour ne pas faire laguer). Par exemple 20 seconds. Là si je met 20 secondes, la base de donnée va actualiser les serveurs toutes les 20 secondes.

    Ensuite vous devrez configurer votre MySQL juste en dessous:

    Contenu masqué

      Réagissez ou répondez à ce message afin de consulter le contenu masqué.

     

    Je vais alors vous présenter chaque point:

    • host: Vous devrez mettre l'ip de votre serveur par exemple 5.120.230.11. Notez que si vous êtes sur Multicraft, vous devez laisser localhost.

    • port: Vous devrez indiquer le port. Mais si vous êtes sur MySQL, inutile de changer le port.

    • user: Vous devez rentrer l'identifiant de votre base de donnée.

    • password: Là aussi, vous rentrez le mot de passe de votre base de donnée MySQL

    • database: Connectez-vous sur votre base de donnée (sous PhpMyAdmin), et normalement à votre gauche vous verrez des "tables", et bien rentrez le nom (le chiffre). La plupart du temps (je ne suis pas sûr si c'est pour tout le monde), le nom de la table est le même que l'utilisateur. Par exemple, dans mon exemple, user et database sont "7".

    Après avoir tout configuré, faites un reload. Je vous invite aussi à regarder votre console en même temps qui vous indiquera si il y a des problèmes de connection. Si vous n'avez aucun message d'erreure dans la console, cela veut dire que tout fonctionne. Pour vérifier, rendez vous dans votre BDD, et normalement si tout fonctionne comme prévu, vous verrez à votre gauche une table nommée "variable21".

    Ensuite vous copiez/collez votre config.sk sur tous les serveurs pour que cela fonctionne, reloadez et ce sera fini ! Pour que vos variables soient sauvgardées dans votre base de donnée il vous suffira juste de les nommer comme votre pattern:.

    Par exemple si dans pattern, vous avez laissé db.*, alors toutes les variables commençant par db., comme {db.test} seront sauvgardées !

     

    Cordialement, MCVoserv

    • J'aime 1
×
×
  • 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.