Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=851762d30046e4d408838a378a8a5202Mé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

récupérer l'ordre d'une compétence

 
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
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 05/10/08 15:31    Sujet du message: récupérer l'ordre d'une compétence Citer

Salut

décidément aujourd'hui y'a rien qui marche comme il faut...

j'essaye de faire une compétence : le hero active un genre de bouclier,
quand il se prend un sort, il a une probabilité de renvoyer ce sort à son agresseur ; pour cela je fait :

-je cree une unit invisible à la position de l'unit qui lance le sort
-j'apprend le sort à l'unit invisible

et pour ordoner a l'unité de lancer le sort j'ai besoin de l'ordre chaine, et comme je sais pas de quel sort il s'agit alors c'est la m***

pour récuperer le sort c'est : GetSpellAbilityId() ( un entier )
le nom en francais c'est : GetAbilityName( a )
AbilityId2String( a ) c'est cencé donner une chaine mais sa donne rien

pour les ordres la conversion se fait entre orderid et orderstring mais j'arrive à récupérer ni l'un ni l'autre Sad

si y'a une solution plus simple que de faire autant de vérifications qu'il y a de sorts je prend^^
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 05/10/08 15:50    Sujet du message: Citer

GetSpell .. ne fonctionne pas avec l'event une unité termine/achève le lancement d'une compétence.

PS : Nul besoin de récupérer le nom l'entier (id) de la compétence suffit.

EDIT : Hmm je suis à côté de la plaque Rolling Eyes

Il faut que relies l'ordre de lancement du spell avec l'id du spell, via le game cache par ex.
_________________
Le violet, c'est moche.


Dernière édition par Troll-Brain le 05/10/08 16:38; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 05/10/08 16:30    Sujet du message: Citer

mon event c'est : une unité initie l'effet d'une compétence
apparament sa marche pacque l'unité récupere le sort


mais si je fait a = GetSpellAbilityId()
et call DebugMsg( I2S(a) ) j'ai un chiffre de 3 metres de long et pas un code de sort style 'AHbz'

Citation:
Nul besoin de récupérer le nom l'entier (id) de la compétence suffit.

t'est sur ?
parcque IssueTargetOrder sa prend un order "string" si je lui met un entier j'ai fatal error comme dhab ( I2S(a) ) sa fait rien )
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 05/10/08 16:32    Sujet du message: Citer

Tu as aussi IssueTargetOderById
PS : J'ai édité mon précédent message , hélas après que tu ais posté Razz

Pour l'entier affiché, en voici la raison : http://worldedit.free.fr/forum/viewtopic.php?t=686
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 05/10/08 18:01    Sujet du message: Citer

je viens d'essayer mais l'unité ne fait toujours rien Sad
Jass:
    call IssueTargetOrderById( u, a, GetTriggerUnit() )


l'id d'un ordre c'est bien le meme que celui d'une compétence ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 05/10/08 19:45    Sujet du message: Citer

Ce n'est pas aussi simple.
Il faut que tu fasses toi même le lien entre une compétence et son ordre de lancement.
Non ce n'est pas le même.

Jass:
function Trig_Init_Actions takes nothing returns nothing
    // creation du game cache
    call InitGameCacheBJ( "osef" )
    set udg_CACHE_DU_JEU = GetLastCreatedGameCacheBJ()
    // stockage de l'ordre string en fonction de l'id de la compétence
    // ici la compétence unité humaine "Feu Intérieur"
    call StoreString(udg_CACHE_DU_JEU, "OrderString",I2S( 'Ainf' ) ,"innerfire")
endfunction

//===========================================================================
function InitTrig_Init takes nothing returns nothing
    set gg_trg_Init = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Init, function Trig_Init_Actions )
endfunction


Jass:
function Trig_test_Actions takes nothing returns nothing
local integer abil = GetSpellAbilityId()
// target unit (target)
// creation de la dummy unit (dummy) , rajout de la compétence (abil) ...

call IssueTargetOrder(dummy,GetStoredString(udg_CACHE_DU_JEU, "OrderString",I2S( abil)),target)
endfunction

//===========================================================================
function InitTrig_test takes nothing returns nothing
    set gg_trg_test = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_test, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddAction( gg_trg_test, function Trig_test_Actions )
endfunction


Pour afficher l'id d'une compétence Ctrl+D ou menu voir -> afficher valeur comme donnée brute
_________________
Le violet, c'est moche.


Dernière édition par Troll-Brain le 05/10/08 20:51; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 05/10/08 20:48    Sujet du message: Citer

effectivement sa à l'air compliqué^^
il faut que je stocke dans le game cache toutes les compétences possibles ?
( j'en ai plus de 100... )
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 05/10/08 20:53    Sujet du message: Citer

zazaa a écrit:
effectivement sa à l'air compliqué^^
il faut que je stocke dans le game cache toutes les compétences possibles ?
( j'en ai plus de 100... )


C'est pas si compliqué une fois le principe du game cache assimilé.
J'ai bien peur que oui Sad
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 06/10/08 20:16    Sujet du message: Citer

en fait y'avai beaucoup plus simple Surprised
Jass:
    call IssueTargetOrder( u, OrderId2String(GetUnitCurrentOrder(GetSpellAbilityUnit())), GetSpellAbilityUnit() )

j'aurai au moins appris à faire un game cache^^
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 06/10/08 20:27    Sujet du message: Citer

J'y avais pas pensé Embarassed
Félicitations Exclamation

EDIT : Enfin ca ne fonctionnera pas pour des parties chargées (cf mon topic "la foire aux bugs" dans le sous forum "autre")

Mais tu peux récupérer l'ordre entier et utiliser IssueTargetOrderById
_________________
Le violet, c'est moche.
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
La question posée dans ce topic a été résolue !

 
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