Inscrit le: 08 Sep 2013 Messages: 533 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
Posté le: 03/11/14 14:17 Sujet du message: Opti Vision
Bonjour à tous.
Aujourd'huis je cherche à optimiser des triggers sur la vison, je m'explique.
Lorsque que le joueur fais la commande -abandon, il à une vision totale de la map. Mais lors d'un "Reboot", commande qui réinitialise rescources, unités de départ, arbres et la vision.
Je me suis dit de faire une variable à déploiement pour tout les joueurs qui controlerai la vision des joueurs (initialement 0=Brouillard de guerre, 1 si le joueur fait -abandon, 0 si la partie reboot). Donc j'ai bien mis des variables entières, et ensuite faire un déclo qui checke la variable de vision pour mettre la bonne vision pour le joueur. Fichtre : il faut une variable réelle. Je recommence avec un réel à déploiement, re-fichtre : il veut pas de réel avec déploiement
à part faire 1 déclo pour chaque joueur, je ne vois pas comment opti tout ça. Alors je demande à vous, vétérans du GUI, de me conseiller sur la démarche à suivre pour compacter ça dans 1 ou 2 déclo.
Merci d'avance bande de gens _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent"
Inscrit le: 29 Oct 2014 Messages: 181 Sujets: 8 Spécialité en worldedit: les gauffres au nutella
Posté le: 03/11/14 20:54 Sujet du message:
Salut,
c est possible de faire des variables à déploiement de tout type en GUI (editeur de variables -> nouvelle variable -> cocher déploiement), tu devrais pas avoir à contourner ca normalement _________________
Inscrit le: 08 Sep 2013 Messages: 533 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
Posté le: 04/11/14 20:11 Sujet du message:
Pour faire simple :
-si joueur fait -abandon
donne vision totale de la map
-si reboot
Retire la vision totale à TOUT le Monde.
Le problème est que des fois lors d'un reboot le joueur qui à abandonné à encore toute la vision et celui qui n'as pas abandonné se retrouve lui aussi avec la vision. _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent"
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
Posté le: 04/11/14 20:43 Sujet du message:
Tu utilises une variable déploiement révélateur un truc dans le genre, tu fais ta révélation, tu le save dans la variable, puis lors de ton reboot tu détruis ton révélateur. _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon"
Inscrit le: 08 Sep 2013 Messages: 533 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
Posté le: 05/11/14 14:34 Sujet du message:
Secret:
là c'est quand il y à un reboot.
Gui:
Trigger:
For each (Integer A) from 1 to 9, do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
visionJoueur[(Integer A)] Egal à 1
Alors - Actions
Visibilité - Destroy (Last created visibility modifier) Set visionJoueur[(Integer A)] = 0
Sinon - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Owner of (Picked unit)) Egal à Joueur[(Integer A)] (Unit-type of (Picked unit)) Différent de Dummy anti dévoilé
Alors - Actions
Unité - Remove (Picked unit) from the game
Sinon - Actions
Do nothing
Secret:
Et là c'est quand un joueur fait -abandon
Gui:
Trigger:
For each (Integer A) from 1 to 9, do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
Joueur[(Integer A)] Différent de (Triggering player)
Alors - Actions
Joueur - Make (Player((Integer A))) treat (Triggering player) as an Ennemi Partie - Display to (Player group(Joueur[(Integer A)])) the text: ((Name of (Triggering player)) + |cffffff00 a abandonné !|r)
Sinon - Actions
Partie - Display to (Player group((Triggering player))) the text: |cffffff00Vous avez... Visibilité - Create an initially Activé visibility modifier for Joueur[(Integer A)] emitting Visibilité across (Playable map area) Partie - Display to (Player group((Triggering player))) the text: Vous êtes maintena... Set visionJoueur[(Integer A)] = 1
Vu que ça détruit la dernière vision créé, je me suis dit qu'il va prendre à chaque fois tout les abandons ( si 2 abandon, le reboot en détruit 2 (les 2 dernières), si 1000 abandon le reboot en détruit 1000 (les 1000 dernières))
et bizzarement, ça ne marche pas.
Je pense qu'il y à un truc assez subtil pour gérer tout ça mais je n'ai pas l'expérience nescéssaire pour la trouver.
EDIT :
j'ai mis un set var checkvision(last created) après le give de vision lors d'un -abandon, et un destroy lors d'un reboot, et ça ne marche toujours pas, la vision se met, mais ne se retire pas. _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent"
Inscrit le: 29 Oct 2014 Messages: 181 Sujets: 8 Spécialité en worldedit: les gauffres au nutella
Posté le: 05/11/14 17:59 Sujet du message:
Le jeu ne réaffecte malheureusement pas Last created visibility modifier si tu le détruis.
Par contre tu peux stocker tes visibility modifier dans une variable à déploiement de ce type (pareil que pour visionJoueur) au moment ou tu les crée ("set vision[X] = last created visibility modifier") _________________
Page 1 sur 1 La question posée dans ce topic a été résolue !
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