Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.phpMédailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

léger problème d'éllipse

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Ectelion
Membre reconnu


Inscrit le: 12 Nov 2011
Messages: 1062
Sujets: 107
Spécialité en worldedit: Inactif(Enfin presque)
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 03/06/12 12:59    Sujet du message: léger problème d'éllipse Citer

tout est dans le titre, la forme ne correspond pas et le sort marche 1 fois /2

voici les triggers

Secret:

Gui:
Trigger:
Collapse Evénements
Unité - A unit Initie l'effet d'une compétence
Collapse Conditions
(Ability being cast) Egal à  Fire Dive
Collapse Actions
Set MUI = (MUI + 1)
Set Center[MUI] = (Target point of ability being cast)
Set Angle[MUI] = ((Angle from (Position of (Casting unit)) to Center[MUI1]) + 180.00)
Set X[MUI] = (X of (Position of (Casting unit)))
Set Y[MUI] = (Y of (Position of (Casting unit)))
Set Distance[MUI] = (Distance between (Position of (Casting unit)) and Center[MUI])
Set AngleMax[MUI1] = 0.00
Effet spécial - Create a special effect attached to the chest of (Casting unit) using AbilitiesWeaponsPhoenixMissilePhoenix_Missile.mdl
Set Effect[MUI] = (Last created special effect)
Set Caster[MUI] = (Casting unit)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
MUI Supérieur à  0
Collapse Alors - Actions
Déclencheur - Turn on Diving <gen>
Collapse Sinon - Actions



Secret:

Gui:
Trigger:
Diving
Collapse Evénements
Temps - Every 0.03 seconds of game time
Conditions
Collapse Actions
Collapse For each (Integer MUI1) from 1 to MUI, do (Actions)
Collapse Boucle - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
Ellipse_Boolean[MUI] Egal à  FALSE
Collapse Alors - Actions
Set Angle[MUI1] = (Angle[MUI1] + 5.00)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
X[MUI1] Supérieur à  Y[MUI1]
Collapse Alors - Actions
Set X[MUI1] = ((X of Center[MUI1]) + ((Cos(Angle[MUI1])) x Distance[MUI1]))
Set Y[MUI1] = ((Y of Center[MUI1]) + (((1.00 / 3.50) x (Sin(Angle[MUI1]))) x Distance[MUI1]))
Collapse Sinon - Actions
Set X[MUI1] = ((X of Center[MUI1]) + (((1.00 / 3.50) x (Cos(Angle[MUI1]))) x Distance[MUI1]))
Set Y[MUI1] = ((Y of Center[MUI1]) + ((Sin(Angle[MUI1])) x Distance[MUI1]))
Set Point_1 = (Position of (Picked unit))
Set Point_2 = (Point(X[MUI1], Y[MUI1]))
Unité - Move Caster[MUI1] instantly to Point_2
Custom script:   call RemoveLocation(udg_Point_1)
Custom script:   call RemoveLocation(udg_Point_2)
Set AngleMax[MUI1] = (AngleMax[MUI1] + 5.00)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
AngleMax[MUI1] Egal à  360.00
Collapse Alors - Actions
Set Ellipse_Boolean[MUI1] = TRUE
Effet spécial - Destroy Effect[MUI1]
Set MUI = (MUI - 1)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
MUI Egal à  0
Collapse Alors - Actions
Déclencheur - Turn off (This trigger)
Sinon - Actions
Sinon - Actions
Collapse Sinon - Actions



et voilà la map(la forme décrite par le lanceur est très spéciale): [url=http://communots.free.fr/upload/Ellipsebuggée13387237.w3x]Télécharger la map[/url]

pour une raison inconnue il me met pas le lien en vert
_________________
Inactif(Enfn presque)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 03/06/12 13:26    Sujet du message: Citer

tu as de la chance tu vas avoir droit à une réponse plus que précise :

fulldragon dans son super tuto qui roxx a écrit:
Gui:
Trigger:
Set angle = angle + Vitesse
Set x = (Centre_x_du_cercle + ((1 x Cos(angle)) x rayon))
Set y = (Centre_y_du_cercle + ((1 x Sin(angle)) x rayon))

Rien de surprenant, à première vue je n'ai fait que rajouter une multiplication par 1. Mais si j'vous dis que je ne l'ai pas rajouté, mais dévoilé ? Il était déjà la, juste qu'il était caché. On a alors un indice sur la situation, les 2 coefficients sont ici égaux, seulement vous vous apercevrez que si on donne 2 valeurs différentes, le cercle changera de forme pour s'écraser soit sur l'axe des abscisses soit sur l'ordonnée.
J'en viens alors à la nouvelle formule pour l'ovale :
Gui:
Trigger:
Set angle = angle + Vitesse
Set x = (Centre_x_du_cercle + (distorsion_horizontale x ((Cos(angle)) x rayon)))
Set y = (Centre_y_du_cercle + (distorsion_laterale x ((Sin(angle)) x rayon)))

J'appelle ça distorsion, car ça me semble pas mal comme nom, et horizontale et latérale, car c'est l'axe sur lequel ça aura un effet.


donc en haut tu as un cercle banal, et en bas un ovale. comme je l'ai dit dans cette quote les 2 coefficients doivent être différent pour avoir un ovale. (d'ailleur dans ta map j'te conseille une variable comme j'ai mi, c'est plus propre)

toi, à ce que j'ai compris, tu fais un coup une distorsion x et un coup une distorsion y. c'est zarb, je veux pas savoir comment t'en es venu la... fait comme je l'ai écris dans mon tuto (je rappelle le lien) et tu ne devrais pas avoir de problème.
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 03/06/12 13:32    Sujet du message: Citer

Tu essaies de faire un sort comme celui du Phoenix de DotA? Je sais pas quelle forme ton mouvement est censé avoir...

Bon, à part ça, y'a des erreurs dans tes déclos :
- Tu mélanges MUI et MUI1 (1 fois dans l'init et 1 fois dans le loop),
- Ton système de MUI ne fonctionne pas : si tu as 2 instances et que la 1ère se termine (celle d'indice 1), ta variable MUI devient 1 et la boucle ne va pas jusqu'à celle qui devrait continuer (celle d'indice 2). En plus, tu dois initialiser Ellipse_Boolean sur false dans l'init du sort.
- Tu n'utilises pas Point_1.
- Tu as quelques leaks de points dans le déclo d'init ("Position of (Casting unit)").

EDIT : Grillé par full. Heureusement que sa réponse manque de précision Very Happy.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 03/06/12 13:45    Sujet du message: Citer

Tirlititi a écrit:
EDIT : Grillé par full. Heureusement que sa réponse manque de précision Very Happy.


j'reconnais bien ton plaisir à me rappeler que chuis loin de toi encore :p
enfin bon j'avais vu les leaks et autres problèmes (même si j'me suis pas attardé sur la partie index des MUI et tout, ça m'intéresse moyen et le GUI me pique vite les yeux)

sinon j't'ai pas vraiment grillé, on a tout les 2 cité des problèmes différents Smile
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Ectelion
Membre reconnu


Inscrit le: 12 Nov 2011
Messages: 1062
Sujets: 107
Spécialité en worldedit: Inactif(Enfin presque)
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 03/06/12 18:17    Sujet du message: Citer

Tu as raison Tirlititi, je veux réaliser un sort un peu comme celui d'Icarus dans DotA, j'ai corrigé tous les bugs que tu avais cité

Fulldargon, c'est grâce à ton tuto qui roxx sur les "slides" de tout types que j'ai réaliser ce pseudo-sort(+1 en réputation), après le truc bizarre avec le if/then/else, X et Y c'était pour obtenir ceci:



Je sais c'est moche mais bon c'est l'idée qui compte: l'ellipse va dans le sens de vision du héros et tourne dans un certain sens parcequ'en suivant ton tuto j'ai juste réussi à faire aller l'ellipse vers la gauche/droite ou vers le haut/bas mais pas dans la direction voulue(l'angle de vue du héros).Mais le problème avec le if/then/else placé dans le loop c'était... qu'il était placé dans le loop donc les valeurs de X et Y changeant pendant la durée du sort, le "système" n'était pas valide vu que je n'ai rien fait pour que ça ne se produise qu'une seule fois.
_________________
Inactif(Enfn presque)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 03/06/12 18:19    Sujet du message: Citer

oui je l'ai évoqué dans mon tuto vers la fin.
Citation:
Remarque : Avec ça, on ne fait que des spirales écrasé latéralement ou horizontalement. Changer l'angle d'écrasement est légèrement plus compliqué, voir beaucoup plus. Donc je ne le développerais que en cas de demande (donc si vous validez sans, cette remarque sera à supprimer).


si tu veux changer l'angle d'écrasement il faut poser un changement de repère.

tu as x et y tes 2 variables définissant ton repère. et bien si tu veux un repère incliné, tu poses un changement de variable avec :
X = x+vitesse*cos(angle)
Y = direction*X+y

bref tu fais le changement de variable en suivant le modèle de la droite incliné dans la première partie du tuto. (faudra p't'être que j'le rajoute au final)
ensuite tu fais varier dans ton ellipse les coordonnées de ton unité en fonction de tes 2 nouvelles variables X et Y

ps : tir corrige moi je suis pas trop sur de moi quand même (s'pour ça que j'l'ai pas mi) car la je change la pente que pour l'axe desy donc bon...
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 03/06/12 19:49    Sujet du message: Citer

Gui:
Trigger:
Set TempX = ((Cos(Angle[MUI1])) x Distance[MUI1]))
Set TempY = (((1.00 / 3.50) x (Sin(Angle[MUI1]))) x Distance[MUI1]))
Set X[MUI1] = (TempX[MUI1] x Cos(AngleInitial[MUI1])) - (TempY[MUI1] x Sin(AngleInitial[MUI1])) + (X of Center[MUI1])
Set Y[MUI1] = (TempY[MUI1] x Cos(AngleInitial[MUI1])) + (TempX[MUI1] x Sin(AngleInitial[MUI1])) + (Y of Center[MUI1])


Avec AngleInitial[MUI1] étant la valeur de "Angle[MUI]-180" lors de l'init.
De manière générale, une rotation de centre (0, 0) et d'angle θ se fait avec ça :
Code:
NewX = X*Cos(θ) - Y*Sin(θ)
NewY = Y*Cos(θ) + X*Sin(θ)


Full, pourquoi tu ne tests pas toi-même ton code avant de me demander s'il est faux? Razz
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 03/06/12 20:13    Sujet du message: Citer

omg tu peux m'expliquer la formule s'te plait ? (enfin me la démontrer que j'comprenne)

donc si j'ai bien compris c'est faux c'que j'ai dit. mai sje comprend pas, à quoi correspond TempX et TempY (oui je sai sc'est pas mon problème à la base mais ça m'intéresse grandement.)
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 03/06/12 20:48    Sujet du message: Citer

Secret:


Ouais, nan, j'avais rien d'autre à faire ce soir Wink .
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
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


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com