Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 03/01/2017 dans Messages

  1. J'ai fini! Voilà le code Options: Prefix: &8[&bKits&8] Permission_Message: &cErreur : Vous n'avez pas la permission ! Command_Kit: /Kit Aliases_Command_Kit: /Kits Command_Adm: /KitAdm Aliases_Command_Adm: /KitsAdm Permission_Command_Adm: Kit.Adm # Ceci servira à créer ou supprimer des Kits ! Permission_ByPass_Cooldown: Kit.ByPass # Permission pour ByPass le délai d'un Kit ! Message_Kit_Create: &aVous avez crée le Kit &b{KIT} &a! Message_Kit_Use: &aVous avez obtenu le Kit &b{KIT} &a! Message_Kit_TimeLeft: &cErreur : Vous devez patienter &b{TIMELEFT} &c! Message_Kit_Delete: &cVous avez supprimé le Kit &b{KIT} &c! Kits_Dir: plugins/Kits Kits_File: plugins/Kits/Kits.yml # Répertoire du fichier des Kits ! on load: if folder "{@Kits_Dir}" does not exists: create folder "{@Kits_Dir}" wait 1 tick if file "{@Kits_File}" does not exists: create file "{@Kits_File}" function Replace(msg: text, kit: text, timeleft: text) :: text: replace all "{KIT}" with {_kit} in {_msg} replace all "{TIMELEFT}" with {_timeleft} in {_msg} return {_msg} function ExistenceOfKit(kit: text) :: boolean: if "%{kits::*}%" does not contain {_kit}: return false stop return true function TimeLeft(difference: timespan, delay: timespan) :: text: remove {_difference} from {_delay} set {_delay} to "%{_delay}%" set {_sp::*} to {_delay} split at " " {_sp::5} is set: set {_sp::1} to rounded down {_sp::1} parsed as a number set {_sp::4} to rounded down {_sp::4} parsed as a number set {_result} to "%{_sp::1}% %{_sp::2}% et %{_sp::4}% %{_sp::5}%" else: set {_sp::1} to rounded down {_sp::1} parsed as a number set {_result} to "%{_sp::1}% %{_sp::2}%" replace "second " with "seconde(s) " in {_result} replace "seconds" with "seconde(s)" in {_result} replace "minute " with "minute(s) " in {_result} replace "minutes" with "minute(s)" in {_result} replace "hour " with "heure(s) " in {_result} replace "hours" with "heure(s)" in {_result} replace "day " with "jour(s) " in {_result} replace "days" with "jour(s)" in {_result} return {_result} function KitCreate(p: player, kit: text, delay: text): ExistenceOfKit({_kit}) is true: send "{@Prefix} &cErreur : Ce Kit existe déjà !" to {_p} else: add {_kit} to {kits::*} set {_tool} to "%{_p}'s tool%" {_tool} contain "air": set {_icon} to "diamond sword" else: set {_check::*} to groups 0 of {_tool} matched to "[0-9]" {_check::*} is set: set {_separate::*} to {_tool} split at " " set {_icon} to {_separate::2} loop integers between 36 and 39: slot loop-integer of {_p} is air: add air to {_armors::*} else: add slot loop-integer of {_p} to {_armors::*} loop integers between 0 and 35: slot loop-integer of {_p} is not air: add slot loop-integer of {_p} to {_items::*} set yml value "Kits.%{_kit}%.Icon" from file "{@Kits_File}" to {_icon} set yml value "Kits.%{_kit}%.Delay" from file "{@Kits_File}" to {_delay} set {_armor} to 0 loop {_armors::*}: add 1 to {_armor} save itemstack loop-value at "Kits.%{_kit}%.Armors.%{_armor}%" to file "{@Kits_File}" set {_item} to 0 loop {_items::*}: add 1 to {_item} save itemstack loop-value at "Kits.%{_kit}%.Items.%{_item}%" to file "{@Kits_File}" set {_msg} to Replace("{@Prefix} {@Message_Kit_Create}", {_kit}, "") send {_msg} to {_p} function GetKit(p: player, kit: text): {_p} does not have permission "kit.%{_kit}%": send "{@Prefix} {@Permission_Message}" to {_p} else: ExistenceOfKit({_kit}) is false: send "{@Prefix} &cErreur : Ce Kit n'existe pas !" to {_p} else: set {_delay} to yml value "Kits.%{_kit}%.Delay" from file "{@Kits_File}" set {_delay} to {_delay} parsed as a timespan difference between {kit.%{_kit}%.%{_p}%.lastused} and now is less than {_delay}: set {_timeleft} to TimeLeft(difference between {kit.%{_kit}%.%{_p}%.lastused} and now, {_delay}) set {_msg} to Replace("{@Prefix} {@Message_Kit_TimeLeft}", {_kit}, {_timeleft}) send {_msg} to {_p} else: set {kit.%{_kit}%.%{_p}%.lastused} to now #set {_items::*} to yml list "Kits.%{_kit}%.Items" from file "{@Kits_File}" set {_helmet} to get itemstack in file "{@Kits_File}" at "Kits.%{_kit}%.Armors.4" set {_chestplate} to get itemstack in file "{@Kits_File}" at "Kits.%{_kit}%.Armors.3" set {_leggings} to get itemstack in file "{@Kits_File}" at "Kits.%{_kit}%.Armors.2" set {_boots} to get itemstack in file "{@Kits_File}" at "Kits.%{_kit}%.Armors.1" if helmet of {_p} is air: set helmet of {_p} to {_helmet} else: add {_helmet} to {_items::*} if chestplate of {_p} is air: set chestplate of {_p} to {_chestplate} else: add {_chestplate} to {_items::*} if leggings of {_p} is air: set leggings of {_p} to {_leggings} else: add {_leggings} to {_items::*} if boots of {_p} is air: set boots of {_p} to {_boots} else: add {_boots} to {_items::*} set {_item} to 0 loop 36 times: add 1 to {_item} add get itemstack in file "{@Kits_File}" at "Kits.%{_kit}%.Items.%{_item}%" to {_items::*} loop {_items::*}: if {_p} has enough space for loop-value: give loop-value to {_p} else: drop loop-value at {_p}'s location {_full} is not set set {_full} to true set {_msg} to Replace("{@Prefix} {@Message_Kit_Use}", {_kit}, "") send {_msg} to {_p} {_full} is true send "{@Prefix} &cLes items restants sont au sol !" to {_p} function KitPanel(p: player): open chest with 6 rows named "&aListe des Kits" to {_p} set {_slot} to 0 loop {kits::*}: set {_icon} to yml value "Kits.%loop-value%.Icon" from file "{@Kits_File}" set {_delay} to yml value "Kits.%loop-value%.Delay" from file "{@Kits_File}" set {_icon} to {_icon} parsed as an item set {_delay} to {_delay} parsed as a timespan difference between {kit.%loop-value%.%{_p}%.lastused} and now is less than {_delay}: set {_timeleft} to TimeLeft(difference between {kit.%loop-value%.%{_p}%.lastused} and now, {_delay}) make a gui slot {_slot} of {_p} with {_icon} named "&cIndisponible" with lore "&b%{_timeleft}%" to close then run {_p} command "{@Command_Kit} %loop-value%" add 1 to {_slot} else: make a gui slot {_slot} of {_p} with {_icon} named "&aDisponible" to close then run {_p} command "{@Command_Kit} %loop-value%" add 1 to {_slot} function KitDelete(p: player, kit: text): ExistenceOfKit({_kit}) is false: send "{@Prefix} &cErreur : Ce Kit n'existe pas !" to {_p} else: remove {_kit} from {kits::*} delete yml value "Kits.%{_kit}%" from file "{@Kits_File}" set {_msg} to Replace("{@Prefix} {@Message_Kit_Delete}", {_kit}, "") send {_msg} to {_p} command {@Command_Adm} [<text>] [<text>] [<timespan>]: aliases: {@Aliases_Command_Adm} trigger: if player does not have permission "{@Permission_Command_Adm}": send "{@Prefix} {@Permission_Message}" else: arg 1 is not set: send "{@Prefix} &cErreur : Vous devez préciser un argument !" else: arg 1 is not "Create" or "Delete": send "{@Prefix} &cErreur : Cette commande n'existe pas !" else: arg 1 is "Create": arg 2 is not set: send "{@Prefix} &cErreur : Vous devez préciser un nom !" else: arg 3 is not set: send "{@Prefix} &cErreur : Vous devez préciser une durée !" else: KitCreate(player, arg 2, "%arg 3%") else if arg 1 is "Delete": arg 2 is not set: send "{@Prefix} &cErreur : Vous devez préciser un nom !" else: arg 3 is set: send "{@Prefix} &cErreur : Usage : {@Command_Adm} Delete <Nom> !" else: KitDelete(player, arg 2) command {@Command_Kit} [<text>]: trigger: arg is not set: KitPanel(player) else: GetKit(player, arg) et l'addon: https://drive.google.com/file/d/0BwfOzDa2CcfBbmJ5aVMtRm9OYzQ/view?usp=sharing [spoiler=Exemple de kit sauvegardé (seigneur) ] Kits: Seigneur: Icon: sword Delay: 5 seconds Armors: '1': ==: org.bukkit.inventory.ItemStack type: IRON_BOOTS meta: ==: ItemMeta meta-type: UNSPECIFIC display-name: Bottes du seigneur repair-cost: 1 '2': ==: org.bukkit.inventory.ItemStack type: AIR '3': ==: org.bukkit.inventory.ItemStack type: DIAMOND_CHESTPLATE meta: ==: ItemMeta meta-type: UNSPECIFIC display-name: Plastron du seigneur enchants: PROTECTION_ENVIRONMENTAL: 4 PROTECTION_FALL: 4 OXYGEN: 3 repair-cost: 15 '4': ==: org.bukkit.inventory.ItemStack type: DIAMOND_HELMET meta: ==: ItemMeta meta-type: UNSPECIFIC display-name: Casque du seigneur enchants: OXYGEN: 3 repair-cost: 3 Items: '1': ==: org.bukkit.inventory.ItemStack type: DIAMOND_SWORD meta: ==: ItemMeta meta-type: UNSPECIFIC display-name: "\xc9p\xe9e du seigneur" enchants: DAMAGE_UNDEAD: 5 repair-cost: 1 '2': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '3': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '4': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '5': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '6': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '7': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '8': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '9': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '10': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '11': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '12': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '13': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '14': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '15': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '16': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '17': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '18': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '19': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '20': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '21': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '22': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '23': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '24': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '25': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '26': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '27': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '28': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '29': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '30': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '31': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '32': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '33': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '34': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '35': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453 '36': ==: org.bukkit.inventory.ItemStack type: POTION damage: 16453
    1 point
  2. Bonjour / Bonsoir. J'ai une bonne et une mauvaise nouvelle. Je commence par la mauvaise: Skript n'est pas capable de sauvegarder les metas données entières (nom, lore, enchants, ect...) Votre skript est donc impossible tel quel. La bonne nouvelle, c'est que j'ai développé un petit addon java auquel j'ai rajouté les effets et expressions nécessaires pour réaliser votre skript. Il vous faudra juste quelques Ko de mémoire supplémentaire ;) . Voilà ce que donne un item sauvegardé avec l'addon. itemexemple: ==: org.bukkit.inventory.ItemStack type: DIAMOND_SWORD meta: ==: ItemMeta meta-type: UNSPECIFIC display-name: The Best enchants: DAMAGE_ALL: 3 repair-cost: 3 Je vais réadapter le skript de @PsYZiiK avec l'addon, le skript sera donc pret vers la fin de la semaine. Cordialement, RedSpri
    1 point
×
×
  • 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.