Aller au contenu

Classement


Contenu populaire

Affichage du contenu avec la meilleure réputation le 01/29/18 dans toutes les zones

  1. 3 points
    Je vais passer par une fonction mais il est possible de faire la même chose avec une commande function Page(page: number,joueur: player) Valeurs des options: {_page} : la page que l'on souhaite affichée {_joueur} : le joueur à qui on affiche la page Je note Y la hauteur que l'on dispose et X la quantité à afficher. X : number Y : number Dans notre fonction Page il faut logiquement saisir une page existante. Je note nP, le nombre de page existante. nP = rounded up (X / (Y * 9)) On aura une valeur de {_page} variant de 1 à nP, première condition de notre code trouvée function Page(page: number,joueur: player): if check [{_page} is bigger than 0]->[{_page} is smaller or equal to rounded up (X / (Y * 9))]: Admettons nos éléments X sont stockés dans une liste. Il faut donc afficher seulement les bons éléments et ne pas dépasser dans notre inventaire. Pour cela on doit définir un intervalle avec comme bornes les limites à dépasser et à ne pas dépasser: set {_index} to 0 # à chaque nouvelle boucle on ajoute 1 loop {notreliste::*}: # code non dévoilé add 1 to {_index} On aura donc comme borne [{_page} * (Y * 9) - Y * 9 ; {_page} * Y * 9[ Exemple avec une hauteur de 4 et une page de 3: [3 * (5 * 9) - 5 * 9 ; 3 * 5 * 9[ [90 ; 135[ 5 * 9 = 45 135 - 90 = 45 Ajout des conditions dans notre fonction: function Page(page: number,joueur: player): if check [{_page} is bigger than 0]->[{_page} is smaller or equal to rounded up (X / (Y * 9))]: set {_index} to 0 loop {notreliste::*}: if {_index} >= {_page} * (Y * 9) - Y * 9: if {_index} < {_page} * Y * 9: # create a gui slot {_index} - (Y * 9)*({_page} - 1} of {_joueur} ... add 1 to {_index} Bonus: Faire des items pour changer les pages: Condition pour savoir si la page {_page} n'est pas la dernière pas: if rounded up (size of {notreliste::*} / (Y * 9 - 9)) is bigger than {_page}: Condition pour savoir si la page {_page} est la dernière: if rounded up (size of {notreliste::*} / (Y * 9 - 9)) is equal to {_page}: Condition pour savoir si il y a plus d'une page disponible: if rounded up (size of {notreliste::*} / (Y * 9 - 9)) is bigger than 1: On intègre cela dans notre code et c'est terminé, vous pouvez bien sûr ajouter des conditions si vous le souhaitez, ceci est juste le minimum pour avoir un système de page fonctionnel: Code entier:[spoiler=Ouvrir] function Page(page: number,joueur: player): if check [{_page} is bigger than 0]->[{_page} is smaller or equal to rounded up (X / (Y * 9))]: set {_index} to 0 loop {notreliste::*}: if {_index} >= {_page} * (Y * 9) - Y * 9: if {_index} < {_page} * Y * 9: # create a gui slot {_index} - (Y * 9)*({_page} - 1} of {_joueur} ... add 1 to {_index} if rounded up (size of {notreliste::*} / (Y * 9 - 9)) is bigger than {_page}: set {_next} to {_page} + 1 # create a gui slot <slot> of {_joueur} with <item> to run function Page({_next}, sender) else if rounded up (size of {notreliste::*} / (Y * 9 - 9)) is equal to {_page}: if rounded up (size of {notreliste::*} / (Y * 9 - 9)) is not 1: # create a gui slot <slot> of {_joueur} with <item> to run function Page(1, sender) Code pour tester: function Page(page: number,joueur: player): if check [{_page} > 0]->[{_page} is smaller or equal to rounded up (size of {var::*} / (5 * 9))]: if inventory name of current inventory of {_joueur} is not "§cPage %{_page}%/%rounded up (size of {var::*} / (5 * 9))%": open virtual chest inventory with size 6 named "§cPage %{_page}%/%rounded up (size of {var::*} / (5 * 9))%" to {_joueur} wait 3 ticks set {_index} to 0 loop {var::*}: if {_index} >= {_page} * (5 * 9) - 5 * 9: if {_index} < {_page} * 5 * 9: create a gui slot {_index} - (5 * 9) * ({_page} - 1) of {_joueur} with "%loop-value%" parsed as number of stone to do Nothing add 1 to {_index} if rounded up (size of {var::*} / (5 * 9 - 9)) is bigger than {_page}: set {_next} to {_page} + 1 create a gui slot 45 of {_joueur} with paper to run function Page({_next}, {_joueur}) else if rounded up (size of {var::*} / (5 * 9 - 9)) is not 1: create a gui slot 45 of {_joueur} with paper to run function Page(1, {_joueur}) command /var: trigger: loop a random integer between 123 and 321 times: add a random integer between 0 and 9 to {var::*} command /menu: trigger: Page(1, sender) command /clearvar: trigger: size of {var::*} is not 0 clear {var::*}
  2. 2 points
    Salut, j'ai trouver cet expression sur le Site SkUnity, je ne l'ai pas tester mais tu peux toujours essayer ^^ make player sleep at block at {_loc}
  3. 1 point
    Salut, Précise juste comment on ouvre le gui (commande, items ?) Merci :)
  4. 1 point
    Ce n'est pas possible... Tu peux le bloquer en face d'un lit (il ne peut plus bouger, ni son corps ni sa tête) et le spammer de message/title qui lui dise de se coucher :p (Mais c'est assez brutal...) xDD
×
×
  • 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.