-
Compteur de contenus
321 -
Inscription
-
Dernière visite
-
Jours gagnés
17
Type de contenu
Profils
Forums
Téléchargements
Tout ce qui a été posté par Anarchick
-
Comment Spigot ne peut pas plaire à quelqu'un ? Spigot intègre Bukkit et ajoute des améliorations à celui-ci , 99% des plugins Bukkit sont compatible avec Spigot mais le plus important ... Skript et ses addons sont fait pour Spigot et pas Bukkit ! (argument imparable ça) PS: passer sous Spigot ne garantira pas que ton problème sera résolu, mais il te fera au minimum la prévention d'autres problèmes futur impossible à résoudre sous Bukkit.
-
ouaip mais tu as besoin d'un addon pour le "as op" execute console command "/gamemode spectator %player's name%" Qui dit mieux ? (nan en vrai arrêtons de chipoter, il veut un code Skript à mon avis ... pas du Vanilla qui marche forcement sinon ce n'est pas drôle)
-
Désactiver les commande sauf certaine
Anarchick a répondu à un(e) question de KrizaGames dans Résolus
On command: sender is not op or console #Une petite sécurité que tu peux supprimer si tu n'aime pas. if Command is not "log" or "login" or "/l" or "/register" or "/reg": Cancel event else: send "<pink>Tu dois d'abord t'enregistrer pour faire cette commande" to sender -
Utilise "event-entity" et regarde si mes broadcast s'affichent bien (afin de déterminer où est le bug) on spawn: broadcast "Ho j'ai cru voir un %event-entity%" if event-entity is a Zombie: broadcast "Un zombie est vivant .... mort" if "%region at entity%" contains "test": broadcast "Et il va être baptisé" set name of event-entity to "&6&lZombie Putrifié" set rf max hp of event-entity to 6 else: broadcast "A non, il est mort de chez mort" cancel event
-
J'ai moi même un gros problème d'orthographe mais ta syntaxe n'est presque pas compréhensible. Pense à te relire ou à corriger tes fautes quand tu vois qu'un mot est surligné en rouge (Si tu ne veux pas être accusé de langage SMS ou aucun effort d'écriture) Je n'ai pas testé: on Death of player: if {revive.%player%} is true: clear drops Ce code supprime les drops mais ne permet pas au joueur de garder son inventaire lors du respawn. Si tu veux que le joueur garde son inventaire lors du respawn (donc sans l'avoir drop en mourant), reformule ta question correctement avec moins d'erreurs s'il te plait ;)
-
C'est exactement ce que j'utilise sur mon serveur: Fait un truc du genre: function DamageReset(p: player): set {%{_p}%::damage.reset} to now wait {@reset.damage} seconds if difference between {%{_p}%::damage.reset} and now is more than {@reset.damage} seconds: delete {%{_p}%::killer} delete {%{_p}%::LastDamageType} on damage: set {_p} to victim's name if attacker is a player: set {%{_p}%::killer} to attacker's name set {%{_p}%::LastDamageType} to damage cause DamageReset(victim) on death of player: set {_p} to player's name if {%{_p}%::killer} is set: set {_killer} to "%{%{_p}%::killer}%" parsed as offline player #au cas ou la personne s'est déco pendant les 10s [TON CODE] delete {%{_p}%::killer} delete {%{_p}%::LastDamageType} on quit: set {_p} to player's name delete {%{_p}%::killer} delete {%{_p}%::LastDamageType} J'utilise {%{_p}%::*} car c'est plus simple pour gérer des données de joueur et de les retrouvé facilement sans foutre le bordel. Et puis pour supprimer toutes les données c'est plus simple ^^
-
Comme Syst3ms l'a si bien dit tu trouvera tout dans les liens qu'il a donné (enfin le lien puisqu'il ne pointe pas vers skunity ... mais bon ta un cerveau et internet donc ça devrait allez ^^) Les pack d'addon sont déconseillés mais bon ... voici mon serveur test https://drive.google.com/open?id=1AnvC_spWVg2d4TXAPU86cGD5PjsS_Sv- que j'ai testé sans trouvé de problème pour la 1.9.2/1.9.4 et 1.10.2 . Il n'y a pas tous les addons, ils ne sont pas tous à jour, mais ils sont quasi compatibles. Je ne te recommande pas ce "pack" si tu souhaite faire un serveur sur 1.12 (je n'ai pas testé mais bon j'utilise Skript 2.2 Njol et il vaut mieux utiliser la dernière dev Skript de Bensku) EDIT: Je ne met pas à jour le contenu de ce serveur test, ce lien était à la base pour un problème que j'avais sur skunity, je ne fais pas de SAV dessus et tu n'es pas obligé de l'utiliser (il vaut mieux que tu trouve toi même tes addons, ça te fera progressé en Skript)
-
Ma fonction permet de : - envoyer le title à 1 ou plusieurs personnes exemple: Title(all players, "Ceci est un titre", "et la un sous titre", 7, 30, 7) Title(all ops, "les OP", "sont les seuls à voir ce message", 0, 20, 0) loop all player's in world "PVP": add loop-value to {_players::*} Title({_players::*}, "", "Seuls les joueurs dans le monde PVP voient ce sous-titre bien trop long pour être affiché à l'écran :p", 20, 10, 40) - Il est possible d'envoyer uniquement un titre sans sous-titre OU un sous titre sans titre exemple: Title(player, "Seulement un titre", "", 0, 20, 0) Title(player, "", "Juste un sous titre", 0, 20, 0) - Le code couleur et les variables peuvent être utilisé: exemple: Title(player, "<yellow>titre jaune et &6orange", "<green>sous titre vert et <blue>bleu", 0, 20, 0) Title(player, "<yellow>Variable %player% %{_nombre}%", "", 0, 20, 0) - Et aussi de dire combien de temps le message doit d'afficher à l'écran avec un fondu au début, le temps avec une opacité du texte à 100%, puis un fondu à la fin (le tout en ticks sachant que 1 tick =1/20 second et donc 1 seconde = 20 ticks par logique) exemple: Title(player, "fondu entré 40 tick - texte opaque pendant 1 second", "fondu en sortie rapide de 7 ticks", 40, 20, 7) 40 ticks est donc égale a 2 secondes Au niveau du code en lui même tu ne comprend pas "parsed as timespan" ? exemple: set {_time} to "%{_time}% ticks" parsed as timespan C'est pour dire que la variable {_time} doit être compris par le programme comme une durée (ce qui pour skript est différent d'un nombre) C'est comme si tu demander au skript d'afficher le message "fromages secondes" ce qui n'as aucun sens... Le parsed as timespan sert à donner ce sens "4 secondes" par exemple. Il existe plusieurs types de parsed selon ce que l'on doit faire (à n'utiliser que si besoin est pour allégé le code) parsed as integer parsed as number parsed as text et autres ...
-
function Title(p: players, title: string, subtitle: string, in: integer, time: integer, out: integer): set {_in} to "%{_in}% ticks" parsed as timespan #Je n'utilise pas le format timespan dans les arguments de la function pour que ce soit plus simple de seulement utiliser des nombres set {_time} to "%{_time}% ticks" parsed as timespan #J'utilise le parsed as timespan ici et non dans le code effectif pour soulager le processeur set {_out} to "%{_out}% ticks" parsed as timespan loop {_p::*}: #bien sûr tu peux utiliser l'addon que tu veux pour le send title send loop-value title "%{_title}%" with subtitle "%{_subtitle}%" for {_time} with {_in} fade in and {_out} fade out test avec : Title(all players, "", "<yellow>%{join}% <gold>joueurs", 7, 30, 7)
-
pour la location : set {_loc} to location of a random player #afin d'obtenir le monde facilement set x-location of {_loc} to {_x} Mon code plus haut ne t'aide pas ? info : parsed as item est différent de parsed as items
-
je pense que la solution cité plus haut marchera, mais tu sais, tu n'es pas obligé de donner un index sous forme de nombre a uneliste, tu peux aussi mettre du texte ou un nombre a virgule ! set {test::3615PapaNowel} to "test" ou {test::3,14} si tu demande le "%loop-index%" il te ressortira le text que tu as mis (ce qui est très pratique pour stoquer 2 info dans une variable : index & value)
-
Tu peut essayer de stocker "nbt of loop-item" en yml et ensuite faire "add {_nbt} to nbt of {_item}" je stock aussi des items en yml mais pas tous les nbt donc ce ne sera qu'une piste pour t'aider : mon yml Implosion: leather chestplate named Plastron - Implosion with lore +20% Resistance Implosion of durability 0 colored 85, 255, 255 une partie de mon code : function equip(p: player, type: text, name: string): set {_id::*} to single value "Skin.%{_type}%.%{_name}%" get of "SERVER.yml" split by " colored " set {_color::*} to {_id::2} split by ", " set {_item::*} to ("%{_id::1}%") parsed as "%item% named %string% with lore %string% of durability %number%" set {_color} to BtooomColor("%{_item::2}%") set {_item} to {_item::1} named "%{_color}%%{_item::2}%" with lore "%{_item::3}%" set durability of {_item} to {_item::4} set red color of {_item} to ({_color::1} parsed as integer) set green color of {_item} to ({_color::2} parsed as integer) set blue color of {_item} to ({_color::3} parsed as integer) set {equip::%{_p}%::%{_type}%} to {_item} a noter que dans le yml, "colored 85, 255, 255" ne peut pas être parsed ce qui fait que j'ai du trouvé une alternative pour mettre la couleur de l'armure ;)
-
Problème avec un Skript de countdown (KIT)
Anarchick a répondu à un(e) question de Ecliips3 dans Résolus
Je n'ai pas test mais essaye ceci : [....] while difference between {pouvoirs.%player%.lastused} and now is less than 55 seconds: if {cd.%player%} is true: [suite du code] else: delete {pouvoirs.%player%.lastused} stop # ou exit loop -
Holà je sais que beaucoup d'entre vous n'aime pas utiliser les yml mais cela reste très pratique pour stocker des données ne demandant pas une lecture/écriture rapide. Pourquoi ? Tout simplement parce que si tu as une centaine de noms bloqué et que tu foire un jour un de tes code ce qui va foutre le bordel dans ton fichier de variable.csv et que tu retrouve plus t'a sauvegarde tu sera très content de ne pas avoir à retaper cette centaine de noms :p De plus le fichier yml peut s'éditer manuellement sans avoir besoin de faire un reload Bref c'est très pratique (uniquement) pour les skript "lent" comme celui que tu nous présente? Personnellement j'utilise les yml pour conserver les infos/statistiques des joueurs/serveur et mon variables.csv pour tout ce qui change rapidement et qui se fait reset à chaque nouvelle partie et bien sûr ça ne pose aucun ralentissement. Si quelqu'un trouve un moyen de cheat ce sera très simple pour moi de regarder son fichier yml pour savoir ce qu'il a fait.
-
C'est simple tu as mis le code "stop" a la fin ! ça arrête totalement le skript quand tu ajoute ce code A titre informatifs il existe aussi "exit loop" pour sortit de tout type de loop ou while. Dans ton cas tu as juste a supprimer la dernière ligne et ça marchera sur tous les joueurs. Et pour info c'est une mauvaise idée d'utiliser l'event every 1 second, tu as plus optimal : Je suppose que tu utilise bungeecoord et que tu as un sous-serveur dédié au Hn'S ? Si c'est le cas utilise plutôt : on join: while player is online : [TON CODE] wait 1 second Si ce n'est pas le cas utilise une fonction ou autre function HnSSCOREBOARD(p: player): while {Game.HnS.%{_p}%} is true: [code] wait 1 second
-
En codant correctement ton Skript tout simplement ! Un Skript ou un Plugin ça ne fait que ce que tu lui dis de faire, si tu code un Skript avec des condition du genre "If event-world is "PVP":" et que le reste du code suis la même logique y aura pas de mystère. Je ne dis pas que ça n'existe pas mais je n'ai pas connaissance d'un tel plugin désolé.
-
En gros t'as un problème de version Skript et version serveur https://skmirror.pw/skript https://github.com/bensku/Skript/releases https://skmirror.pw/addons [/url] Pour la version Skript tu as le choix entre la version Skript2.2 Njol (qui ne fait plus de maj) ou une version *non officiel* de Bensku (il fait souvent des maj) Perso j'ai une grosse préférence pour la 2.2 v9b-fixes (une version plutôt rare en téléchargement j'ai l'impression) avec laquel je n'ai aucun soucis (testé en 1.8.9 / 1.9.x / 1.10.2) https://drive.google.com/open?id=1AnvC_spWVg2d4TXAPU86cGD5PjsS_Sv- Encore merci syst3ms pour mon calcul de trajectoire ;)
-
En 1.10 : set player's gamemode to spectator Marche très bien, si ce n'est pas le cas : 1) Verifie un truc débile mais au cas ou : broadcast "%player%" Si ça ce trouve ton code s’exécute en tant que Console et non comme un Joueur Si le chat te renvoie effectivement ton pseudo passe a l'étape 2 2) Test avec set player's gamemode to survival Si avec cette commande tu arrive a passer de survival vers creative et inversement alors le probleme viens du mot "spectator" 3) Le mot "spectator" n'est donc pas reconnu par ta version Skript Tu vas donc demander à Skript de savoir comment il te considere quand tu es en mode spectator Donc tu te fait un petit /gamemode spectator ou /gm 3 (ça revient au même si tu as essential.jar) Maintenant que ton perso est en mode spectateur tu demande à Skript ceci broadcast "%player's gamemode%" Et puisque j'avais déjà eu ce problème il y a quelques année je ne me souviens plus trop de la réponse dans le chat mais c'était écrit quelque chose comme "gamemode.spectator" 4) Tu connais a présent la façon dont Skript te considère et tu vas donc faire une mise à jour de Skript.jar ou bien avec un peu de chance ceci marchera : set player's gamemode to gamemode.spectator Sachant que ce qui suit marchera forcement : execute console command "/gamemode spectator %player%" if "%player's gamemode%" is "gamemode.spectator"
-
Possible de calculer le boost d'attaque d'un joueur ?
Anarchick a répondu à un(e) question de __MonsterKid__ dans Inactifs
mmh je suppose que tu sais déjà comment faire avec un "every %timespan%" et c'est vrai que ca ferait beaucoup de calcul pour rien, par contre tu peux faire la même chose mais avec un "While {_IsFighting} is true:" C'est a dire que tu commence a calculer uniquement après le premier coup (=engagement du combat) et evidment tu stop la boucle lors de la mort de la victim ou autre. De ce faite tu limite les calculs uniquement aux joueurs en mode combats. ( j'arrive a faire une centaine de calcul assez complexe avec des vecteurs 3D chaque tick donc ça devrait largement ne pas galéré avec 10 joueurs simultanément) Le truc a retenir en Skript c'est qu'il vaut mieux remplacer tous les "every X second" par des "While ..." -
Astuce pour détecter toi même où plante ton code : rajoute Broadcast "1" avant chaque [send "{@Piratage_Echoué}"] évidement remplace le numéro 1 par 2 puis 3 ... De cette manière tu sauras avec plus de précision là ou ton code s'est arrêté.
-
ta demande est possible si tu recode ENTIEREMENT un système de gestion des dégats avec un On damage: cancel event set {_damage} to damage set {_health} to health of victim # [...] ici tu tape ton code de gestion des dégâts en modifiant la variable {_damage} {_damage} > 0 set health of victim to {_health} - {_damage} Perso c'est ce que j'ai fais pour mon serveur, aucun dégâts n'est géré par le système Vanilla, j'ai tout défini avec mes propres critère afin d'obtenir un système très complexe et c'est juste génial de pouvoir s'affranchir du système traditionnel.
-
Je suis toujours en spigot 1.9 donc je n'ai pas le nbt NoGravity mais il me semble qu'il n'est pas possible de push une entitée qui a ce nbt
-
Heureux que ça t'ai aidé. Oui ça marche avec SkriptPlus OU WildSkript https://www.skunity.com/search?search=calendar#
-
Ajouté des blocks a une liste, et les variers
Anarchick a répondu à un(e) question de XTReMxLogik dans Inactifs
Salut, désolé je ne compte pas t'aider sur ton problème mais je te met en garde d'un petit problème avec ta demande : Il est possible avec un ressource pack de modifier la texture des Chest de celle des Trapped Chest (d’ailleurs si tu es assez attentif tu remarquera qu'avec le ressource pack de base les 2 textures sont très légèrement différente et il donc possible de dire visuellement a quel type de coffre on a en face de nous). Je te recommande d'utiliser un ressource pack sur ton serveur avec la même texture pour le Chest et Trapped Chest ;) Enfin c'est juste un détail ridicule mais je préfère t'avertir. -
set {cooldown} to "%day%/%month%" if "%{cooldown}%" is not "%day%/%month%": Tout simplement ;) INFO : Il veux que la variable cooldown se supprime à minuit en gros, sauf que si le serveur n'est pas en marche à minuit ça va poser problème pour exécuter le code de suppression. Je pense que tu as compris mon code mais au cas où : > Si tu execute la commande à 23h59 ou 17h30 ou 00h01 la variable {cooldown} prendra la valeur "5/8" pour le 5 aout (date de ce message) > Donc tu si tu exécute une seconde fois la commande le 5 aout la variable sera toujours "5/8" ce qui fais que .. bah tu pourra pas refaire la commande. > Le lendemain ou n'importe qu'elle autre jour de l'année la variable prendra une valeur différente. Exemple demain nous serons le "6/8". > "6/8" est différent de "5/8" donc la condition te permettra d’exécuter la suite du code. Pourquoi j'ai rajouté le mois ? Parce qu'imaginons que le joueur ne se connecte pas pendant précisément 1 mois et bah la variable sera la mème ce qui pose problème. Ainsi en ajoutant le mois le problème ne se répète pas tous les 30 jours mais tous les 365 jours ce qui et plus logique.
