Aller au contenu

Goetheus

Membre
  • Compteur de contenus

    64
  • Inscription

  • Dernière visite

  • Jours gagnés

    3
  • Crédits

    2 [Faire un don]

Goetheus a gagné pour la dernière fois le 1 avril 2018

Goetheus a eu le contenu le plus aimé !

Réputation sur la communauté

13 Neutre

À propos de Goetheus

  • Rang
    Membre

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

  1. Il n'y a pas d’événement pour cela car ça n'en n'est pas un. Le joueur doit cliquer et glisser déposer l'objet dans le slot de sa seconde main. Pour le détecter il te faudra passer par l'événement "On Inventory Click" (addon Skellett), et ajouter la condition IF en fonction du slot (celui de la seconde main, qui doit être le numéro 40 il me semble), un cancel event empêchera le joueur d'y placer n'importe quel item. A toi d'ajouter la condition qui vérifie l'item afin d'en autoriser certains et pas d'autres. Bonne chance !
  2. Oui, c'est pas faux. Surtout que SkQuery est déprécié, et on ne sait pas jusqu'à quand il sera mis à jour de manière non officielle... Il est fort probable qu'une création de GUI soit par la suite intégrée directement à skript. Je préfère SkQuery pour les GUI car c'est beaucoup plus flexible avec l'event inevntory click pour l'usage que j'en ai, notamment pour détecter différent types de cliques, et autres fonctionnalités un peu précises. C'est un choix, ça dépend de ce qu'on veut faire, c'est comme tout.
  3. Salut ! Si tu préfères rester sous skQuery, comme c'est le cas pour moi, tu peux toujours faire ça (en ayant l'addon Skellett) : on inventory click: if inventory name of players's current inventory is "&8Jeux &7/ &8Games": cancel event #do stuff
  4. Goetheus

    Changer de monde ?!

    Salutations @Happy Tu peux utiliser la function location() dans skript de base (Bensku Fork). Voilà un exemple : location(x, y, z, world("%world%")) set {_location} to location(10, 150, 25, world("spawn")) teleport player to {_location}
  5. Salut @Razo ! Wildskript a été déprécié. Il n'est plus supporté et ne sera plus mis à jour (depuis longtemps en fait). Je te suggère le très bon addon SkUtilities pour la gestion des fichiers yaml. Les syntaxes sont claires, simples, et il y a un bon tuto juste ICI.
  6. Salut @Maxl Skript n'est pas content car tu as des loops dans des loops, or il ne sait donc plus de quel loop tu parle quand tu utilise loop-block ou loop-value...etc. loop all players: %loop-player% loop blocks above {_tprandom.loc::new}: %loop-block-1% loop blocks above {_tprandom.loc::new}: %loop-block-2% Tu peux évidemment faire référence à un loop antérieur dans un loop descendant et donc par exemple comparer un bloc du premier loop-block dans le second...etc.
  7. Salut @_MonsterKid_ Si tu t'aventure dans cette voie, et crois moi c'est une mauvaise idée, il te faut CA ! On ne dispense pas de cours de trigonométrie dans le coin et je n'ai hélas pas du tout le temps de t'expliquer... Il te faudra utiliser des formules mathématiques. Bon courage...
  8. Goetheus

    Anti-Dispawn ?

    Salut à toi @Frip25 ! Tu as bien l’événement "on item despawn" avec l'addon Skellett. Il te suffit alors de faire un cancel event pour l'annuler (ce qui le fera avec tous les objets, pense donc à mettre une condition avant, pour le faire seulement si l'objet qui est censé disparaître correspond à un objet précis). Tu peux récupérer l'objet qui va disparaître avec %event-item% Tu peux aussi récupérer le lieu de la disparition avec %event-location% Et n'oublies pas que tu as toujours la possibilité de modifier la "durée de vie" des objets au sol sous Spigot, dans son fichier de configuration. Bon skripting !
  9. Goetheus

    aide addon skript-db

    Ouais je vois ce que tu veux faire, mais je n'ai jamais monté un serveur bungeecoord, et donc jamais eu besoin de faire de lien entre les serveurs, je ne peux rien pour toi à ce niveau là :/ Pour l'Access denied, c'est que tu as un soucis avec ton mot de passe et/ou ton user. Vu que tu as plusieurs serveurs, il te faut un user par serveur (sinon ça te fais des multiconnexions, et ça passera pas). Si tu as ta db sur la même machine que l'un de tes serveurs, là aussi, il vaut mieux y accéder en root avec l'adresse localhost (127.0.0.1) pour le serveur en question.
  10. Goetheus

    aide addon skript-db

    J'ai eu le même soucis d'accès à la db, mais impossible de me rappeler d'où ça venait... Il me semble que c'était côté phpmyadmin... Tu peux utiliser un debug avec %the last sql error% pour voir d'où ça vient exactement. Après tout ce que je peux te dire c'est que côté skellett, le mysql n'est pas sécurisé. Quand tu es connecté au client, facile d'intervenir sur les envois et les réceptions et faire des injections, quelqu'un d'autre l'expliquera sûrement mieux que moi, mais autrement dit, vaut mieux oublier. Et avec skript-db, j'ai finalement abandonné. Impossible de lire le code asynchroniquement, et impossible d'utiliser skript-db dans des fonctions skripts... Quand t'as un script dédié avec 50+ fonctions mysql que tu as besoin d'appeler, bah c'est la merde. Bref, d'une manière générale, tout ce qui concerne le mysql et skript est ultra beuggé. J'en suis retourné aux variables csv après 8 mois d'essais infructueux...
  11. @Arno a suggéré un script pour réaliser ce que je recherchais ! Voici donc la solution ! command /découper <integer> <text>: trigger: set {_text} to arg-2 set {_text::*} to {_text} split by "" set {_dist} to arg-1 set {_pos} to {_dist} set {_ok} to false while {_ok} is not true: set {_posok} to false while {_posok} is not true: if {_text::%{_pos}%} is " ": set {_posok} to true else: remove 1 from {_pos} set {_c} to (amount of {_pos::*}) if {_pos} is {_pos::%{_c}%}: set {_pos} to {_pos::%{_c}%}+{_dist} set {_posok} to true if {_pos} is 1: set {_pos} to {_pos::%{_c}%}+{_dist} set {_posok} to true add {_pos} to {_pos::*} set {_pos} to {_pos}+{_dist}+1 if {_pos} > amount of {_text::*}: set {_ok} to true add amount of {_text::*} to {_pos::*} set {_pos::0} to 0 loop (amount of {_pos::*}) times: broadcast subtext of {_text} between index {_pos::%(loop-value)-1%}+1 and {_pos::%loop-value%}
  12. Salutations ! Pour reset tes variables, soit tu les remet à zéro, soit tu les supprime ! set {red} to 0 delete {red} clear {red} delete ou clear font la même chose. Je n'ai pas compris tout ton jeu, mais tu as des blocs rouges qui envoient l'équipe bleu à la ramasse, et des blocs bleus qui envoient l'équipe rouge à la ramasse ? Le plus simple, ce serait de faire comme avant tes commandes, tu te met à l'emplacement d'un bloc, et au lieu de set une variable, tu set une liste. Il te faudra ton deux commandes, une pour les bleus et une pour les rouges. Par exemple : add %location of player% to {blue.blocklist::*} add %location of player% to {red.blocklist::*} Pour optimiser ton code et éviter de vérifier sans arrêt toutes les locations de tes varaibles afin de savoir si un joueur est sur un bloc. Je rajouterais des pressure plates sur les blocs et j'utiliserais l'évènement "On pressure plate". Ensuite tu loop chaque variable en vérifiant si la position du joueur sur la pressure plate = la position d'une variable. Si ça dis oui, il faut vérifier que le joueur soit dans la bonne équipe. Et si ça dis oui, tu le tp où tu veux. Donc dans un cas vers le spawn bleu, et dans l'autre, le spawn rouge ! Il y a des tas de façons différentes de réaliser ce que tu veux, mais en voici une ! Bon courage !
  13. Salutations à tous ! J'ai réalisé une fonction qui me permet de faire un retour à la ligne automatiquement sur un texte, selon la quantité de caractères. Avec TuSke, c'était censé être simple, puisqu'il existe la syntaxe suivante: set {_text::*} to split {_text} by {_number} characters Ainsi, le texte est découpé en morceau qui ne dépassent pas, dans mon cas, 50 caractères, prenant en compte chaque mot et ne coupant pas au travers d'eux. Or, cet effet ne fonctionne pas correctement, puisque sur certaines phrases, il est possible que deux mots soient collés entre eux... Comme celle-ci : "Salutation les amis ! J'ai un très long discours à faire. Ceci est un nouveau paragraphe, bien évidemment ! Mais la phrase promet d'être longue et fastidieuse car il faut vérifier tout ça correctement !" "longue et" devient alors "longueet". Quelqu'un aurait une petite idée de comment découper un texte selon une quantité de caractères, tout en remettant le code couleur sur la partie suivante, et sans utiliser d'addons exotiques ? Merci pour votre aide ! Des bisous <3
  14. 45 minutes, ça va, c'est rien ! :p Alors oui, utilises des variables ! Par exemple {join_message}, {leave_message} et {death_message} Dans ta commande tu ajoute deux arguments : un pour indiquer quelle variable tu veux modifier, un autre pour indiquer le texte que tu veux afficher. Tu set tes variables à l'argument 2. Ensuite, dans chaque événement, tu mets ta variable entre pourcentage comme %player% pour qu'elle apparaisse comme texte.
  15. Ah oui, Mastersfelix a raison ! Au temps pour moi, ce n'est pas "parsed as time", mais "parsed as timspan"!
×
×
  • 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.