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

Re : trait empaleur

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Les sorts
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Geronimo
Membre récent


Inscrit le: 11 Mar 2010
Messages: 91
Sujets: 32



MessagePosté le: 28/07/10 11:53    Sujet du message: Re : trait empaleur Citer

Alors voila, j'ai fait un sort de trait empaleur mais il me pose quelques problèmes.

Le voici:

Gui:
Trigger:
Evénements
Unité - A unit initie l'effet d'une compétence
Conditions
(Ability Being cast) Egal à Trait empaleur
Actions
Unité - create 1 Fleche for owner of triggering unit at position of triggering unit facing target point of ability being cast
Set Fleche = last created unit
Set Archer = casting unit
Set Trajectoire_fleche_impal = (Angle from (Position of (Last created unit)) to (Target point of ability being cast))
Set Rang_degat_Max = 90
Set Rang_degat_min = 10
Set Distance_Max = 600
Set Distance_Fleche_archer = (Distance between position of archer And position of Fleche
Set Distance Min = 10
Déclencheur - Turn on Deplacement et dmg
Wait 5 seconds
Déclencheur - Turn off deplacement et dmg
Collapse Groupe unité - Remove all unit from Groupe_empalement


La variable Distance_Fleche_Archer n'est pas encore utilisée ici mais elle me servira à supprimer la fleche une fois un certaine distance parourue par celle ci.

Et voila le déclencheur Deplacement et dmg

Gui:
Trigger:
Evénements
Temps - Every 0.01 seconde of game time
Conditions
Actions
Unité - Move Fleche instantly to ((position of fleche) offset by 10.00 towards trajectoire_fleche_impal degrees)
Groupe unité - Picked every unit in (Unit within 50 of (position of Fleche) matching (((matching unit) belong to an enemy of (owner of Archer)) Egal à TRUE)) and do (actions)
Collapse Boucle - actions
Collapse If (all conditions are true) then do (Then actions) else do (Else actions)
Collapse Si - Conditions
((Picked unit) is in Groupe_Empalement) Egal à TRUE
Collapse Alors - Actions
Do nothing
Collapse Sinon - Actions
Set distance unit = (Distance between (position of Archer) and (position of picked unit))
Set Calcul_dommage = (Rang_degat_min + (((Distance_max - Distance_unit) x (Rang_degat_max - Rang_degat_min))/Distance_max)
Unité - Cause Archer to damage picked unit dealing Calcul_dommage damage of attack type Héros and damage type normal
Collapse Groupe unité - Add picked unit to Groupe_Empalement


Ce sort est censé infliger des dommages en à toutes les unités sur une trajectoire en fonction de leur distance avec le tireur.
ça marche très bien.
Sauf (et oui ya toujours un sauf ^^) Que j'ai été obligé de rajouter le IF/THEN/ELSE avec la mise dans un groupe pour que les unités ne subissent pas 2-3 fois de suite le dommage.
Et oui, vu qu'ils on une collision toujours supérieur à 20, la fleche prend toujours du temps à les traverser et donc ils subissent les dommages plusieurs fois.
J'ai rajouté ce système de group, mais désormais ils ne subissent plus aucun dommage XD
Donc en théorie ça aurait dut marcher mais en pratique ça marche pas, je comprend pas pourquoi.

En fait si vous prenez le deuxième declancheur et que vous virez le IF/THEN/ELSE et vous mettez seulement dans le boucle - Actions ceci :
Gui:
Trigger:
Set distance unit = (Distance between (position of Archer) and (position of picked unit))
Set Calcul_dommage = (Rang_degat_min + (((Distance_max - Distance_unit) x (Rang_degat_max - Rang_degat_min))/Distance_max)
Unité - Cause Archer to damage picked unit dealing Calcul_dommage damage of attack type Héros and damage type normal


Les premiers monstres se font tuer sur le coup et les derniers non mais subissent plus ou moins de dommages en fonction de leur éloignement.
Donc j'en ai déduit que ça marchait, mais que les ennemis subissaient plusieurs fois les dégâts, et je trouve pas de solution pour l'en empêcher.

J'en appel donc à votre sagesse Very Happy
Surtout que ce sort est loin d'être fini, j'ai encore plein d'effet à rajouter, mais vu que je bloque sur le plus important je vais pas chercher à faire le reste pour le moment.
_________________
La théorie, c'est quand on sait tous, mais que rien ne marche, la pratique c'est quand tous marche mais personne ne sait pourquoi, ici nous avons réunit la théorie et la pratique, rien ne marche et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Mainguet
Membre honoraire


Inscrit le: 16 Juil 2010
Messages: 298
Sujets: 17
Spécialité en worldedit: Faire compliqué quand il peut faire facile.


MessagePosté le: 28/07/10 12:33    Sujet du message: Citer

Bah juste a changer une chose Smile tu mets attaquer unité si elle n'est pas dans le groupe et l'ajouter dans le groupe après attaque Laughing puis, bien sur, lorsque la flèche disparait vider le groupe d'unités :p (et le détruire éventuellement)
_________________
Le naab? C'est moi!

Jass:
call KillUnit(Mainguet)
// même le KillUnit me semble faux


Naab un jour... naab toujours!!!
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Geronimo
Membre récent


Inscrit le: 11 Mar 2010
Messages: 91
Sujets: 32



MessagePosté le: 28/07/10 13:56    Sujet du message: Citer

Tant que j'y suis, est ce que quelqu'un pourrait m'indiquer si il y a une méthode qui permettrait en utilisant les déploiements de variables de faire les différents rang du sort sans pour autant faire 3-4 fois le même declo ?

Merci Smile
_________________
La théorie, c'est quand on sait tous, mais que rien ne marche, la pratique c'est quand tous marche mais personne ne sait pourquoi, ici nous avons réunit la théorie et la pratique, rien ne marche et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Mainguet
Membre honoraire


Inscrit le: 16 Juil 2010
Messages: 298
Sujets: 17
Spécialité en worldedit: Faire compliqué quand il peut faire facile.


MessagePosté le: 28/07/10 17:19    Sujet du message: Citer

Bah tu mets des ifs dans d'autre ifs... if xx = 1 xx si xx = 2 xx et si xx = 3 xx voila. Razz aucun déploiement nécéssaire. enfin tu peux toujours faire d'autre types (le plus facile est celui la (copy-pastage) Wink Par exemple multiplier les dommages par xx la distance/vitesse par xx xx étant un chiffre changeant en fonction des niveaux.

Désolé pour le sur-volage, mais je n'avais pas trop le temps de répondre.
_________________
Le naab? C'est moi!

Jass:
call KillUnit(Mainguet)
// même le KillUnit me semble faux


Naab un jour... naab toujours!!!
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 -> Les sorts 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