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

Obtenir la région dans laquelle on entre
Aller à la page 1, 2  Suivante
 
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
 StrikerFred
Ptit Nouveau


Inscrit le: 08 Mar 2008
Messages: 38
Sujets: 4



MessagePosté le: 17/03/08 15:43    Sujet du message: Obtenir la région dans laquelle on entre Citer

Bonjour,

Je veux récupérer dans une variable la région dans laquelle l'unité est rentrée. Pour cela j'ai fait ce custom script
Code:
set udg_region = GetTriggeringRegion()

Mais ca me donne cette erreur : Non concordance des types dans l'affectation !! Pourtant ma variable region est bien du type Région ...

Pouvez-vous m'aider svp?

Merci d'avance
A+
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 profet
Instanton Gravitationnel Singulier


Inscrit le: 21 Aoû 2007
Messages: 1633
Sujets: 53
Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...)
Médailles: 2 (En savoir plus...)
Profet (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 17/03/08 15:50    Sujet du message: Citer

Il faudrait voir toute la fonction/trigger car juste comme ça rien ne parait faux.
_________________

Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70%
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 StrikerFred
Ptit Nouveau


Inscrit le: 08 Mar 2008
Messages: 38
Sujets: 4



MessagePosté le: 17/03/08 15:54    Sujet du message: Citer

Voila, j'ai mis une autre variable mais ca donne la même erreur ...

Gui:
Trigger:
Out path 1
Collapse Evénements
Unité - A unit enters Région 029 <gen>
Unité - A unit enters Région 028 <gen>
Unité - A unit enters Région 023 <gen>
Unité - A unit enters Région 024 <gen>
Unité - A unit enters Région 026 <gen>
Unité - A unit enters Région 027 <gen>
Unité - A unit enters Région 025 <gen>
Unité - A unit enters Région 035 <gen>
Unité - A unit enters Région 037 <gen>
Unité - A unit enters Région 038 <gen>
Unité - A unit enters Région 031 <gen>
Unité - A unit enters Région 030 <gen>
Unité - A unit enters Région 036 <gen>
Unité - A unit enters Région 033 <gen>
Unité - A unit enters Région 034 <gen>
Unité - A unit enters Région 032 <gen>
Unité - A unit enters Région 039 <gen>
Unité - A unit enters Région 011 <gen>
Unité - A unit enters Région 010 <gen>
Unité - A unit enters Région 012 <gen>
Collapse Conditions
(Owner of (Triggering unit)) Différent de Joueur 12 (Marron)
Collapse Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
Etat[(Player number of (Owner of (Triggering unit)))] Egal à  0
Collapse Alors - Actions
Unité - Kill (Triggering unit)
Collapse Sinon - Actions
Set tempinteger = (Player number of (Owner of (Triggering unit)))
Custom script:   set udg_OutPathRegion[udg_tempinteger] = GetTriggeringRegion()


A+
_________________


Dernière édition par StrikerFred le 17/03/08 15:59; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 profet
Instanton Gravitationnel Singulier


Inscrit le: 21 Aoû 2007
Messages: 1633
Sujets: 53
Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...)
Médailles: 2 (En savoir plus...)
Profet (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 17/03/08 15:55    Sujet du message: Citer

Edite ton post en utilisant la balise GUI stp Wink
_________________

Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70%
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 StrikerFred
Ptit Nouveau


Inscrit le: 08 Mar 2008
Messages: 38
Sujets: 4



MessagePosté le: 17/03/08 15:59    Sujet du message: Citer

Voila désolé je n'avais pas vu Rolling Eyes
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2012
Sujets: 49

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Ayane (Quantité : 1)

MessagePosté le: 17/03/08 16:04    Sujet du message: Citer

Le type Région en GUI donne en fait le type 'rect' en Jass, hors GetTriggeringRegion() retourne un type 'region'.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 StrikerFred
Ptit Nouveau


Inscrit le: 08 Mar 2008
Messages: 38
Sujets: 4



MessagePosté le: 17/03/08 16:06    Sujet du message: Citer

Je ne sais pas pourquoi il n'ont pas inclut cette function directement en Gui c'est stupide...

N'y a-t-il pas un moyen de faire une conversion? Sad
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2012
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 17/03/08 19:04    Sujet du message: Citer

Parce que le Jass a été conçut avant le GUI, et le GUI n'intègre pas toutes les fonctionnalités du Jass.
Les régions en sont un exemple:
Wc3 implémente le fait qu'une unité soit à une position, ou dans un rectangle; plusieurs rectangles et points peuvent être regroupés dans une région d'une certaine forme. On peut ajouter l'évènement une unité entre dans une région qui correspond à "une unité entre dans n'importe quelle forme de cette région". Cette méthode accepterais d'autres formes comme des cercles afin d'avoir des formes plus complexes. L'idée des développeurs étaient à la base de pouvoir définir des zones plus complexes que de simples rectangles.
En GUI on définit des rectangles qu'ils appellent régions (étant donné qu'en GUI une région ne peut contenir qu'un rectangle, et un rectangle ne peut être que dans une région), lorsque tu créé un évènement alors il créer temporairement une région pour l'enregistrer.
L'enregistrement se fait sous forme de rect pour pouvoir récupérer les dimensions et position de celui-ci.
Il s'agit donc d'une simplification afin que la notion de région soit plus facile d'accès.

Il faut donc faire la relation entre la région et le rectangle, tout dépend de ce que tu veux faire.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 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: 17/03/08 19:10    Sujet du message: Citer

j'ai posté une solution pour des régions suffisament petites et éloignées les unes des autres dans un post de ce forum
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 StrikerFred
Ptit Nouveau


Inscrit le: 08 Mar 2008
Messages: 38
Sujets: 4



MessagePosté le: 17/03/08 19:12    Sujet du message: Citer

Merci pour ta réponse Ayane, j'ai un peu fouiné cette aprem et les vraies régions ne sont pas beaucoup utilisées, par exemple pour un trigger en Gui ca s'appelle Unit Enter Region mais en Jass il n'ajoute que des rectangles dans les event du trigger. Et même les régions qu'on crée à la main sont des rectangles..

Mais donc comment obtenir le rectangle dans lequel l'unité est rentrée pour le stocker dans ma variable? On pourrait convertir la région en rectangle si seulement on pouvait avoir les coordonnées de cette région ! ... Sad
_________________


Dernière édition par StrikerFred le 17/03/08 19:14; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 StrikerFred
Ptit Nouveau


Inscrit le: 08 Mar 2008
Messages: 38
Sujets: 4



MessagePosté le: 17/03/08 19:14    Sujet du message: Citer

Mes régions sont petites oui, mais éloignées non, elles sont toutes collées, ce sont des régions de mort quand on entre dans la neige, pour un escape...
_________________
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: 17/03/08 19:17    Sujet du message: Citer

il n'existe pas de GetTriggeringRect.
mais ce que tu peux faire c'est utiliser une variable déployée de type rect(region en gui).
Un à un tu stockes tes rects.
Puis tu utilises une variable déployée de type region et tu créés tes régions en leur rajoutant le rect qui correspond.
Evidemment tu mets le même index.
Ensuite il ne reste plus qu'à boucler sur ta variable de type region pour savoir quel rect est concerné
Si tu ne comprends pas comment faire je posterais le code

Mais surtout tu veux faire quoi au juste ?
Utiliser le gui pour un escape avec mass region c'est vraiment pas optimal.
au lieu de créer une seule region avec tes X rects, tu créés X regions contenant chacune un seul rect Razz
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 StrikerFred
Ptit Nouveau


Inscrit le: 08 Mar 2008
Messages: 38
Sujets: 4



MessagePosté le: 17/03/08 19:29    Sujet du message: Citer

Tant qu'à faire, s'il faut faire une boucle et stocker tous mes rects dans une variable déployée, autant faire un :
Gui:
Trigger:
If ((TousLesRects[(Integer A)] contains (Triggering unit)) Egal à  TRUE) then do (Set region = TousLesRects[(Integer A)]) else do (Do nothing)

(bien qu'il y aie le bug que tu a toi aussi remarqué que l'unité n'est pas dans la région venant du nord ou de l'est)

Mais si ta méthode est différent et que j'ai mal compris, explique-moi alors Smile

Ps: pff il ont fait GetTriggeringRegion, pourquoi se sont-ils arrêtés et n'ont pas fait GetTriggeringRect ?? Mad La ca va être vraiment ch**** à mettre en place...
_________________
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: 17/03/08 19:46    Sujet du message: Citer

justement pour le bug ca ne marchera pas si l'unité vient de l'est ou du nord, car l'unité ne sera pas considérée présente dans le rect
Mais explique moi pourquoi tu as besoin de déterminer le rect, tu veux faire quoi avec le "GetTriggeringRect" ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 StrikerFred
Ptit Nouveau


Inscrit le: 08 Mar 2008
Messages: 38
Sujets: 4



MessagePosté le: 17/03/08 20:02    Sujet du message: Citer

Oula c'est compliqué, j'essaye d'être clair :

Le héro fait des sauts, mais en l'air il ne meure pas en sortant du chemin, il ne meure qu'en étant retombé au sol. Donc la je sauvegarde la région dans laquelle il rentre et une fois au sol je vérifie s'il y est toujours, et si oui, kwick Razz

Mais je crois que je vais trouver une autre solution, j'ai vraiment pas envie de me taper toutes les régions a stocker dans une variable, de plus que je me les tappe déja dans le trigger Out Path...

Au passage si tu as une bonne idée? Smile
_________________
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
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
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