online faq recherche accueil
 

Il y a 192 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Influence d'un trigger sur le chargement ou enorme bizarrerie

 
n°4590073
Demystifca​tor
Posté le 10-06-2007 à 13:23:04  profilanswer
 

Bonjour
 
Voilà, je suis tombé sur un problème incroyable c'est le cas de le dire. Je vais vous expliquer :
J'ai perdu mon cd de Frozen Throne mais j'ai trouvé le moyen de lancer le jeu seulement avec le cd de Reign Of Chaos, en lançant l'éditeur (et oui ca marche, on teste une map, on la quitte et on se retrouve sur le menu frozen throne! ). Mais là n'est pas le problème, j'ai édité une map avec des caractères de l'extension (héros et tout ca) et cette map contient énormément de trigger (pas loin d'une 50aine et pas toujours des petits). J'ai notamment tenté de faire un trigger pour définir une sorte de IA en donnant un héros aux ordinateurs mais voilà, lorsque ce trigger est activén plus moyen de lancer la map, le chargement se fait jusqu'à 80-90% et warcraft 3 se ferme !!! Si je désactive ce trigger, la map se lance mais au bout de 30secondes, le jeu s'arrete et me renvoie sur Windows sans aucun message d'erreur.  
 
J'en ai conclut que ce serait encore un de mes triggers qui fouteraient le caca dans la map. Est ce possible ? Ou le probleme vient du fait que je ne lance pas Frozen Throne selon les règles? Ou du fait que j'utilise le cd Reign of Chaos? ou de la map? (trop grosse? trop de triggers? mal sauvegardée?) ou vraiment des triggers ? (trop longs? trop nombreux? trop complexes?)  
 
J'ai mis énormément de temps à faire cette map et jvois pas où se cacherait le probleme et j'ai aucune envie de tout recommencer HELP je vous en supplie !!
 
Merci

n°4590074
gro_shaman
Ah... World edit...
Posté le 10-06-2007 à 21:07:36  profilanswer
 

La cause du probleme n'est pas à cause de l'utilisation du cd de W3 à la place de celui de Frozen Throne car j'utilise aussi mon cd de W3 à la place de TFT et je n'ai jamais eu de probleme (ca doit faire plus d'1 an que je fais ca car mon cd a eclaté dans mon lecteur cd xD). Ton probleme vient d'1 declencheur, il me semble avoir deja eu un probleme similaire mais j'ai oublié de quoi en etait la cause^^ (dsl).


---------------
http://www.acathla.com/
n°4590081
Demystifca​tor
Posté le 11-06-2007 à 12:36:10  profilanswer
 

Le Déclencheur qui empêche de charger se lance à l'initialisation, ptet que jdevrais donner un temps d'attente?
 
Pour le coup des 30s, aucun trigger ne se déclanche (ils se déclenchent tous à 20.00 et 20.10 périodiquement), ca pourrait venir de trop d'untiés sur la map en plus de trop de triggers à gérer (les Evenements Génériques)?

n°4590082
gro_shaman
Ah... World edit...
Posté le 11-06-2007 à 13:27:59  profilanswer
 

Donne nous ton déclencheur svp pask là il m'a l'air bizarre, et à premiere vue jdirais qu'il pourrait etre plus simple.
 
Est-ce que ton déclencheur touche à plusieurs unités simultanement? Si ce n'est pas le cas, y a pas de raison que trop d'unités fasse planter W3.


Message édité par gro_shaman le 11-06-2007 à 13:29:22

---------------
http://www.acathla.com/
n°4590084
Demystifca​tor
Posté le 11-06-2007 à 14:34:26  profilanswer
 

Le premier est énoooorme, j'ai pas trouvé d'autres moyens.
 
ya plus de onze triggers génériques (un par zone)
 
Voici ce lui qui fait planter le chargement de la map :
 
test pr IA
    Evénements
    Conditions
    Actions
        Groupe joueur - Pick every player in (All players) and do (Actions)
            Boucle - Actions
                Set IAvar = 0.00
                Set IAvar = (Random real number between 0.00 and 5.00)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    Si - Conditions
                        ((Picked player) is an ally of Joueur 5 (Jaune)) Egal à TRUE
                        ((Picked player) controller) Egal à Ordinateur
                    Alors - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            Si - Conditions
                                IAvar Egal à 1.00
                            Alors - Actions
                                Unité - Create 1 Paladin for (Picked player) at (Position of Château 0002 <gen> ) facing Orientation bâtiment par défaut degrees
                                Groupe unité - Add (Last created unit) to HerosGauche
                                Unité - Change ownership of (Last created unit) to Joueur 5 (Jaune) and Changer couleur
                                Unité - Create 1 Constructeur for (Picked player) at (Position of Château 0002 <gen> ) facing Orientation bâtiment par défaut degrees
                                Groupe unité - Add (Last created unit) to ConstrIAGauche
                                Unité - Change ownership of (Last created unit) to Joueur 5 (Jaune) and Changer couleur
                            Sinon - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    Si - Conditions
                                        IAvar Egal à 2.00
                                    Alors - Actions
                                        Unité - Create 1 Archimage for (Picked player) at (Position of Château 0002 <gen> ) facing Orientation bâtiment par défaut degrees
                                        Groupe unité - Add (Last created unit) to HerosGauche
                                        Unité - Change ownership of (Last created unit) to Joueur 5 (Jaune) and Changer couleur
                                        Unité - Create 1 Constructeur for (Picked player) at (Position of Château 0002 <gen> ) facing Orientation bâtiment par défaut degrees
                                        Groupe unité - Add (Last created unit) to ConstrIAGauche
                                        Unité - Change ownership of (Last created unit) to Joueur 5 (Jaune) and Changer couleur
                                    Sinon - Actions
                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            Si - Conditions
                                                IAvar Egal à 3.00
                                            Alors - Actions
                                                Unité - Create 1 Roi de la montagne for (Picked player) at (Position of Château 0002 <gen> ) facing Orientation bâtiment par défaut degrees
                                                Groupe unité - Add (Last created unit) to HerosGauche
                                                Unité - Change ownership of (Last created unit) to Joueur 5 (Jaune) and Changer couleur
                                                Unité - Create 1 Constructeur for (Picked player) at (Position of Château 0002 <gen> ) facing Orientation bâtiment par défaut degrees
                                                Groupe unité - Add (Last created unit) to ConstrIAGauche
                                                Unité - Change ownership of (Last created unit) to Joueur 5 (Jaune) and Changer couleur
                                            Sinon - Actions
                                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                    Si - Conditions
                                                        IAvar Egal à 4.00
                                                    Alors - Actions
                                                        Unité - Create 1 Mage de sang for (Picked player) at (Position of Château 0002 <gen> ) facing Orientation bâtiment par défaut degrees
                                                        Groupe unité - Add (Last created unit) to HerosGauche
                                                        Unité - Change ownership of (Last created unit) to Joueur 5 (Jaune) and Changer couleur
                                                        Unité - Create 1 Constructeur for (Picked player) at (Position of Château 0002 <gen> ) facing Orientation bâtiment par défaut degrees
                                                        Groupe unité - Add (Last created unit) to ConstrIAGauche
                                                        Unité - Change ownership of (Last created unit) to Joueur 5 (Jaune) and Changer couleur
                                                    Sinon - Actions
                                                        Déclencheur - Run (This trigger) (checking conditions)
                    Sinon - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            Si - Conditions
                                ((Picked player) is an ally of Joueur 10 (Bleu clair)) Egal à TRUE
                                ((Picked player) controller) Egal à Ordinateur
                            Alors - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    Si - Conditions
                                        IAvar Egal à 1.00
                                    Alors - Actions
                                        Unité - Create 1 Paladin for (Picked player) at (Position of Château 0003 <gen> ) facing Orientation bâtiment par défaut degrees
                                        Groupe unité - Add (Last created unit) to HerosDroite
                                        Unité - Change ownership of (Last created unit) to Joueur 10 (Bleu clair) and Changer couleur
                                        Unité - Create 1 Constructeur for (Picked player) at (Position of Château 0003 <gen> ) facing Orientation bâtiment par défaut degrees
                                        Groupe unité - Add (Last created unit) to ConstrIADroite
                                        Unité - Change ownership of (Last created unit) to Joueur 10 (Bleu clair) and Changer couleur
                                    Sinon - Actions
                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            Si - Conditions
                                                IAvar Egal à 2.00
                                            Alors - Actions
                                                Unité - Create 1 Archimage for (Picked player) at (Position of Château 0003 <gen> ) facing Orientation bâtiment par défaut degrees
                                                Groupe unité - Add (Last created unit) to HerosDroite
                                                Unité - Change ownership of (Last created unit) to Joueur 10 (Bleu clair) and Changer couleur
                                                Unité - Create 1 Constructeur for (Picked player) at (Position of Château 0003 <gen> ) facing Orientation bâtiment par défaut degrees
                                                Groupe unité - Add (Last created unit) to ConstrIADroite
                                                Unité - Change ownership of (Last created unit) to Joueur 10 (Bleu clair) and Changer couleur
                                            Sinon - Actions
                                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                    Si - Conditions
                                                        IAvar Egal à 3.00
                                                    Alors - Actions
                                                        Unité - Create 1 Roi de la montagne for (Picked player) at (Position of Château 0003 <gen> ) facing Orientation bâtiment par défaut degrees
                                                        Groupe unité - Add (Last created unit) to HerosDroite
                                                        Unité - Change ownership of (Last created unit) to Joueur 10 (Bleu clair) and Changer couleur
                                                        Unité - Create 1 Constructeur for (Picked player) at (Position of Château 0003 <gen> ) facing Orientation bâtiment par défaut degrees
                                                        Groupe unité - Add (Last created unit) to ConstrIADroite
                                                        Unité - Change ownership of (Last created unit) to Joueur 10 (Bleu clair) and Changer couleur
                                                    Sinon - Actions
                                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                            Si - Conditions
                                                                IAvar Egal à 4.00
                                                            Alors - Actions
                                                                Unité - Create 1 Mage de sang for (Picked player) at (Position of Château 0003 <gen> ) facing Orientation bâtiment par défaut degrees
                                                                Groupe unité - Add (Last created unit) to HerosDroite
                                                                Unité - Change ownership of (Last created unit) to Joueur 10 (Bleu clair) and Changer couleur
                                                                Unité - Create 1 Constructeur for (Picked player) at (Position of Château 0003 <gen> ) facing Orientation bâtiment par défaut degrees
                                                                Groupe unité - Add (Last created unit) to ConstrIADroite
                                                                Unité - Change ownership of (Last created unit) to Joueur 10 (Bleu clair) and Changer couleur
                                                            Sinon - Actions
                                                                Déclencheur - Run (This trigger) (checking conditions)
                            Sinon - Actions
                                Do nothing
                Déclencheur - Turn on Attaque par IA Droite <gen>
                Déclencheur - Turn on Attaque par IA Gauche <gen>
                Déclencheur - Turn on Construction par IA Droite <gen>
                Déclencheur - Turn on Construction par IA Gauche <gen>


Message édité par Demystifcator le 11-06-2007 à 14:37:47
n°4590089
Demystifca​tor
Posté le 11-06-2007 à 16:12:27  profilanswer
 

J'essaie d'alleger mes triggers mais qu'est ce qui est le plus léger à charger :
-If...then...Else (If...then...Else (If etc plusieurs fois  
ou
-If (multiple) Then (Multiple) Else (multiple)(If (multiple)Else(Multiple)... Mais en n'entrant qu'une fonction et non multiples ^^
?
 
Si c'est pas la première, la plus légère, y a un moyen de la rentrer vite dans l'éditeur sans se prendre la tête?

n°4590093
gro_shaman
Ah... World edit...
Posté le 11-06-2007 à 21:24:18  profilanswer
 

Oula! Jvais mtirer une balle à lire tout ca, jregarde tout ca demain ou apres-demain pask jai le bac de Francais demain.


---------------
http://www.acathla.com/
n°4590097
Ayane
Posté le 12-06-2007 à 09:00:02  profilanswer
 

Déjà tu as utilisé un réel au lieu d'un entier, donc les probabilités de tomber sur [1.00,2.00,3.00,4.00,5.00] sont d'environ de 1/10000000, donc c'est l'action
Déclencheur - Run (This trigger) (checking conditions)  
Qui est lancé pour chaque joueur ordinateur ce qui relance donc le déclencheur exponentiellement jusqu'à arriver à saturation.


---------------
http://acathla.com
http://worldedit.free.fr/
n°4590099
Demystifca​tor
Posté le 12-06-2007 à 12:11:19  profilanswer
 

Je pensais qu'il agirait par nombres entiers !
Comment puis je lui dire de créer un héros (choisi au hasard) pour les joueurs bots sans placer les dits héros sur la carte préalablement ?

n°4590136
Ayane
Posté le 12-06-2007 à 21:50:44  profilanswer
 

Code :
  1. Heroes Init
  2.     Evénements
  3.     Conditions
  4.     Actions
  5.         Set HEROES_COUNT = 5
  6.         Set Heroes[0] = Paladin
  7.         Set Heroes[1] = Archimage
  8.         Set Heroes[2] = Mage de sang
  9.         Set Heroes[3] = Roi de la montagne
  10.         Set Heroes[4] = Chasseur des ombres


 

Code :
  1. Heroes IA
  2.     Evénements
  3.     Conditions
  4.     Actions
  5.         Set TmpForce = (All players controlled by a Ordinateur player)
  6.         Groupe joueur - Pick every player in TmpForce and do (Actions)
  7.             Boucle - Actions
  8.                 -------- Choisi aléatoirement l'id d'un héros --------
  9.                 Set TmpInt = (Random integer number between 0 and (HEROES_COUNT - 1))
  10.                 -------- Trouve le joueur maître de l'équipe (5 ou 10) --------
  11.                 Set TmpPlayer = (Player(((Team number of (Picked player)) x 5)))
  12.                 -------- ---------------------------- --------
  13.                 -------- Créé l'unité de construction --------
  14.                 Set TmpPoint = (TmpPlayer start location)
  15.                 Unité - Create 1 Paysan for TmpPlayer at TmpPoint facing Orientation bâtiment par défaut degrees
  16.                 Groupe unité - Add (Last created unit) to Team_Builders[(Team number of (Picked player))]
  17.                 -------- Créé le héros --------
  18.                 Unité - Create 1 Heroes[TmpInt] for TmpPlayer at TmpPoint facing Orientation bâtiment par défaut degrees
  19.                 Groupe unité - Add (Last created unit) to Team_Heroes[(Team number of (Picked player))]
  20.                 -------- Supprime le point --------
  21.                 Custom script:   call RemoveLocation( udg_TmpPoint )
  22.         -------- Supprime la force --------
  23.         Custom script:   call DestroyForce( udg_TmpForce )
  24.         -------- Activation des déclencheurs ... --------


 
En programmation tout ce qui se répète est simplifiable. On regarde tout ce qui est commun et on utilise des variables pour tout ce qui est variable.


---------------
http://acathla.com
http://worldedit.free.fr/
n°4590159
Demystifca​tor
Posté le 13-06-2007 à 19:06:38  profilanswer
 

J'ai capté l'idée !
 
la fonction "Random Player from the Player Group" signife "n'importe quel joueur du groupe" ou "joueur au hasard"? Si par exemple j'entre ca :
 
Controle test
    Evénements
        Unité - A unit Meurt
    Conditions
        (Unit-type of (Dying unit)) Egal à Drapeau
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            Si - Conditions
                (Owner of (Killing unit)) Egal à (Random player from ForceGauche)
            Alors - Actions
            ....
 
Les actions vont elles se résoudre quelque soit le joueur tant qu'il est de ForceGauche, ou pas?

n°4590160
Ayane
Posté le 13-06-2007 à 20:46:18  profilanswer
 

Random Player from the Player Groupc'est un joueur au hasard du groupe.
 

Code :
  1. ControleTest
  2.     Evénements
  3.         Unité - A unit Meurt
  4.     Conditions
  5.         (Unit-type of (Dying unit)) Egal à Fantassin
  6.         ((Owner of (Dying unit)) is in ForceGauche) Egal à TRUE
  7.     Actions
  8.         -------- actions ... --------


 


---------------
http://acathla.com
http://worldedit.free.fr/
n°4590161
Demystifca​tor
Posté le 13-06-2007 à 20:47:45  profilanswer
 

Et pour les régions, j'aimerais dire
 
Quand une unité meurt
Pick toutes les unités que contient la région qui contenait l'unité mourrante

n°4590162
Ayane
Posté le 13-06-2007 à 22:21:31  profilanswer
 

Tu fais une variable déploiement qui va contenir toutes tes régions (avec une variable de type entier pour indiquer le nombre de régions).
Lorsque l'unité meurt tu utilise le For integer afin de boucler sur toutes les régions et à chaque fois tu teste si l"unité qui est morte se trouve dans al région.


---------------
http://acathla.com
http://worldedit.free.fr/
n°4590163
Demystifca​tor
Posté le 14-06-2007 à 19:09:20  profilanswer
 

Controle test
    Evénements
        Unité - A unit Meurt
    Conditions
        (Unit-type of (Dying unit)) Egal à Drapeau
    Actions
        For each (Integer A) from 1 to 11, do (Actions)
            Boucle - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    Si - Conditions
                        (Regions[(Integer A)] contains (Dying unit)) Egal à TRUE
                    Alors - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            Si - Conditions
                                ((Owner of (Killing unit)) is in ForceGauche) Egal à TRUE
                            Alors - Actions
                                Unité - Create 1 Drapeau for Joueur 5 (Jaune) at (Position of (Dying unit)) facing Orientation bâtiment par défaut degrees
                                Groupe unité - Pick every unit in (Units in Regions[(Integer A)]) and do (Actions)
                                    Boucle - Actions
                                        Unité - Change ownership of (Picked unit) to Joueur 5 (Jaune) and Changer couleur
                            Sinon - Actions
                                Do nothing
                    Sinon - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            Si - Conditions
                                ((Owner of (Killing unit)) is in ForceDroite) Egal à TRUE
                            Alors - Actions
                                Unité - Create 1 Drapeau for Joueur 10 (Bleu clair) at (Position of (Dying unit)) facing Orientation bâtiment par défaut degrees
                                Groupe unité - Pick every unit in (Units in Regions[(Integer A)]) and do (Actions)
                                    Boucle - Actions
                                        Unité - Change ownership of (Picked unit) to Joueur 10 (Bleu clair) and Changer couleur
                            Sinon - Actions
                                Do nothing
 
 
 
===> Ca fait couper le jeu dès qu'un drapeau meurt. Ca vient de ce seul trigger ou non? Parqu'il y a onze triggers qui je crois sont la cause de la coupure ua bout d'un certain temps de jeu.


Aller à :
Ajouter une réponse