online faq recherche accueil
 

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

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Plusieurs problèmes en fait...

 
n°4591831
Kuchiki By​akuya
Stfu.
Posté le 11-03-2008 à 19:37:30  profilanswer
 

Bonjour à tous.
J'ai un petit problème, j'ai récemment changé le système qui gère les régions, les cercles de puissances, les unités mini par territoires etc... dans mon Risk (Tactical Middle Earth Risk) - (un système par Gaurbaque).
 
Mais la map lagg et apparemment ça ne vient pas que de moi (en solo ça ne lagg pas, uniquement sur Bnet).
 
Les triggers qui seraient selon moi susceptibles de provoquer ce lagg :

  • Leave Territory

   Evénements
        Unité - A unit leaves Amon Hen <gen>
        Unité - A unit leaves Andunie <gen>
Comme ça pour une centaine de régions.
        Unité - A unit leaves Zarak Dum <gen>
    Conditions
        (Number of units in (Units within 100.00 of (Position of (Random unit from (Units within 512.00 of (Position of (Leaving unit)) matching ((Unit-type of (Matching unit)) Egal à  Territory)))) matching (((Matching unit) is alive) Egal à  TRUE))) Egal à  1
    Actions
        Unité - Move (Leaving unit) instantly to (Position of (Random unit from (Units within 512.00 of (Position of (Leaving unit)) matching ((Unit-type of (Matching unit)) Egal à  Territory))))
 
 

  • Take Territory

   Evénements
        Unité - A unit enters Amon Hen <gen>
        Unité - A unit enters Andunie <gen>
Comme ça pour une centaine de régions.
        Unité - A unit enters Zarak Dum <gen>
    Conditions
        (Number of units in (Units within 100.00 of (Position of (Entering unit)) matching ((((Matching unit) is Un bâtiment) Egal à  FALSE) and (((Owner of (Matching unit)) Différent de (Owner of (Entering unit))) and (((Matching unit) is alive) Egal à  TRUE))))) Egal à  0
    Actions
        Groupe unité - Pick every unit in (Units within 512.00 of (Position of (Entering unit)) matching (((Matching unit) is Un bâtiment) Egal à  TRUE)) and do (Actions)
            Boucle - Actions
                Unité - Change ownership of (Picked unit) to (Owner of (Entering unit)) and Changer couleur
        Déclencheur - Run Victory <gen> (checking conditions)
        Groupe joueur - Pick every player in (All players) and do (Actions)
            Boucle - Actions
                Multitable - Set the text for MultiTable item in column 2, row ((Player number of (Picked player)) + 1) to (<Chaîne vide> + (String((Number of living Territory units owned by (Picked player)))))
 
 
J'aimerai savoir si y'a un moyen d'optimiser tout ça pour éviter qu'ça lagg et puis aussi si c'est sur que le lagg vient de là.
 
 
Autre problême :
On m'avait donné une ligne de code pour éviter les leaks dans un "groupe-unit pick every unit", je l'ai mis mais probablement mal parce que rien ne spawn...
 

  • Units Spawns Morts Vivants

   Evénements
        Temps - Compteur expires
    Conditions
    Actions
        Custom script:   set bj_wantDestroyGroup=true
        Groupe unité - Pick every unit in (Units of type |cff400040Crypt) and do (Actions)
            Boucle - Actions
                Set SpawnPoint = (Position of (Picked unit))
                Unité - Create 1 |cff400040Tomb Keeper for (Owner of (Picked unit)) at (Position of (Picked unit)) facing Orientation bâtiment par défaut degrees
                Unité - Create 2 |cff400040Tomb Servant for (Owner of (Picked unit)) at (Position of (Picked unit)) facing Orientation bâtiment par défaut degrees
                Unité - Create 1 |cff400040Skeleton Bowman for (Owner of (Picked unit)) at (Position of (Picked unit)) facing Orientation bâtiment par défaut degrees
                Custom script:   call RemoveLocation(udg_SpawnPoint)
 
Il faut savoir qu'après ça il y a encore plusieurs "blocs" identiques, cela change t-il quelque chose ?
 
Merci d'avance :)
 
 
KB.


Message édité par Kuchiki Byakuya le 22-03-2008 à 10:50:03
n°4591834
Rommstein6​0
Mapping powaa !
Posté le 11-03-2008 à 20:09:33  profilanswer
 

Je dirai juste que c'est ça qui fait lagger :)
Mais là j'ai pas le temps et légèrement la flemme de t'aider à optimiser désolé :s


---------------
Clan KaMi
n°4591835
Kuchiki By​akuya
Stfu.
Posté le 11-03-2008 à 21:27:45  profilanswer
 

Premier message édité.
 
Merci pour ton aide Rommstein :ack:

n°4591867
Kuchiki By​akuya
Stfu.
Posté le 17-03-2008 à 19:28:06  profilanswer
 

Uh... tout le monde sèche ? :(

n°4591871
zedeathcam​e4u
Posté le 20-03-2008 à 13:50:59  profilanswer
 

- Le Lag:
 
A mon avis ton lag est dû au trop grand nombre de régions. Désactives-en pas mal et vois comment ça réagis. Si c'est toujours pareil, prend juste un trigger relatif à une région, et regarde si ça lag toujours. Si c'est le cas, il faut revoir le code général pour tes "leave region".
Sinon, tu fais tout le temps appel à des points, il faut les supprimer pour virer les leaks.
 
E- Leave Region
C-Truc
A- Set Point=(Position of (Random unit from (Units within 512.00 of (Position of (Leaving unit))
Unité - Move (Leaving unit) instantly to Point matching ((Unit-type of (Matching unit)) Egal à  Territory))))  
Wait .1 s
Custom script:   call RemoveLocation(udg_Point)  
 
- Dans le spawn unit:
 
Custom script:   set bj_wantDestroyGroup=true . Ca représente quoi ? Une booleenne que tu mets à true ? Si oui, ça ne te sert à rien dans ce trigger.
Une ligne de code pour supprimer le groupe ? Je pense que c'est plutôt ça. Places le après la boucle dans ce cas. (Pick unit considérés comme groupe)
A confirmer (ou pas) par des "jasseurs".
 
Ensuite, Spawnpoint tu ne l'utilises nulle part. Donc ton leak reste. Dans ton spawn d'unités, tu dois faire "Create... at SpawnPoint"
Quand tu détruits ce point, met un temps d'attente avant.

n°4591881
Troll-Brai​n
http://worldedit.free.fr/forum
Posté le 20-03-2008 à 17:56:20  profilanswer
 

la flemme de parler encore des leak et d'optimisation de trigger mais ecoute pas zedeathcame4u du moins pour les groupes unités.
Oui il faut le mettre avant le pick every et non aprés, et oui c'est un simple de variable booleenne à true mais la fonction gui pick every l'utilise pour supprimer un groupe unité aprés utilisation de celui ci

 

PS : et ne met surtout pas de wait entre l'utilisation du point et la destruction de celui ci car si ton trigger se relance avant la fin du wait le point d'avant ne sera pas supprimé


Message édité par Troll-Brain le 20-03-2008 à 17:59:48

---------------
Je ne prends que sur rendez vous.
Assurez vous d'avoir un moyen de paiement conséquent, et de préférence en liquide, avant de me quémander la moindre question.
 
n°4591886
Kuchiki By​akuya
Stfu.
Posté le 22-03-2008 à 10:49:43  profilanswer
 

@ZeDeath : Oui avec des régions en plus petites quantités ça lagg pas (enfin j'ai testé en solo pendant 3 minutes et y'a une dizaine de régions, donc c'est pas vraiment probant comme test).
 
@TB : Donc faut rien changer à part le "Call Remove Location" que je mets en dessous du Pick Every Unit ?
 
Merci pour vos réponses.
 
Nouveau problème :
Je sais qu'on peut réduire la minimap d'un joueur à une certaines taille (pour par qu'il puisse sortir sa fenêtre d'un certain périmètre par exemple). Dans Pyramid Escape le mappeur l'utilise. J'ai cherché dans les fonctions GUI sans rien trouver. Quelqu'un aurait une idée ? Merci d'avance =)


Aller à :
Ajouter une réponse