FoxiZ Posté(e) le 31 mai 2019 Posté(e) le 31 mai 2019 (modifié) minecraft version: 1.12.2 version skript: la toute dernière (2.3) Voilà, je débute sur skript et je cherchais à créer un skript pour une ville. J'ai fais des tests pour afficher les messages et tout mais j'ai voulus ajouter une liste pour que les villes apparaissent quand on ferai une commande du style /city list pour voire les villes déjà créer. Je pensais ajouter aussi une commande ( /city info "NomVille") permettant de voir un côté plus de gestion comme les membres de la villes, les taxes que mettrait le maire. Le côté gestion du maire devrait se faire avec un inventaire virtuel mais je me demandais si cet inventaire devait être dans le skript actuel ou si je peux le faire à côté de ce skript et qu'ils soit lié au skript plus des commandes : création; invitation; gestion du niveau de taxes; promotion de la personne. Si il faut que je détaille plus l'idée générale, vous pouvez me le précisez, j'ai à peut-prêt noter tout sur un document pour un minimum d'organisation 😅 options: villes.max: 1000 command /city <text> <text>: usage: §c/city <create/disband> <ville> trigger: if arg 1 is "create": if arg 2 is set: set {_n} to 0 loop {villes::*} add 1 to {_n}: if {_n} >= {@villes.max}: send "§4 Le nombre maximum de villes est atteints, veuillez attendre une suppression de ville ou rejoignez une ville" if {_n} < {@villes.max}: broadcast "§6La ville §l§b§n%arg 2% §r§6vient d'être créée !" else if arg 1 is "disband": clear {villes::%{_n} send "§c§o%arg 2% vient d'être détruite par une force supérieur !" [Cliquer et glisser pour déplacer] Donc, pour expliquer ce qui c'est passer dans ma tête pour écrire ça, tout d'abord, je fixe une limite de ville à 1000; ensuite si la commande /city "create/disband" "nomdeville" est tapé, les boucles if me permettent de savoir si il s'agit de créer ou supprimer sa ville. J'ai ensuite créer une liste à laquelle j'ajoute 1, si l'ajout de 1 fait arriver le nombre total 1000 à la liste, que ce soit supérieur ou égale, la liste a atteint le niveau max donc on envoie un message pour le signaler au joueur essayant de créer une ville. Si c'est la commande comportant le "disband", la ville est supprimé de la liste. Mais apparemment j'ai un problème avec la liste car sans la liste sa envoie juste le message mais une fois que j'ai mis la liste, plus rien... Je suis bloqué donc je vous demande de l'aide sur ce point là. FoxiZ_, un simple débutant de skript 🙂 Modifié le 31 mai 2019 par FoxiZ
Rémi Posté(e) le 31 mai 2019 Posté(e) le 31 mai 2019 Bonjour, Merci de bien vouloir lire les règles de présentation avant de poster votre demande.
FoxiZ Posté(e) le 31 mai 2019 Auteur Posté(e) le 31 mai 2019 J'ai modifier, désolé pour la première version, j'aurai du faire plus gaffe ^^
FoxiZ Posté(e) le 31 mai 2019 Auteur Posté(e) le 31 mai 2019 Bon, j'ai modifié le code mais je cherche à faire apparaître la liste des villes aussi avec la commande /city list d'où les 3 dernières lignes pour la liste. Au passage, le skript est fonctionnelle pour créer une ville par personne, je vais travailler sur l'ajout de personne à la ville, me contacter si vous avez des conseils ou pour savoir si j'ai avançais sur ce skript, ça ne me dérange pas de partager mon travaille, j'ai tellement galérer à trouver le moyen de le faire que chaque personne intéressé peut me le demander... command /city <text> <text>: usage: /city <create/disband/list> <Ville> trigger: if arg 1 is "create": if arg 2 is set: if {villes::%arg 2%} is set: send "§cNom de ville déjà utilisé" else: loop {villes::*}: if {villes::%loop-value%::joueurs::*} contains player: send "§cVous avez déjà une ville !" stop set {villes::%arg 2%} to arg 2 add player to {villes::%arg 2%::joueurs::*} broadcast "§9%arg 2% §6§oa été fondé avec succès !" else: send "§cVous devez mettre un nom de ville" if arg 1 is "disband": if arg 2 is set: if {villes::%arg 2%} is set: delete {villes::%arg 2%} broadcast "§9%arg 2% §6§oa été détruite par une force supérieur !" else: send "§ccette ville n'existe pas" else: send "§cvous devez mettre un nom de ville" if arg 1 is "list": loop {villes::*}: send "%loop-index%"
Ethnae Posté(e) le 1 juin 2019 Posté(e) le 1 juin 2019 (modifié) Bonjour, Voici pour toi une première idée de ce que tu pourrais continuer : options: max_cities: 3 command /city [<text>] [<text>]: executable by: players trigger: if arg-1 is not set: send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player send " " to player send "&b&l» &3Créer une ville &7: &b/&fcity &fcreate &3<&fnom&3>" to player send "&b&l» &3Supprimer une ville &7: &b/&fcity &fdisband &3<&fnom&3>" to player send "&b&l» &3Infos sur une ville &7: &b/&fcity &finfos &3<&fnom&3>" to player send "&b&l» &3Liste des villes &7: &b/&fcity &flist" to player send "" send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player else if arg-1 is "create": if arg-2 is not set: send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player send "&b&l» &3&lUsage : &f/city create &3<&fnom&3>" to player send "&b&l» &3&lExemple : &f/city create Paris" to player send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player stop set {_size} to size of {cities::*} / 2 broadcast "%{_size}%" if {_size} = {@max_cities}: send "&b&l» &3&lAction impossible : &flimite de villes atteinte. Veuillez attendre qu'une ville soit dissoute ou rejoignez-en une." to player stop if {%uuid of player%::hasacity} is not set: set {%uuid of player%::hasacity} to false if {%uuid of player%::hasacity} is not false: send "&b&l» &3&lAction impossible : &fvous possédez déjà une ville." to player stop if {cities::*} contains arg-2: send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player send "&b&l» &3Cette ville existe déjà !" to player send "&b&l» &3Nom : &f%arg-2%" to player send "&b&l» &3Propriétaire : &f%{cities::%arg-2%::owner}%" to player send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player stop add arg-2 to {cities::*} set {cities::%arg-2%::owner} to player set {%uuid of player%::hasacity} to true broadcast "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" broadcast "&b&l» &3&lLa ville &b&l%arg-2% &3&lvient d'être fondée !" broadcast "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" else if arg-1 is "disband": if arg-2 is not set: send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player send "&b&l» &3&lUsage : &f/city disband &3<&fnom&3>" to player send "&b&l» &3&lExemple : &f/city disband Paris" to player send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player stop if {cities::%arg-2%::owner} is not set: send "&b&l» &3&lAction impossible : &fla ville renseignée n'existe pas." to player stop if {cities::%arg-2%::owner} is not player: send "&b&l» &3&lAction impossible : &fla ville renseignée ne vous appartient pas." to player stop clear {cities::%arg-2%} clear {cities::%arg-2%::owner} remove arg-2 from {cities::*} set {%uuid of player%::hasacity} to false broadcast "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" broadcast "&b&l» &3&lLa ville &b&l%arg-2% &3&lvient d'être dissoute !" broadcast "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" else if arg-1 is "list": send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player send "&b&l» Liste des villes :" to player loop {cities::*}: send "&3&l- &f%loop-value%" to player send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player else if arg-1 is "infos": if arg-2 is not set: send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player send "&b&l» &3&lUsage : &f/city infos &3<&fnom&3>" to player send "&b&l» &3&lExemple : &f/city infos Paris" to player send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player stop if {cities::%arg-2%::owner} is not set: send "&b&l» &3&lAction impossible : &fla ville renseignée n'existe pas." to player stop send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player send "&b&l» Informations sur %arg-2% :" to player send "&b&l» &3Nom : &f%arg-2%" to player send "&b&l» &3Propriétaire : &f%{cities::%arg-2%::owner}%" to player send "&3&l&m+--------------&b&l&m-------------------&3&l&m--------------+" to player Ethnae Modifié le 1 juin 2019 par Ethnae
Messages recommandés