[Présentation] - Système de Rank-Up avec ChestCommands !

Est-ce...

  • ..Génial !

  • ..Utile !

  • ..Pratique

  • ..Je savais déjà...


Les résultats ne sont visibles qu'après le vote.
Statut
N'est pas ouverte pour d'autres réponses.

PaniniAuNutella

Aventurier
12 Août 2017
14
6
5
24
Bonjour,

Alors il faut savoir que je crée cette discussion pour les débutants que ce soit sur ChestCommands que sur la configuration d'un plugin ! Toute critique est acceptée, négative que positive, et je tiens à améliorer (s'il le faut) ce poste pour que tout le monde en profite, si vous le souhaitez bien entendu ! :D

Aujourd'hui je vais vous présenter un système simple de Rank-Up avec ChestCommands, ce qui est énormément demandé et recherché, voilà pourquoi je vous présente cette "astuce", avec ou sans plugin "secondaire" . La différence étant que nous avons accès à plus possibilités selon le plugin de Rank-Up.

Avec un plugin secondaire:

Le problème ici, c'est que j'utilise un plugin privé non publiable, mais je veux que tout le monde en profite, donc je vais vous en lister quelques uns pour vous faciliter la tâche et ne pas perdre 1 minute de plus !

  • Rankup (Bukkit, dernière version adaptée pour la 1.10, peut avoir des bugs avec une version antérieur)
  • Rankup 2.6d (Spigot, versions: 1.7, 1.8, 1.9, 1.10, requiert Vault, très personnalisable)

  • PEX-Rankup 2.3.5 (Spigot, verions: 1.7, 1.8, 1.9, 1.10, requiert comme plugin de permission PermissionsEX peut donc avoir des bugs avec GroupManager et autres plugins de permissions..)-
  • SimpleRankup (Bukkit mais existe pour Spigot, conçut spécialement pour la 1.8 jusqu'à la 1.8.7)
  • EZRanksPro (Spigot, versions supérieurs et y compris la 1.9, simple mais payante)
Et bien d'autres encore.. :rechercher:

Une fois le plugin de Rank-Up installé (et configuré à votre façon s'il le faut) et le serveur Reload, passons maintenant à la configuration du plugin.. ChestCommands !

Infos: vous pouvez trouver ici les symboles adaptés pour ChestCommands !

Toujours dans votre FTP, allez dans le dossier suivant: ChestCommands/menu et créez un nouveau fichier .YAML nommé rankup.yml (peu importe le nom mais il faut le .yml) ouvrez-le et commençons la configuration..

La configuration de base nommé example.yml est la suivante:
Code:
######################
#+                  +#
#   MENU SETTINGS    #
#+                  +#
######################

menu-settings:

  # name - appears as the title - REQUIRED
  name: '&1Example menu'

  # rows - the number of rows of the chest - REQUIRED
  rows: 3

  # command - OPTIONAL (you can remove this or set it to '')
  # Bind multiple commands using ; (command: 'menu; m; me')
  command: 'menu'

  # auto-refresh - OPTIONAL
  # How frequently the menu will be refreshed, in seconds.
  # Useful if you have variables in items' descriptions.
  auto-refresh: 5

  # This command command will be execute when the menu is opened.
  # Supports all the icon command types.
  open-action: 'sound: note pling; tell: &eYou opened the example menu.'

  # open-with-item - OPTIONAL
  # The menu will open only right-clicking with orange wool [35:1]
  open-with-item:
    id: wool:1
    left-click: false
    right-click: true


######################
#+                  +#
#       ITEMS        #
#+                  +#
######################


spawncmd:
  COMMAND: 'spawn'
  NAME: '&e/spawn'
  LORE:
    - 'It justs executes /spawn'
    - 'as the player who clicked.'
  ID: bed
  POSITION-X: 1
  POSITION-Y: 1


colored-enchanted-stacked-wool:
  NAME: '&aWool with additional data'
  LORE:
    - 'This wool has a data value, an amount'
    - 'greater than 1, and two enchantments.'
  ID: wool
  DATA-VALUE: 1
  AMOUNT: 10
  ENCHANTMENT: knockback, 10; durability, 10
  POSITION-X: 2
  POSITION-Y: 1


this-text-will-not-appear:
  NAME: '&dFormatting codes'
  LORE:
    - 'You can use all the formatting codes!'
    - '&fColors: &c#c &a#a &9#9 &e#e &f... ...'
    - '&fRandom (#k): &kfy379!H'
    - '&fBold (#l): &lexample'
    - '&fStrikethrough (#m): &mexample'
    - '&fUnderline (#n): &nexample'
    - '&fItalic (#o): &oexample'
  ID: paper
  POSITION-X: 3
  POSITION-Y: 1


test-from-console:
  COMMAND: 'console: say Hello {player}!'
  NAME: '&cRuns command from the console.'
  LORE:
    - 'It broadcasts your name with the command /say.'
  ID: command block
  POSITION-X: 4
  POSITION-Y: 1


test-as-op:
  COMMAND: 'op: say Hello world!'
  NAME: '&cRuns command as OP.'
  LORE:
    - 'Be careful with this type of commands.'
    - 'It will ignore nearly all the permissions.'
  ID: command block
  POSITION-X: 5
  POSITION-Y: 1


test-with-placeholder:
  COMMAND: 'tell: &9Online players: &f{online}/{max_players}; tell: &9Your name: &f{player}; tell: &9The world you are in: &f{world}; tell: &9Money: &f{money}'
  NAME: '&6This message contains some placeholders'
  LORE:
    - 'Placeholders will be replaced when the item'
    - 'is clicked.'
  ID: empty map
  POSITION-X: 6
  POSITION-Y: 1


economy-give:
  COMMAND: 'tell: &aYou have paid 50$ for this command!; give: gold_ingot'
  NAME: '&eEconomy & Give command'
  LORE:
    - 'This command will be executed'
    - 'only if you have at least 50$!'
    - 'It gives you a gold ingot.'
  ID: gold ingot
  PRICE: 50
  POSITION-X: 7
  POSITION-Y: 1


economy-take:
  REQUIRED-ITEM: 'gold_ingot'
  COMMAND: 'tell: &aYou have been paid 50$; givemoney: 50'
  NAME: '&eEconomy & Required item'
  LORE:
    - 'This command is the opposite of the previous.'
    - 'It will take you a gold ingot and give you $50.'
  ID: gold ingot
  POSITION-X: 8
  POSITION-Y: 1


will-not-close:
  NAME: '&2Info'
  LORE:
    - '&7The menu will not close'
    - '&7clicking on this item.'
  ID: sign
  KEEP-OPEN: true
  POSITION-X: 9
  POSITION-Y: 1


a-talking-head:
  COMMAND: 'tell: This is a simple message, without using commands!'
  NAME: '&3Tells you something.'
  LORE:
    - '&7It tells you something without commands.'
  ID: head
  DATA-VALUE: 3
  POSITION-X: 1
  POSITION-Y: 2


a-talking-head:
  COMMAND: 'tell: This is a simple message, without using commands!'
  NAME: '&3Tells you something.'
  LORE:
    - '&7It tells you something without commands.'
  ID: head
  DATA-VALUE: 3
  POSITION-X: 1
  POSITION-Y: 2


test-multiple-command:
  COMMAND: 'console: Say Did you know that...; console: say you can run multiple commands?;'
  NAME: '&aMultiple commands'
  LORE:
    - 'Example of multiple commands.'
  ID: golden apple
  POSITION-X: 2
  POSITION-Y: 2


permission:
  COMMAND: 'tell: &a[v] You have the correct permission!'
  NAME: '&8Permission test'
  LORE:
    - 'To use this item, you need the'
    - 'permission "chestcommands.test".'
    - 'Otherwise, a configurable error'
    - 'message will be displayed.'
  ID: iron bar
  POSITION-X: 3
  POSITION-Y: 2
  PERMISSION: chestcommands.test
  PERMISSION-MESSAGE: 'You don''t have the correct permission!'


menu-close-no-commands-no-lore:
  NAME: '&6Close the menu'
  ID: redstone lamp
  LORE:
    - 'Create an item without command,'
    - 'the GUI will just close.'
  POSITION-X: 9
  POSITION-Y: 3

Nous allons nous appuyer dessus pour le début donc choisissez-y votre commande de base pour ouvrir le menu, ainsi que que les rows, c'est à dire le nombre de lignes de votre menu.

Code:
######################
#+                  +#
#   MENU SETTINGS    #
#+                  +#
######################

menu-settings:

  # name - appears as the title - REQUIRED
  name: '&5&l[&d&lRankup&5&l]'

  # rows - the number of rows of the chest - REQUIRED
  rows: 3

  # command - OPTIONAL (you can remove this or set it to '')
  # Bind multiple commands using ; (command: 'menu; m; me')
  command: 'rankup'

  # This command command will be execute when the menu is opened.
  # Supports all the icon command types.
  open-action: ''

  # open-with-item - OPTIONAL
  # The menu will open only right-clicking with orange wool [35:1]


Maintenant on va créer les items, qui, lors d'un clic, va exécuter la commande de Rankup, ce qui va donner:
Code:
Seigneur:
  LORE:
    - '&ePrix: $70 000'
    - ' '
    - '&cClique pour acheter ce Grade'
  PERMISSION: 'rankup.seigneur'
  PERMISSION-MESSAGE: '&cVous avez déjà acheté ce grade..'
  KEEP-OPEN: true
  COMMAND: 'rankup'
  NAME: '&7&lSeigneur'
  ID: 42
  POSITION-X: 3
  POSITION-Y: 2

Vous avez pu remarquer que j'ai ajouté "PERMISSION" et "PERMISSION-MESSAGE", vous pouvez y mettre la permission que vous voulez, sans mettre la même pour les autres grades ! Même chose pour la permission-message ! :confused:En gros on va désactiver la permission pour les grades supérieurs, s'il on est légendaire, et qu'on veut acheter le grade Seigneur, étant inférieur au grade Légendaire, le message suivant va s'afficher: "Vous avez déjà acheter ce grade !" Mais n'oubliez pas de mettre la permission au grade "default" de votre serveur ! :p
Il y a aussi le "KEEP-OPEN", qui permet de laisser le menu ouvert lorsque l'on clique sur un des items ! Par exemple pour voir les informations du joueur, si ce dernier clique sur cet item le menu restera ouvert !
up3.PNG

Un problème avec les permissions ? Pas de problème, ça se trouve plus bas ! :merci

Maintenant plus qu'à faire les autres grades !

Code:
Legendaire:
  LORE:
    - '&ePrix: $300 000'
    - ' '
    - '&cClique pour acheter ce Grade'
  PERMISSION: 'rankup.legendaire'
  PERMISSION-MESSAGE: '&cVous avez déjà acheté ce grade..'
  KEEP-OPEN: true
  COMMAND: 'rankup'
  NAME: '&6&lLégendaire'
  ID: 41
  POSITION-X: 5
  POSITION-Y: 2

Supplément: vous pouvez aussi faire un système pour afficher l'argent du joueur ! ;)
up2.PNG


Code:
Argent:
  NAME: '&9Argent: {money}'
  KEEP-OPEN: true
  ID: 130
  POSITION-X: 1
  POSITION-Y: 3

Voilà ! Et avec un peu plus de configuration vous pouvez faire un menu de votre goût avec des choix illimités !
rankup.PNG


:mais:
Maintenant, les permissions ! Je vais éclaircir un peu:
Code:
groups:
 Guerrier:
    default: true
    permissions:
    - chestcommands.open.rankup.yml #(=ouvrir le menu)
    - rankup.seigneur
    - rankup.legendaire
    - easyrankup.Legendaire #(=mettre la permission du plugin de rank choisit)

  Seigneur:
    default: false
    permissions:
    - -rankup.seigneur #(- - pour ne pas donner la permission)
    - rankup.legendaire

  Legendaire:
    default: false
    permissions:
    - -rankup.legendaire #(ne pas donner la permission)
    - -rankup.seigneur #(ne pas donner la permission)

Sans plugin secondaire:
Beaucoup plus simple mais ressemble beaucoup !
Il faut juste rajouter "Price:", et "Rank:", servant à dire quel est le grade supérieur. Par contre, il faut laisser les permissions sauf celle du plugin secondaire !
Ce qui donne:
Code:
Légendaire:
  LORE:
    - '&ePrix: $70 000'
    - ' '
    - '&cClique pour acheter ce Grade'
  PERMISSION: 'rankup.seigneur'
  PERMISSION-MESSAGE: '&cVous avez déjà acheté ce grade..'
  KEEP-OPEN: true
  RANK: 'Légendaire'
  PRICE: 70000
  ID: 42
  DATA-VALUE: 1
  COMMAND: 'console: manuadd {player} legendaire; tell: &aAchat effectué ! &6Vous êtes maintenant grade: &eLégendaire ! | &6Félicitation !'
  POSITION-X: 3
  POSITION-Y: 2
up4.PNG


Voilà, voilà, je crois que c'est tout pour le moment, simple mais long à faire ! Il faut être patient ! :fou:
J'espère que vous y trouviez votre bonheur, je vous souhaite bonne continuation et n'oubliez pas le :merci
Si vous trouvez une erreur dans ce topic, ou une faute d'orthographe dîtes-le ! Je l'éditerai par la suite ;)
 

Fichiers joints

  • rankup.PNG
    rankup.PNG
    63.4 KB · Affichages: 837
Dernière édition:

mustang1967

Architecte en herbe
22 Avril 2017
68
3
46
18
bonjour,

super travail, c est ce que je chercher depuis longtemps.

questions:

1) il y a t il un moyen d obtenir le menu sans tapé la commande complète ( /chestcommand open ..... joueur) ?

2) je voudrais avoir un menu principal qui pourrai m envoyer sur d autres menu es que cela est possible? comment

3) j achete un grade, comment ce plugins fait le lien avec mon plugins groupmanager


encore merci
 
Dernière édition:

DiscowZombie

Développeur
Staff
Modérateur
Support
2 Mars 2017
2 659
1
931
298
Alsace
www.discowzombie.fr
1) il y a t il un moyen d obtenir le menu sans tapé la commande complète ( /chestcommand open ..... joueur) ?
Il me semble que tu peut faire /cc sinon je t'invite à ajouter une alias via le fichier commands.yml. Voici un exemple :
Code:
aliases:
  menu:
  - chestcommand open Menu $1-

2) je voudrais avoir un menu principal qui pourrai m envoyer sur d autres menu es que cela est possible? comment
Il suffit de se rendre sur la page de Chest Commands et de chercher dans click action ;)

3) j achete un grade, comment ce plugins fait le lien avec mon plugins groupmanager
Il suffit de lire le message attentivement, et tu vois que le grade est mis grâce à cette commande :
COMMAND: 'console: manuadd {player} legendaire; tell: &aAchat effectué ! &6Vous êtes maintenant grade: &eLégendaire ! | &6Félicitation !'
 

PaniniAuNutella

Aventurier
12 Août 2017
14
6
5
24
Bonjour,
Alors merci à DiscowZombie pour ses réponses ;)
Je viens à compléter avec ce que j'ai...

J'utilise tout d'abord un plugin nommé "CustomJoinItems", qui me sert à give un objet lors d'une connexion au serveur, en fonction du monde, exécutant une commande, par exemple "/menu", utilisable dans un seul monde. A vous de le customiser ;)

Tu demandes à ce qu'il y ait une commande personnalisable, tout bête, tu modifies cela au début de tes codes, comme ceci:
Code:
######################
#+                  +#
#   MENU SETTINGS    #
#+                  +#
######################

menu-settings:

  # name - appears as the title - REQUIRED
  name: '&5&l[&d&lRankup&5&l]'

  # rows - the number of rows of the chest - REQUIRED
  rows: 3

  # command - OPTIONAL (you can remove this or set it to '')
  # Bind multiple commands using ; (command: 'menu; m; me')
  command: 'rankup'
Tu peux y mettre la commande que tu voudras, elle marchera ;)

2) je voudrais avoir un menu principal qui pourrai m envoyer sur d autres menu es que cela est possible? comment
Tout simple ! Tout d'abord tu choisis l'item et l'emplacement dans le menu à ta façon, puis tu ajoutes la ligne "command:" à cet item et tu mets "open:nomdetonmenu.yml". A la place de "nomdetonmenu.yml", tu mets le fichier .yml que tu veux ouvrir se trouvant dans le dossier "menu" de ChestComands (FTP).

3) j achete un grade, comment ce plugins fait le lien avec mon plugins groupmanager
DiscowZombie y a déjà répondu, mais je répète un peu quand même..
Tu as une ligne "Price: 2000", 2000 est le montant de l'argent prit au joueur lorsque ce dernier clique sur l'item en question. S'il n'a pas la somme suffisante, aucun grade ne sera donné au joueur.

Ainsi, tout doit être normalement correct,
Bonne journée à tous ;)

Amicalement
 
  • J'aime
Reactions: DiscowZombie

mustang1967

Architecte en herbe
22 Avril 2017
68
3
46
18
Il me semble que tu peut faire /cc sinon je t'invite à ajouter une alias via le fichier commands.yml. Voici un exemple :
Code:
aliases:
  menu:
  - chestcommand open Menu $1-


Il suffit de se rendre sur la page de Chest Commands et de chercher dans click action ;)


Il suffit de lire le message attentivement, et tu vois que le grade est mis grâce à cette commande :
bonjour et merci pour ces informations
 

nopleyzz

Bucheron
31 Janvier 2019
3
0
12
46
comment faire une fois le grade acheté, mettre un autre item dans la boutiques à la place du même grade disant "tu as déjà le kit"
 
Statut
N'est pas ouverte pour d'autres réponses.