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=20611896ef3fb06cb04df584f86dc5bcMé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

Creation d'unité en fonction du temps

 
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
 Nerzulll
Floodeur prématuré


Inscrit le: 30 Jan 2009
Messages: 669
Sujets: 56
Spécialité en worldedit: Faire des bug
Médailles: 1 (En savoir plus...)
Grand décorateur (Quantité : 1)

MessagePosté le: 30/05/09 13:47    Sujet du message: Creation d'unité en fonction du temps Citer

Bonjour à tous ! Hihihi !

Bon, j'ai encore un autre petit problème. ( Ou, c'est la journée, je sais Wink ).
Je voudrais créer un système où plus un héro reste longtemps dans une zone, plus il y a de creeps dans cette zone. En gros pour les matheux :
y = nombre de creeps; x = minute dans la zone : y = e(x)
Vous voyez le truc ? Sauf que c'est plus facile à dire qu'a faire. J'ai fait des essais, beaucoup d'essais, mais je bloque à un niveau. Je voudrais que tant qu'il y a un héro dans la zone le nombre continue d'augmenter et s'arrête quand il n'y à plus aucun héro dans la zone. Mais cela ne fonctionne pas ( Cf. mon dernier déclencheur ).

Voici mon système ( Il est un peu long ... ) :
Ici, pour commencer à lancer le système :
Secret:

Gui:
Trigger:
Around Astrub
Collapse Evénements
Unité - Une unité entre dans Région 019 <gen>.
Unité - Une unité entre dans Région 020 <gen>.
Unité - Une unité entre dans Région 021 <gen>.
Unité - Une unité entre dans Région 022 <gen>.
Collapse Conditions
Ou - N'importe quelle Condition est Vraie
Collapse Conditions
(Type-Unité de (Unité déclencheuse)) Egal à  Xelor
(Type-Unité de (Unité déclencheuse)) Egal à  Cra
(Type-Unité de (Unité déclencheuse)) Egal à  Ecaflip
(Type-Unité de (Unité déclencheuse)) Egal à  Eniripsa
(Type-Unité de (Unité déclencheuse)) Egal à  Enutrof
(Type-Unité de (Unité déclencheuse)) Egal à  Feca
(Type-Unité de (Unité déclencheuse)) Egal à  Iop
(Type-Unité de (Unité déclencheuse)) Egal à  Osamodas
(Type-Unité de (Unité déclencheuse)) Egal à  Pandawa
(Type-Unité de (Unité déclencheuse)) Egal à  Sram
(Type-Unité de (Unité déclencheuse)) Egal à  Sacrieur
Collapse Actions
Compte à  rebours - Lancer compte de type Répété qui expirera dans 30.00 secondes.
Compte à  rebours - Créer une fenêtre pour  (Dernier compte à  rebours lancé) avec pour titre Time.
Compte à  rebours - Montrer (Dernière fenêtre de compte à  rebours créée) pour le Joueur 1 (Rouge).
Déclencheur - Désactiver le déclencheur (Ce déclencheur).


Pour activer la production de monstres :
Secret:

Gui:
Trigger:
Time
Collapse Evénements
Temps - compte tombe à  0.
Conditions
Collapse Actions
Définir monster1 = (monster1 + 1.00).
Déclencheur - Lancer le déclencheur Monstrer Around Astrub <gen> (en respectant les conditions).


Voici la production de monstres :
Secret:

Gui:
Trigger:
Monstrer Around Astrub
Evénements
Conditions
Collapse Actions
Unité - Créer ((Entier(monster1)) x 2) Tofu / Tofu pour le Joueur 12 (Marron) au point (Point aléatoire dans Région 021 <gen>) ; orientation = Orientation bâtiment par défaut degrés.
Unité - Créer ((Entier(monster1)) x 2) Sanglier / Wild Boar pour le Joueur 12 (Marron) au point (Point aléatoire dans Région 021 <gen>) ; orientation = Orientation bâtiment par défaut degrés.
Unité - Créer ((Entier(monster1)) x 2) Tofu / Tofu pour le Joueur 12 (Marron) au point (Point aléatoire dans Région 020 <gen>) ; orientation = Orientation bâtiment par défaut degrés.
Unité - Créer ((Entier(monster1)) x 2) Sanglier / Wild Boar pour le Joueur 12 (Marron) au point (Point aléatoire dans Région 020 <gen>) ; orientation = Orientation bâtiment par défaut degrés.
Unité - Créer ((Entier(monster1)) x 2) Tofu / Tofu pour le Joueur 12 (Marron) au point (Point aléatoire dans Région 019 <gen>) ; orientation = Orientation bâtiment par défaut degrés.
Unité - Créer ((Entier(monster1)) x 2) Sanglier / Wild Boar pour le Joueur 12 (Marron) au point (Point aléatoire dans Région 019 <gen>) ; orientation = Orientation bâtiment par défaut degrés.
Unité - Créer ((Entier(monster1)) x 2) Tofu / Tofu pour le Joueur 12 (Marron) au point (Point aléatoire dans Région 022 <gen>) ; orientation = Orientation bâtiment par défaut degrés.
Unité - Créer ((Entier(monster1)) x 2) Sanglier / Wild Boar pour le Joueur 12 (Marron) au point (Point aléatoire dans Région 022 <gen>) ; orientation = Orientation bâtiment par défaut degrés.


Et enfin, le système de vérification des héro dans la zone et de la fin de la production :
Secret:

Gui:
Trigger:
End
Collapse Evénements
Unité - Une unité quitte Région 021 <gen>.
Unité - Une unité quitte Région 020 <gen>.
Unité - Une unité quitte Région 019 <gen>.
Unité - Une unité quitte Région 022 <gen>.
Collapse Conditions
Et - Toutes les Conditions sont Vraies
Collapse Conditions
Ou - N'importe quelle Condition est Vraie
Collapse Conditions
(Type-Unité de (Unité déclencheuse)) Egal à  Xelor
(Type-Unité de (Unité déclencheuse)) Egal à  Cra
(Type-Unité de (Unité déclencheuse)) Egal à  Ecaflip
(Type-Unité de (Unité déclencheuse)) Egal à  Eniripsa
(Type-Unité de (Unité déclencheuse)) Egal à  Enutrof
(Type-Unité de (Unité déclencheuse)) Egal à  Feca
(Type-Unité de (Unité déclencheuse)) Egal à  Iop
(Type-Unité de (Unité déclencheuse)) Egal à  Osamodas
(Type-Unité de (Unité déclencheuse)) Egal à  Pandawa
(Type-Unité de (Unité déclencheuse)) Egal à  Sadidas
(Type-Unité de (Unité déclencheuse)) Egal à  Sram
(Type-Unité de (Unité déclencheuse)) Egal à  Sacrieur
Collapse Actions
Pour chaque Entier A à  partir de1 jusqu'à  4, exécuter les actions de l'onglet Boucle - Actions.
Collapse Boucle - Actions
Collapse Groupe unité - Considérer toutes unités présentes dans (Unités présentes dans aroundAstrub[(Entier A)]) et exécuter les (Actions).
Collapse Boucle - Actions
Si (Conditions) sont vraies, exécuter (Alors - Actions). Sinon, exécuter (Sinon - Actions).
Collapse Si - Conditions
((Unités considérées) appartient à  un allié du Joueur 1 (Rouge)) Egal à  VRAI
Collapse Alors - Actions
Ne rien faire
Partie - Afficher au (Groupe comprenant tous les joueurs) le texte suivant : Hips !.
Collapse Sinon - Actions
Définir monster1 = 0.00.
Compte à  rebours - Pause compte.
Déclencheur - Activer le déclencheur Around Astrub <gen>.
Partie - Afficher au (Groupe comprenant tous les joueurs) le texte suivant : Oups !.


C'est sur ce dernier que je bloque. En effet, le "groupe unité" est très instable, me fait faire 8 ou 9 fois l'opération et ne me renvoit jamais les même résultats. Que faire ?

Merci !
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 zril
Membre actif


Inscrit le: 02 Jan 2008
Messages: 175
Sujets: 35



MessagePosté le: 30/05/09 17:58    Sujet du message: Citer

tiens une map sur dofus, ça m'étonne de ne pas avoir encore vu ça sur bnet ^^

Déjà si tu voulait faire de l'exponentiel , c'est raté Wink Là t'es linéaire mais c'est pas ça le problème.

Ce que j'aurais fait, c'est d'utiliser un timer non répété. Quand il arrive à 0, soit tu le relances s'il a encore des heros dans la zone (tout incrémentant ta variable "monster1"), soit tu ne le relances pas s'il n'y a pas de héros dans la zone (et tu mets "monster1" à 0).

De cette façon tu n'as pas besoin de faire un trigger avec les événements "machin quitte la région". Et tu n'aurais jamais besoin de "pauser" le timer. Par contre le héro pourrait partir et revenir directement sans que le compteur reparte à 0. Bref j'aurais fait comme ça mais c'est surement pas ça non plus le problème.


Le problème doit en effet venir de la boucle groupe unité, il me semble avoir remarqué sur l'autre topic que tu avais du mal avec cette fonction. Je suppose que le but est de vérifier s'il n'y a plus de héros dans l'ensemble de tes 4 régions. Là ça fait totalement autre chose.

Pour chacune des 4 régions, ça vérifie si chacune des unités présentes appartiennent à des joueurs. Donc forcément tu dois voir beaucoup de Hips et de Oups.

Je pense qu'il faut créer un groupe unité temporaire dans lequel tu ajoute les unités de la région 1, puis celles de la région 2, etc. Une fois ce groupe constitué, tu fais ta boucle sur ce groupe unité et si l'unité considéré appartient à un joueur, tu change l'état d'un booléen qui ne servira qu'à cela. Une fois la boucle finit, tu vérifies l'état de ton booléen, s'il a changé c'est qu'il y a encore des héros dans la zone, sinon tu peut remettre ton compteur (monster1) à 0.

Désolé d'expliquer ça comme ça mais j'ai la flemme de faire le déclencheur ^^
_________________


Dernière édition par zril le 30/05/09 21:33; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Nerzulll
Floodeur prématuré


Inscrit le: 30 Jan 2009
Messages: 669
Sujets: 56
Spécialité en worldedit: Faire des bug
Médailles: 1 (En savoir plus...)
Grand décorateur (Quantité : 1)

MessagePosté le: 30/05/09 19:39    Sujet du message: Citer

Moi aussi je suis partit du constat qu'il n'y en avait pas encore. Alors je me suis dit, je veut créer un RPG, j'aime bien l'histoire de Dofus, et y'a encore rien sur cet Univers ... Alors Gooooo ! Very Happy

Okay, pour l'exponentiel, je sais bien ce que j'ai fait, je cherche pour l'instant à faire le système et après je regle les détails techniques comme celui-la ! Very Happy Mais merci quand même !

Et comme te dire ...

Secret:

MeEeEeEeEeEeEeErcIiIiIiIiIiIiIiIiIiIiIiI!!!!!

Le système marche parfaitement ! Je te considère a présent comme mon Maitre à penser et à vivre ! Ôh Happpppy dayyyys ! YeEeEeEeAaAaAaAah ... Ohhhhh Haaaaaaaaapppy ... Dayyyyyys !


_________________
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