Posté le: 19/12/07 01:33 Sujet du message: Sort de Saut en GUI/JASS
Alors voila j'ai un peu cherché sur le forum mais je n'ai pas trouvé de sort de saut fini. J'ai donc pris la liberté d'en créer un en GUI exclusivement et de le poster pour tous ceux qui ne savent pas comment le créer.
Ce sort peut être optimisé de façon a réduire le nombre de variable mais j'ai la flemme...
il vous faudra créer plusieures choses avant de commencer :
-un sort qui permet de cibler le sol, n'importe lequel (ex : choc de flamme, blizzard et autres le mieux étant canaliser) (ici nommé Jump)
-4 variables de type "réel" (ici nommées Jump1, Jump2, Jump3 et Jump4)
-une variable de type point avec déploiement (cochez la case au moment de la création de la variable) (ici nommée point_Jump)
-une variable de type entier (ici nommée integer_Jump)
-2 scripts dont un dont on décochera la case "on au départ"
voila ensuite à quoi ressemblent les scripts :
le script lanceur :
Secret:
Gui:
Trigger:
Evénements
Unité - A unit Initie l'effet d'une compétence
Conditions
(Ability being cast) Egal à Jump
Actions
Set cible_Jump = (Casting unit) Set point_Jump[0] = (Target point of ability being cast) Set point_Jump[1] = (Position of cible_Jump) Set real_Jump4 = (Distance between point_Jump[0] and point_Jump[1]) Set real_Jump = (real_Jump4 / 4.00) Set real_Jump2 = (-1.00 x (Square root(real_Jump))) Set integer_Jump = 2 Unité - Add Forme de corbeau to cible_Jump Unité - Remove Forme de corbeau from cible_Jump Unité - Pause cible_Jump Unité - Turn collision for cible_Jump Off Unité - Move cible_Jump instantly to (Position of cible_Jump), facing point_Jump[0] Déclencheur - Turn on Jump periodique <gen>
ainsi que le script off au départ :
Secret:
Gui:
Trigger:
Jump periodique
Evénements
Temps - Every 0.01 seconds of game time
Conditions
Actions
Set real_Jump3 = (real_Jump - (Power(real_Jump2, 2.00))) Animation - Change cible_Jump flying height to real_Jump3 at 0.00 Set real_Jump2 = (real_Jump2 + ((Square root(real_Jump)) / 50.00)) Set point_Jump[integer_Jump] = ((Position of cible_Jump) offset by (real_Jump4 / 100.00) towards (Facing of cible_Jump) degrees) Unité - Move cible_Jump instantly to point_Jump[integer_Jump] Set integer_Jump = (integer_Jump + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
integer_Jump Supérieur ou égal à 101
Alors - Actions
Déclencheur - Turn off (This trigger) Animation - Change cible_Jump flying height to 0.00 at 0.00 Unité - Reprendre cible_Jump Unité - Turn collision for cible_Jump On
Sinon - Actions
Do nothing
il vaut mieux améliorer ce dernier script afin de supprimer le Leak :
Secret:
Gui:
Trigger:
Jump periodique
Evénements
Temps - Every 0.01 seconds of game time
Conditions
Actions
Set real_Jump3 = (real_Jump - (Power(real_Jump2, 2.00))) Animation - Change cible_Jump flying height to real_Jump3 at 0.00 Set real_Jump2 = (real_Jump2 + ((Square root(real_Jump)) / 50.00)) Set point_Jump[integer_Jump] = ((Position of cible_Jump) offset by (real_Jump4 / 100.00) towards (Facing of cible_Jump) degrees) Unité - Move cible_Jump instantly to point_Jump[integer_Jump] Set integer_Jump = (integer_Jump + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
integer_Jump Supérieur ou égal à 101
Alors - Actions
Déclencheur - Turn off (This trigger) Animation - Change cible_Jump flying height to 0.00 at 0.00
For each (Integer A) from 0 to integer_Jump, do (Actions)
Inscrit le: 23 Aoû 2007 Messages: 4767 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
Posté le: 13/03/08 17:19 Sujet du message:
Heu j'ai commencé un tuto pour un saut en Gui parfait (je l'ai dit à mouton il me semble ). Si j'ai le temps je vais essayer de le finir _________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Toutes les heures sont au format GMT + 1 Heure Aller à la page 1, 2Suivante
Page 1 sur 2
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum