Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 14/02/2025 dans toutes les zones

  1. Salut, les pourcentages d'effet de Force, Résistance ou Vitesse (à par walk speed) en Skript c'est pas possible à ma connaissance sans utiliser du java à côté, mais ce que tu peux faire c'est créer une échelle pour tes propres pourcentages. En gros, par exemple, si un joueur est censé avoir 10% de Force, on va dire que 10% de Force équivaut à augmenter ses dégâts infligés de 10% soit les multiplier par 1,10. Donc tu pourrais faire en sorte que lorsqu'un joueur qui est censé avoir, dans ce cas par exemple 10% de Force, ça fasse que lorsqu'il inflige un dégât, ça met un nombre de dégâts bonus : on damage of player: if attacker is a player: if {pourcentage::force::%attacker%} is not 0: set {_damage} to damage damage victim by {_damage}*(1-{pourcentage::force::%attacker%}) command /force: trigger: set {pourcentage::force::%player%} to 20 C'est un bout de code fait rapide, mais ça devrait bien t'aider à comprendre l'idée. Si ça pose toujours problème je suis là.
    1 point
  2. Edit: J'ai trouvé, petite astuce si vous passez par ici : Essayer de faire ceci "on packet event TON_PACKET:" et de vous envoyez les valeurs pour voir ce qu'il faut mettre dans les fields des packets ! 😉
    1 point
  3. Salut, Je t'invite à faire quelques recherches avant de poster, ce skript là n'est pas très compliqué.. Le voici : on damage: if damage cause is fall: if victim is blocking: cancel event N'oublie pas de clore le sujet si ça marche.
    1 point
  4. Salut, j'ai fais ce que tu demandes avec une petite optimisation légère on left click with a stone sword on a door: if {crochet::%player%} is not set: set {crochet::%player%} to true while target block is a door: add 1 to {_counter} clear {_bar::*} loop 10 times: if {_counter} >= loop-value: add "&c▌" to {_bar::*} else: add "&3▌" to {_bar::*} set {_bar} to "%{_bar::*}%" replace all ", " and " and " in {_bar} with "" send action bar "&3Crochetage: %{_bar}%" to player if {_counter} = 10: send action bar "&3Crochetage: &aDéverouillé !" to player remove 1 of stone sword from player's inventory toggle clicked block clear {crochet::%player%} stop wait 20 tick clear {crochet::%player%}
    1 point
  5. Bonjour, J'ai retravaillé ton script pour en tirer ceci au final : #> Listes des commandes utiles: # - /room create <nom> pour créer une salle à la position du joueur # - /room remove <nom> pour supprimer une salle # - /room tp <nom> pour se téléporter à une salle, même hors d'une période de report # - /room list pour lister toutes les salles # - /report <player> <text> pour reporter un joueur avec un motif # - /reportscore [<offline player>] pour récupérer le nb de reports d'un ou plusieurs jours options: inter : &8&l[&6Intervention&8&l] &f report : &8&l[&6Report&8&l] &f command /room <text> [<text>]: trigger: if player is op: if arg-1 is "create": set {salle::inter::%arg-2%} to location of player send "{@inter} &aLa salle &b%arg-2% &aa bien été créée" if arg-1 is "remove": clear {salle::inter::%arg-2%} send "{@inter} &cLa salle &b%arg-2% &ca bien été supprimée" if arg-1 is "list": loop {salle::inter::*}: send "%loop-index% >> %loop-value%" if arg-1 is "help": send "&b&l> Menu d'aide" send " &e/room create <nom> &apour créer une salle" send " &7(se placer à l'emplacement puis appliquer la commande)" send " &e/room remove <nom> &apour supprimer la salle" send " &e/room tp <nom> &apour se téléporter à une salle sans report" send " &e/room list &apour afficher les salles et leurs coordonnées" send " &e/room help &apour voir ce texte" if arg-1 is "tp": teleport player to {salle::inter::%arg-2%} command /inter [<text>] [<text>]: trigger: if player is op: if arg-1 and arg-2 is set: if {salle::inter::%arg-1%} is set: if arg-2 is "close": set {salle::inter::%arg-1%::bool} to false clear {report::%player%::*} send "{@inter} &aLa salle d'intervention &b%arg-1% &aest de nouveau disponible" else: send "{@inter} &cCette salle n'existe pas" else: set {_inv} to chest with 1 row named "Salles d'intervention" set {_slot} to 0 loop {salle::inter::*}: if {salle::inter::%loop-index%::bool} is true: set slot {_slot} of {_inv} to red concrete named "Salle occupée" else: set slot {_slot} of {_inv} to grey concrete named loop-index add 1 to {_slot} open {_inv} for player on inventory click: if name of event-inventory is "Salles d'intervention": cancel event if event-slot is not empty: teleport {report::%player%::*} to {salle::inter::%name of event-item%} set {salle::inter::%name of event-item%::bool} to true command /report <player> <text>: trigger: if player is op: # Ajout d'un report sur le dossier du joueur add 1 to {report::%arg-1%} # Ajout du joueur report et du joueur staff dans une var list pour tp add arg-1 and player to {report::%player%::*} send "{@report} /inter pour se téléporter dans une salle d'intervention avec le(s) joueur(s) reporté(s)" # Message d'information loop all players: if loop-player is op: send "{@report} %player% a reporté %arg-1% pour le motif suivant : %arg-2%" command /reportscore [<offline player>]: trigger: if player is op: if arg-1 is not set: send "{@report} > Nombre de report par joueur" loop {report::*}: send " - %loop-index% : %loop-value%" else: send "{@report} %arg-1% a actuellement %{report::%arg-1%}% report(s)" Il fonctionne à peu près comme tu as pu le décrire, et surtout par rapport à ce que j'ai pu en comprendre :') Je t'ai aussi mis dans le script plusieurs notes concernant les commandes. Si tu as des questions, ou si un truc ne fonctionne pas, hésite pas à revenir vers moi ! 🙂 ++
    1 point
  6. Bonjour, Quand tu fermes ton inventaire, il faudrait que tu sauvegardes le contenu de celui-ci dans une variable liste. Je sais pas si tu veux absolument garder le slot exact pour ton item. function saveCoffre(p:player,inv:inventory): clear {chest::%{_p}%::items::*} loop all items in {_inv}: add loop-item to {chest::%{_p}%::items::*} Pour ma part, je te suggère de juste rajouter les items dans une liste sans prendre en compte le slot. On la clear à chaque fois, puis on la remplit de nouveau. Ensuite, pour ajouter tous tes items dans un inventaire virtuel, tu vérifies si ta variable liste est bien set : ici, la variable est {chest::%player%::items::*} function restoreCoffre(p:player,inv:inventory): set {_slot} to 0 loop {chest::%{_p}%::items::*}: set slot {_slot} of {_inv} to loop-value add 1 to {_slot} Après, il te suffit d'appeler la fonction saveCoffre à chaque fois que tu fermes l'inventaire du coffre virtuel, et appeler la méthode restoreCoffre quand tu cliques sur une endstone définie en tant que coffre virtuel. Si tu as des questions, ou besoin d'un coup de main pour la suite, hésite pas ! 😄 ++
    1 point
  7. Hello, tu as donné tes solutions ahah. Tu as simplement à check le motd Et ainsi, en fonction, teleporter ou pas. if "%motd%" is "truc"
    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.