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

Probleme de sort de ligne

 
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
 MeTeOr_StArs
Membre honoraire


Inscrit le: 08 Mar 2010
Messages: 243
Sujets: 54
Spécialité en worldedit: Sort sans déclencheurs


MessagePosté le: 26/05/10 14:14    Sujet du message: Probleme de sort de ligne Citer

Voila je veut réaliser un sort tout simple ou une fleches parcour 1700m et inflige des dégats aux ennemies sur le chemin de la fleche. Pour ma fleche j'ai crée un dummy avec comme effet origin aura de lenteur (pour faire des effet de vents) mais j'ai deux problèmes:

1) Comment régler les dégats en GUI ?
2) Mon Dummy ne réalise pas ce que je lui ordonne.

Gui:
Trigger:
Powershot
Collapse Evénements
Unité - A unit Initie l'effet d'une compétence
Collapse Conditions
(Ability being cast) Egal à  Powershot
Collapse Actions
Set Caster = (Casting unit)
Set Dummy_Unit = (Last created unit)
Set Picked_Unit = (Picked unit)
Unité - Create 1 Dummy (Powershot) for (Owner of Caster) at (Position of Caster) facing Orientation bâtiment par défaut degrees
Unité - Order Dummy_Unit to Avancer vers (Target point of ability being cast)
Unité - Kill Dummy_Unit


Merci d'avance pour votre aide Smile
_________________
.


Alpha vs Xantgjia nouveau projet serieux en cour :

http://worldedit.free.fr/forum/viewtopic.php?t=6113

Recrute... Mp moi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 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: 26/05/10 14:49    Sujet du message: Citer

M'enfin, relis toi Shocked .
Tu mets "Set Dummy Unit = Last created unit" avant même de créer quoi que ce soit. C'est vachement important de mettre tes actions dans l'ordre.

Ensuite tu peux faire un shoot en ordonnant à ta flèche d'avancer mais comme elle a une vitesse de 522 au maximum, elle sera très lente pour un projectile. Tu pourras utiliser un autre déclencheur avec un évènement "Unit within range of [Ta Flèche]".

Mais dans DotA (puisque tu veux apparament faire pareil), le sort est codé comme ça (les noms des variables et des fonctions sont malheureusement pas explicites) :
Secret:

Jass:
function PowerShot_Timer takes nothing returns boolean
local trigger t=GetTriggeringTrigger()
local integer vvv=GetHandleId(t)
local unit IJ=LoadUnit(vvv,"Projectile")
local real eie=LoadReel(vvv,"TargetX")
local real eae=LoadReel(vvv,"TargetY")
local real RK=LoadReel(vvv,"Angle")
local real vuv=LoadReel(vvv,"Damage")
local integer eHe=LoadInt(vvv,"TreeCount")
local integer ehe=LoadInt(vvv,"UnitCount")
local group eEe=LoadGroup(vvv,"AlreadyHit")
local real x=vlv(GetUnitX(IJ)+(60*Pow(0.9,ehe)*Pow(0.99,eHe))*Cos(RK))
local real y=vLv(GetUnitY(IJ)+(60*Pow(0.9,ehe)*Pow(0.99,eHe))*Sin(RK))
local group g=CreateGroup()
local real d
if GetTriggerEvalCount(t)>2 then
set d=150
else
set d=75
endif
call DestroyEffect(AddSpecialEffect("effects\\Tornado.mdx",x,y))
set eHe=eHe+v7v(x,y,75)
call N5(vvv,"TreeCount",eHe)
set TB=eEe
set wB=IJ
set WB=vuv
set yB=eHe
set zB=ehe
set Ql=IJ
call GroupEnumUnitsInRange(g,x,y,d,Condition(function eGv))
call ForGroup(g,function eje)
call D8(g)
call N5(vvv,"UnitCount",zB)
call SetUnitX(IJ,x)
call SetUnitY(IJ,y)
if GetTriggerEvalCount(t)>29 then
call KillUnit(IJ)
call D8(eEe)
call A5(vvv)
call F8(t)
endif
set t=null
set IJ=null
set eEe=null
set g=null
return false
endfunction

function PowerShot_Actions takes nothing returns nothing
local unit Y3=GetTriggerUnit()
local real x2=l6(GetHandleId(Y3),"ReverseLance|x")
local real y2=l6(GetHandleId(Y3),"ReverseLance|y")
local real eKe=vtv(B8()-l6(GetHandleId(Y3),"ReverseLance|Time"),1.0)
local real RK=Atan2(y2-GetUnitY(Y3),x2-GetUnitX(Y3))
local trigger t
local integer vvv
local unit IJ
local integer v8=GetUnitAbilityLevel(Y3,'A12K')
local real vuv=(40+80*v8)*(eKe)
set t=CreateTrigger()
set vvv=GetHandleId(t)
set IJ=CreateUnit(GetOwningPlayer(Y3),'h078',GetUnitX(Y3),GetUnitY(Y3),RK*bj_RADTODEG)
set x2=GetUnitX(Y3)+1700*Cos(RK)
set y2=GetUnitY(Y3)+1700*Sin(RK)
call SaveUnit(vvv,"Projectile",IJ)
call SaveReel(vvv,"TargetX",x2)
call SaveReel(vvv,"TargetY",y2)
call SaveReel(vvv,"Angle",RK)
call SaveReel(vvv,"Damage",vuv)
call SaveInt(vvv,"TreeCount",0)
call SaveInt(vvv,"UnitCount",0)
call SaveGroup(vvv,"AlreadyHit",CreateGroup())
call TriggerRegisterTimerEvent(t,0.02,true)
call TriggerAddCondition(t,Condition(function PowerShot_Timer))
set Y3=null
set t=null
set IJ=null
endfunction


Bon, c'est sans aucuns doutes du Rapanui pour toi mais ça peut au moins te donner l'idée de la longueur d'un sort comme ça (chaque ligne est heureusement très simple si tu sais ce que tu fais).

L'idée, c'est d'utiliser un compte à rebours périodique pour bouger la flèche et infliger les dégats. Les unités déjà touchées sont stockées dans un groupe et, à chaque "pas" de flèche, on prend toutes les unités autour de la flèche et, si elles ne sont pas dans le groupe "AlreadyHit", on leur inflige des dégats.
Une Hashtable est présente tout au long des fonctions pour stocker les informations. Le plus difficile en GUI, c'est de faire ça sans leaker et c'est vraiment là que t'as besoin des variables locales.

Tout ça pour dire que le GUI c'est bien sympa, mais en ce moment vous avez l'air d'en attendre trop de lui. Embarassed
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 MeTeOr_StArs
Membre honoraire


Inscrit le: 08 Mar 2010
Messages: 243
Sujets: 54
Spécialité en worldedit: Sort sans déclencheurs


MessagePosté le: 26/05/10 15:07    Sujet du message: Citer

Ouai mais sa ma l'air du chinois pour moi le JASS u_u Je crois que jpeut rien faire sans JASS :'(...

Est-il possible de réaliser ce sort en GUI (Mais en moins bien c'est sur u_u)?
_________________
.


Alpha vs Xantgjia nouveau projet serieux en cour :

http://worldedit.free.fr/forum/viewtopic.php?t=6113

Recrute... Mp moi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 26/05/10 17:21    Sujet du message: Citer

Deux solutions en Gui:
1-Avoir un dummy qui lance une onde de choc ou un essaim putride sans graphisme
2-Un déclencheur périodique qui inflige des dégâts aux unités dans une petite zone toutes les 0.0X secondes en espérant que ta flèche aura la même vitesse.
3-Ta flèche est une unité qui est déplacée par un trigger périodique de 0.0X secondes et qui possède un sort d'immolation sans effet graphique pour distribuer les dégâts.
_________________
Revenir en haut
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