Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Zaitan Membre honoraire
Inscrit le: 16 Oct 2015 Messages: 219 Sujets: 17 Spécialité en worldedit: Soigner les petits détails
|
Posté le: 04/03/16 18:27 Sujet du message: Annuler Flétrissure |
|
|
Bonjour.
Je souhaiterais pouvoir enlever la flétrissure présente sur la carte à un moment donné. J'ai essayé avec cette option: Gui: | Trigger: Environnement - Supprimer Blight for Neutre Passif across (Playable map area) |
Premièrement, je ne comprend pas l'utilité de définir un joueur dans ce déclencheur.
Ensuite, la flétrissure est effectivement enlevée de la map, mais pas celle qui a été crée à partir d'un crâne sacrificiel. Le seul moyen d'enlever cette flétrissure-ci est d'utiliser une compétence 'dissiper magie' (du prêtre humain). Seulement voilà: le terrain qui apparait en dessous est en général toujours le deuxième, appelé le 'terrain difficile'.
Or, ce que je souhaiterais, c'est que la carte puisse redevenir telle qu'elle était au début. C'est à dire que si la flétrissure présente a remplacé de l'herbe, cette herbe doit revenir.
Je peux éventuellement utiliser la fonction suivante: Gui: | Trigger: Environnement - Change terrain type at (Center of (Playable map area)) to Eté de Lordaeron - Terre using variation -1 in an area of size 1 and shape Cercle |
Mais je dois faire ça pour chaque zone de la carte, ce qui serait beaucoup trop long. A moins qu'il existe un moyen simple de 'scanner' la carte en début de partie afin de mémoriser le terrain utilisé à chaque carreau afin de le remettre ensuite?
Merci d'avance pour votre aide. _________________
|
|
Revenir en haut |
|
|
Cho'gall Floodeur prématuré
Inscrit le: 05 Nov 2010 Messages: 696 Sujets: 56 Spécialité en worldedit: Cartes Melee
|
|
Revenir en haut |
|
|
Karbok Membre actif
Inscrit le: 29 Oct 2014 Messages: 181 Sujets: 8 Spécialité en worldedit: les gauffres au nutella
|
Posté le: 04/03/16 18:54 Sujet du message: |
|
|
Concernant un scan de la carte, l'idée me semble bonne mais je n'ai pas trouvé de fonction GUI pour stocker des types de terrain dans une hashtable (en JASS j'ai pas regardé). A l'extrême limite tu peux t'en sortir avec des arrays de types de terrain mais tu imagines bien le niveau de dégueulassitude de cette méthode ^^ _________________
Mon pseudo Battle.net : Dragonflamm |
|
Revenir en haut |
|
|
Zaitan Membre honoraire
Inscrit le: 16 Oct 2015 Messages: 219 Sujets: 17 Spécialité en worldedit: Soigner les petits détails
|
|
Revenir en haut |
|
|
Cho'gall Floodeur prématuré
Inscrit le: 05 Nov 2010 Messages: 696 Sujets: 56 Spécialité en worldedit: Cartes Melee
|
Posté le: 04/03/16 19:16 Sujet du message: |
|
|
Faut faire ton truc en 2 parties :
1)Créer les conditions de victoire/défaite
2)Mettre en place un Turn-on à la fin de la Victoire/défaite pour activer le déclencheur pour Supprimer la Fletrissure et Créer l'Herbe . _________________
|
|
Revenir en haut |
|
|
Zaitan Membre honoraire
Inscrit le: 16 Oct 2015 Messages: 219 Sujets: 17 Spécialité en worldedit: Soigner les petits détails
|
Posté le: 04/03/16 19:55 Sujet du message: |
|
|
Oui mais comment? Comment je fais pour que, pour chaque carré de terrain utilisé, redevienne comme avant s'il a été flétri? C'est à dire herbes, herbes hautes, herbes éparses, terrain endommagé, terre normale, neige, etc... _________________
|
|
Revenir en haut |
|
|
Karbok Membre actif
Inscrit le: 29 Oct 2014 Messages: 181 Sujets: 8 Spécialité en worldedit: les gauffres au nutella
|
Posté le: 04/03/16 20:04 Sujet du message: |
|
|
L'idée avec les hashtable était de créer un tableau à 2 dimensions (x et y) des tiles sur la map pour les restaurer plus tard (par exemple Ma_Hashtable[50, 100] contiendra la tile aux coordonnées x=50, y=100)
Un array est un tableau à une seule dimension, donc c'est encore possible d'y stocker toutes les tiles de la map, mais faut réfléchir un peu plus (genre Mon_Array[3] contient la tile en 0, 150 alors que Mon_Array[1004] contiendra la tile en 50, 200). _________________
Mon pseudo Battle.net : Dragonflamm |
|
Revenir en haut |
|
|
rgf Membre reconnu
Inscrit le: 09 Mar 2009 Messages: 1154 Sujets: 54 Spécialité en worldedit: Croâ ?
|
|
Revenir en haut |
|
|
Zaitan Membre honoraire
Inscrit le: 16 Oct 2015 Messages: 219 Sujets: 17 Spécialité en worldedit: Soigner les petits détails
|
Posté le: 04/03/16 20:30 Sujet du message: |
|
|
rfg, comment puis-je faire ce que tu dis? Sauvegarder une case, mémoriser son type? Je parle de la carte 'Le Loup' avec le nécromancien. Ça fait beaucoup de cases. _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 04/03/16 21:31 Sujet du message: |
|
|
Le plus simple et efficace serait de modifier la compétence dissiper magie, mais je suppose que ce n'est pas possible.
Sinon un scan de la map "cellule par cellule" n'est pas compliqué mais affreusement lourd.
Suffit de se déplacer sur l'axe X et Y avec un offset à définir (128 ?) et de sauvegarder cela dans une hashtable. _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
rgf Membre reconnu
Inscrit le: 09 Mar 2009 Messages: 1154 Sujets: 54 Spécialité en worldedit: Croâ ?
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 04/03/16 21:39 Sujet du message: |
|
|
Sinon y'a peut être une piste au niveau des terrrains à exploiter, si jamais les tuiles sont modifiables.
Car tu dis que ce n'est pas toujours terrain difficile qui resurgit après avoir enlevé le blight, donc si à une tuile une autre tuile est liée (après que le blight y soit enlevée), bah suffit de mettre ces 2 tuiles identiques visuellement.
Techniquement ca serait donc 2 terrains différents mais visuellement identiques. _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
Hélit Membre récent
Inscrit le: 02 Mar 2016 Messages: 89 Sujets: 5 Spécialité en worldedit: Tout détruire s'il y a un bug
|
Posté le: 04/03/16 21:59 Sujet du message: |
|
|
sinon, tu crée un batiment dummy avec la compétence "virer la flétrissure" _________________
Voici mon mode de pensée : quand je rencontrer un problème et que je ne peux pas la régler en moins de 5 minutes, je détruit tout.
Ca va plus vite que de réfléchir. |
|
Revenir en haut |
|
|
Brissou de Mourièssou Créateur de sorts, depuis 1936.
Inscrit le: 30 Aoû 2007 Messages: 1510 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 04/03/16 22:35 Sujet du message: |
|
|
Ouais "scanne" de map c'est ce qui marche le mieux.
J'avais fait ça pour ma map "Arena 100", j'avais des sorts qui modifiaient le terrain, donc à la fin du sort il fallait remettre l'ancien terrain.
Par contre on est limité par la taille des tableaux / arrays de 8192, soit en 2 dimensions => 90 * 90. Je crois que c'est pas énorme (perso pour ma map minuscule ça passait). Selon la taille de la map il faudrait plusieurs tableaux...
C'est complètement faisable, mais vu que tu ne vois pas ce qu'est un "array" je te souhaite bien du courage !
Déjà pour la conversion 1D => 2D
[][][]|[][][]|[][][]
=>
[][][]
[][][]
[][][]
Supposant que tu souhaites connaître l'index dans ton tableau pour la position [i, j], la formule est la suivante:
index_du_tableau = j * Largeur + i _________________
|
|
Revenir en haut |
|
|
Zaitan Membre honoraire
Inscrit le: 16 Oct 2015 Messages: 219 Sujets: 17 Spécialité en worldedit: Soigner les petits détails
|
Posté le: 04/03/16 22:48 Sujet du message: |
|
|
Brissou de Mourièssou a écrit: |
Déjà pour la conversion 1D => 2D
[][][]|[][][]|[][][]
=>
[][][]
[][][]
[][][]
Supposant que tu souhaites connaître l'index dans ton tableau pour la position [i, j], la formule est la suivante:
index_du_tableau = j * Largeur + i |
Je vois un peu ce que tu veux dire, sans pour autant tout comprendre car je l'ai jamais fait. Je vais chercher un peu et essayer moi-même comme ça. Je reviendrais par ici si ça marche pas.
Merci. _________________
|
|
Revenir en haut |
|
|
|