Aller au contenu

Vengelis_

Administrateur
  • Compteur de contenus

    529
  • Inscription

  • Dernière visite

  • Jours gagnés

    40
  • Crédits

    125 [Faire un don]

Vengelis_ a gagné pour la dernière fois le 7 août

Vengelis_ a eu le contenu le plus aimé !

Réputation sur la communauté

238 Populaire dans le coin !

À propos de Vengelis_

  • Rang
    I am dark matter Your odds are ruined I'm your undoing

Visiteurs récents du profil

2189 visualisations du profil
  1. Vengelis_

    ⚡ Modération » Simple et efficace

    Le skript est amené à évoluer alors je suis confiant sur les prochaines mises à jours ^^ Je mets une note généreuse pour voir ce qu'il va devenir par la suite ! Courage.
  2. Vengelis_

    CheatChecker - Vélocity (AntiKB) | 100% FIABLE

    Je comprend pas pourquoi utiliser des random integer quand on peut faire une simple équation de vitesse. L'équation elle est simple: Vitesse = Distance/Temps. Juste ça c'était suffisant pour rendre le script un peu plus crédible et faut pas être bac + 7 pour faire une équation de vitesse. Ça s'apprend au collège.
  3. Vengelis_

    inactif ✖ Test

    Le sujet n'a pas reçu de réponse pouvant le résoudre. Il a donc été verrouillé. Cordialement, l'équipe.
  4. Vengelis_

    inactif ✖ Test

    Version de Minecraft : Test Version de Skript : Test Type du skript : Test Description du script : Test
  5. Vengelis_

    résolu ✔ test

    Le sujet a été résolu. Il a donc été verrouillé. Cordialement, l'équipe.
  6. Vengelis_

    résolu ✔ test

    Version de Minecraft : test Version de Skript : test Type du skript : test Description du script : test
  7. Vengelis_

    Cherche Script Freebuild

    Merci de lire ce topique avant de commencer à poster: Règlement de section Cordialement
  8. Vengelis_

    Système de log hors du dossier Skript

    Stop les hors sujets et on reprend le fil de la discussion normalement. Le topique n'était pas destiné à faire débat sur quel est l'addons le mieux ou parce que machin à fait ça pub mais plutôt pour avoir des retours sur la fonction et comment l'améliorer
  9. Vengelis_

    Kits

    Petit script complet et efficace. J'ai vu que tu as utilisé les variables listes alors quoi avoir fait des variables simples (CF: {kit.%{_slot}%.%arg-2%} ) ? Tu pouvais là aussi utiliser des variables listes qui sont plus légère à rappeler en mémoire. Petite comparaison car j'ai fait un test: 1 000 000 de variables listes aléatoires prennent 1,6Go de RAM en stockage et met 7.71 à se faire supprimer avec un processeur I5-7400 donc tu peux y aller xD
  10. Vengelis_

    TUTO : Les fichiers .YML

    L'équipe vous annonce que le topique a été verrouillé pour éviter de "déterrer une tombe". Cordialement.
  11. Salut, sans faire exprès en voulant posté un skript j'ai miss click du coup sa la posté alors que la descripition a rien a voir sa serais possible de le supprimer stp ..

    le lien https://skript-mc.fr/forum/files/file/247-pet/

  12. Classique

    Version 0.0.2.0

    6 downloads

    C'est quoi ? CourbeSk est un script qui va vous permettre de tracer des courbes paraboliques dans minecraft avec 1 commande. Le script rajoute aussi une fonction que vous allez pouvoir implémenter pour générer automatiquement une courbe type f(x) = -ax²+b Pour ceux qui veulent plus de détails, voici mon tutoriel sur la génération en question: Skript-Mc Tutoriel Courbes Quadratiques Comment on utilise le script ? Vous avez deux possibilités d'utilisation: - Avec des commandes: - /start -> Poser le point de départ du traçage de la courbe - /end -> Poser le point d'arrivée de référence du traçage de la courbe - /courbe -> Tracer la courbe - Avec la fonction: - traceParabole(<position d’exécution du départ>, <Coordonnée X de la position du départ>, <Coordonnée X de la position d'arrivée>, <Coordonnée Z de la position du départ>, <Coordonnée Z de la position d'arrivée>, <exécuteur>, <true (activer les retours par messages)/false>) Ça donne quoi au final ? Ça donne quelque chose du genre par exemple Quels sont les add-ons requis ? - Skript 2.2dev36 (au minimum) et rien de plus ! Je vous laisse me dire par review ce que je peux rajouter plus tard ^^ Ce skript sera implémenté dans AFR probablement. Bon jeu à vous !
  13. Générer des courbes type f(x)=-x² Difficulté: Partie 1: Difficile | Partie 2: Expert Partie 1 - Les bases mathématiques Une équation du second degrés c'est quoi ? En mathématiques, une équation du second degré est une équation polynomiale de degré 2, c'est-à-dire qu'elle peut s'écrire sous la forme: ax² +bx+c (a,b et c sont des paramètres coefficient dont a différent de 0 et x l'inconnue) Les équations du second degrés sont représentées sur un graphique de la manière suivante: y est appelé "équation de courbe" x1 et x2 représente les deux solution en y=0 de l'équation de courbe. Ces deux solutions nous intéresse pour notre skript en question ainsi que notre équation de courbe. Pour plus d'informations, checkez sur internet ou vos cours de mathématiques de la seconde générale au lycée ^^ Wow trop d'info ! on en fait quoi de l'équation de courbe ? Déjà on va devoir réfléchir à une équation quadratique simple. Pour mon exemple on va prendre y = -0.85x²+100 Version difficile: -0.85x² aura donc les limites suivantes (voir les exemple de la courbe bleu du schéma ci-dessus) - Limx->-inf|x<0 -0.85x² = -infini (quand l'inconnu x ira vers -infini alors -0.85x² ira vers un résultat vers - infini) - Limx->0 -0.85x² = 0 - Limx->+inf|x>0 -0.85x² = -infini En français ça donne ceci: Cette courbe vas donc être croissante pour x allant de -infini à 0 puis décroissante pour x allant de 0 à +infini (cependant l'exemple n'est pas valable pour Lim cos(x) ou Lim sin(x) qui tout deux n'ont pas de limite !) Le +100 nous permet de faire en sorte que f(0)=100 c'est à dire que quand x = 0 (en abscisse) alors y = 100 (en ordonnée) Jusque là ce n'est pas trop difficile de faire de la lecture graphique sur sa calculatrice pour constater de -0.85x²+100 fait une courbe croissante au départ avec une approximation d'un x1 vers -11 puis décroissante à partir de x=0 et la présence d'un x2 vers +11. Version résumé: Si vous êtes paumé, c'est normal xD. Je vous ai expliqué des trucs qui ne sont pas facile à comprendre quand on fait pas des mathématiques plus difficile. Au collège on n'apprend pas ça et au lycée on ne voit que les limites vers la terminal scientifique ou technologique. Pas d'inquiétude, retenez juste le fait que grâce à l'équation -0.85x²+100 on aura une courbe qui monte et qui descend avec des coupure vers des x1 = -11 et x2 =+11. Pour inverser le sens du genre, je veux que la courbe descende puis remonte, il faut juste changer le signe du coefficient a) Partie 2 - L'algorithme Quel repère ? Minecraft étant un jeu 3 dimensions, on va avoir besoin d'un repère 3 dimensions (O,x,y,z) (dont O étant une position absolue) Commençons par le plus simple: positionner notre départ et notre "arrivée". notre point de départ représente le x1 de notre courbe et l'arrivée le x2. On commence par quoi ? Voici 3 commandes: # Supprimer toutes les variables command /reset: trigger: delete {CourbeSk::*} # Poser le départ command /start: trigger: set {CourbeSk::PosStart} to player's location set {CourbeSk::StartX} to x-location of player set {CourbeSk::StartZ} to z-location of player message "&7Position de départ: &aX: %{CourbeSk::StartX}% &7- &aZ: %{CourbeSk::StartZ}%" # Poser la potentielle arrivée command /end: trigger: set {CourbeSk::EndX} to x-location of player set {CourbeSk::EndZ} to z-location of player message "&7Position d'arrivée: &aX: %{CourbeSk::EndX}% &7- &aZ: %{CourbeSk::EndZ}%" On sépare bien les variables X et Z pour pouvoir comparer les distances plus tard. Les 3 commandes ci-dessus sont essentielles pour le reste du skript. Le skript ne va pas deviner la position de départ ni d'arrivée. On va faire ensuite l'algo qui va dire dans quels sens sont le départ et l'arrivée. On va détecter si X-Départ est négatif/positif et plus loin/près que de X-Arrivée par rapport au centre de la map. C'est pas simple à comprendre quand on l'explique en français mais regardez le code vous allez comprendre. command /courbe: trigger: # /// Vérification du sens if {CourbeSk::StartX} > 0: if {CourbeSk::EndX} > 0: if {CourbeSk::EndX} > {CourbeSk::StartX}: set {CourbeSk::SigneX} to 1 message "&cX1 &ax> z> &ee>s &31" if {CourbeSk::EndX} < {CourbeSk::StartX}: set {CourbeSk::SigneX} to -1 message "&cX2 &ax> z> &ee<s &3-1" if {CourbeSk::StartX} < 0: if {CourbeSk::EndX} < 0: if {CourbeSk::EndX} > {CourbeSk::StartX}: set {CourbeSk::SigneX} to 1 message "&cX3 &ax< z< &ee>s &31" if {CourbeSk::EndX} < {CourbeSk::StartX}: set {CourbeSk::SigneX} to -1 message "&cX4 &ax< z< &ee<s &3-1" if {CourbeSk::StartX} > 0: if {CourbeSk::EndX} < 0: if {CourbeSk::EndX} > {CourbeSk::StartX}: set {CourbeSk::SigneX} to 1 message "&cX5 &ax> z< &ee>s &31" if {CourbeSk::EndX} < {CourbeSk::StartX}: set {CourbeSk::SigneX} to -1 message "&cX6 &ax> z< &ee<s &3-1" if {CourbeSk::StartX} < 0: if {CourbeSk::EndX} > 0: if {CourbeSk::EndX} > {CourbeSk::StartX}: set {CourbeSk::SigneX} to 1 message "&cX7 &ax< z> &ee>s &31" if {CourbeSk::EndX} < {CourbeSk::StartX}: set {CourbeSk::SigneX} to -1 message "&cX8 &ax< z> &ee<s &3-1" if {CourbeSk::StartZ} > 0: if {CourbeSk::EndZ} > 0: if {CourbeSk::EndZ} > {CourbeSk::StartZ}: set {CourbeSk::SigneZ} to 1 message "&cZ1 &ax> z> &ee>s &31" if {CourbeSk::EndZ} < {CourbeSk::StartZ}: set {CourbeSk::SigneZ} to -1 message "&cZ2 &ax> z> &ee<s &3-1" if {CourbeSk::StartZ} < 0: if {CourbeSk::EndZ} < 0: if {CourbeSk::EndZ} > {CourbeSk::StartZ}: set {CourbeSk::SigneZ} to 1 message "&cZ3 &ax< z< &ee>s &31" if {CourbeSk::EndZ} < {CourbeSk::StartZ}: set {CourbeSk::SigneZ} to -1 message "&cZ4 &ax< z< &ee>s &3-1" if {CourbeSk::StartZ} > 0: if {CourbeSk::EndZ} < 0: if {CourbeSk::EndZ} > {CourbeSk::StartZ}: set {CourbeSk::SigneZ} to 1 message "&cZ5 &ax> z< &ee>s &31" if {CourbeSk::EndZ} < {CourbeSk::StartZ}: set {CourbeSk::SigneZ} to -1 message "&cZ6 &ax> z> &ee<s &3-1" if {CourbeSk::StartZ} < 0: if {CourbeSk::EndZ} > 0: if {CourbeSk::EndZ} > {CourbeSk::StartZ}: set {CourbeSk::SigneZ} to 1 message "&cZ7 &ax< z> &ee>s &31" if {CourbeSk::EndZ} < {CourbeSk::StartZ}: set {CourbeSk::SigneZ} to -1 message "&cZ8 &ax< z> &ee<s &3-1" L'algo ci-dessus ne sert qu'a savoir la direction d'un vecteur entre deux points. Il peut donc vous servir pour autre chose. Notez que cet algo ne fonctionne que pour des vecteurs horizontaux Quand j'envoie des messages type "Z8 x< z> e<s -1" c'est: - Z8: Huitième paramètres de direction - x< : X négatif - z> : Z positif - e<s : E représente l'arrivée et S le départ. Dans ce cas là le Z-Arrivée est plus petit que Z-Départ - -1 : Représente le signe Grace aux 8 possibilités de X et Z on peut savoir parfaitement le sens d'un vecteurs dans un monde minecraft défini par deux points. Bon, on a fait la moitié ! Le plus difficile reste à faire ^^. On va avoir besoin de calculer les distances entre chaque blocs de la courbe. A noter que la valeur "coefficient réducteur de distance" que je vais citer ne fonctionne que pour cette équation et qu'elle a été trouvée par du bidouillage ! # (P1) /// Définition des distances (P1) set {CourbeSk::CompX} to difference between {CourbeSk::StartX} and {CourbeSk::EndX} set {CourbeSk::CompZ} to difference between {CourbeSk::StartZ} and {CourbeSk::EndZ} # (P2) /// Mise du signe + ou - sur les distances (qui sera reset plus tard) (ce passage est inutile xD) (P2) set {CourbeSk::FianlCompX} to {CourbeSk::SigneX}*{CourbeSk::CompX} set {CourbeSk::FianlCompZ} to {CourbeSk::SigneZ}*{CourbeSk::CompZ} message "&a%{CourbeSk::CompX}% - %{CourbeSk::CompZ}% &7| &6%{CourbeSk::FianlCompX}% - %{CourbeSk::FianlCompZ}%" # (P3) /// Tracage de la courbe (P3) set {_loc} to {CourbeSk::PosStart} set {_y} to 0 set {_x} to 0 # (P4) /// Défintion du coef de distance réducteur (+ la distance sera grande, moins ça sera précis) (P4) set {CourbeSk::LocStartX} to abs({CourbeSk::FianlCompX}/34) set {CourbeSk::LocStartZ} to abs({CourbeSk::FianlCompZ}/34) message "&5%{CourbeSk::LocStartX}% &7 &5%{CourbeSk::LocStartZ}%" (P1): Déjà expliqué, on va prendre la distance des deux points (départ et arrivée) que l'on va diviser plus tard pour avoir une distance relative pour chaque blocs de la courbe. (P2): On défini le signe pour savoir dans quelle direction on va suivant les axes X et Z du monde minecraft. Cette valeur est transmise par l'algorithme de détection de direction. Ce passage est aussi inutile car les signes vont être enlevés par la conversion par valeur absolue (P3): Ce sont les variables temporaires qui vont nous servir pour tracer la courbe (P4): On fait une division pour trouver la valeur qui représentera la distances des blocs en X et Z. 34 est la valeur la plus précise que j'ai trouvé pour être le plus précis. Si vous réduisez cette valeur, la courbe dépassera de plus loin que le point d'arrivé et si vous mettez une trop grande valeur, la courbe s’arrêtera avant le point d'arrivée. On a donc un point d'arrivée qui ne sert que de repère d'arrivée de la courbe. En bidouillant cette valeur, vous pourrez potentiellement tomber sur le point d'arriver. Elle est comprise entre 36 et 33 pour l'équation -0.85x²+100. Une fois ça fait, on attaque l'algo de traçage: loop 300 times: add 1 to {_x} add 0.25 to {_y} set {_result} to ((-0.85)*({_y}*{_y}))+100 if {_result} < 1: if {_result} > -300: #Moitié -100 #message "&7f(&e%{_y}%&7)=&a%{_result}%" # /// Message d'affichage de f(x) = 0.85x²+100 if {_y} <= 30: #Moitée 14.75 # \/ Coeficient de hauteur #(PE) set {_loc} to location {_loc}'s x-coordinate+({CourbeSk::SigneX}*{CourbeSk::LocStartX}), {_loc}'s y-coordinate+({_result}/7)+14, {_loc}'s z-coordinate+({CourbeSk::SigneZ}*{CourbeSk::LocStartZ}) set block at {_loc} to redstone block #message "&7f(&e%{_y}%&7) = &a%{_result}%" # /// Message d'affichage de f(x) = 0.85x²+100 wait 1 tick wait 1 tick Ça c'est notre algo pour tracer la courbe. Pour commencer on loop 300 fois pour avoir une plage de valeur y la plus grande sans trop abuser non plus. Pour une assez bonne précision, on met un pas pour la suite {_y} de 0.25 c'est à dire que que loop de cette variable, on ajouter 0,25. On défini {_result} comme le résultat de l'équation de la courbe à la position de {_y} quand {_x} = nloopé. On check si notre valeur est inférieur à 1 puis supérieur à -200 (c'est environ 32 blocs de check ce qui correspond presque au même Y de départ qu'il y aura à l'arrivée) ou -300 pour être large et aller plus bas que le Y de départ de la courbe. On regarde si {_y} ne dépasse pas une limite de 30 (sachant que 30 représente 120 blocs de checks avec un pas de 0.25) (PE) Si on est bien dans toute les conditions réunies, on pose un bloc en X et Z avec les positions défini précédemment puis on place en Y avec la valeur de notre équation + un coefficient de hauteur (surélever les blocs sinon la courbe ce trace par le bas). {CourbeSk::SigneX} et {CourbeSk::SigneZ} sont soit égale 1 ou -1. C'est le coefficient multiplicateur qui sert à donner le signe du coup il a pour valeur 1 ou -1. Voila, on va donc avoir une jolie courbe comme ceci: J’espère que ce tuto va pouvoir vous aider dans des algorithme complexes ou même basique. Perso je vais m'en servir pour AFR-ICBM (skript à venir très prochainement !) Dans tout les cas n'hésitez pas à le partager et à en faire une bonne grosse utilisation pour prouver à vos potes que Skript c'est pas de la merde si on le met entre de bonne mains . J'ai eu pas mal de mal à le faire même si il m'a demandé qu'une soirée pour le réaliser. J'y ai pensé des heures carrés à le faire et le voila enfin ! J’espère surtout vous avoir débloqué sur des trucs ! Je vais le poster comme ressource sur le forum ^^ Bonne continuation à vous tous !
  14. Vengelis_

    résolu on rightclick on end crystal

    L'end crystal n'est pas considéré comme un bloc mais comme une entité. Du coup utilise "on click on entity - if entity is end crystal" par exemple
  15. Vengelis_

    ATM configurable sans SkQuery

    Tu n'as pas d'autres choix que d'utiliser SkQuery en 1.7.10 car Tuske ne fonctionne pas en 1.7.10. En plus tu pourrais passer en moddé en 1.12.2 car il exsite Atom ou CatServer par exemple pour faire du moddé avec des plugins (les deux supporte Skript)
×

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.