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=a85f537a8838add152f1aa376188cf0aMé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

Annuler Flétrissure
Aller à la page 1, 2  Suivante
 
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
 Zaitan
Membre honoraire


Inscrit le: 16 Oct 2015
Messages: 203
Sujets: 15
Spécialité en worldedit: Soigner les petits détails


MessagePosté le: 04/03/16 18:27    Sujet du message: Annuler Flétrissure Citer

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Cho'gall
Floodeur prématuré


Inscrit le: 05 Nov 2010
Messages: 696
Sujets: 56
Spécialité en worldedit: Cartes Melee


MessagePosté le: 04/03/16 18:44    Sujet du message: Citer

ça va sembler stupide ce que je vais dire mais si tu met un Wait 2 secondes après tu fais en sorte de remplacer le terrain difficile par l'herbe . Smile
tu as essayé ?
Oui pour "scanner" la carte ça peut sembler long mais regardes le codage des campagnes des deux Warcraft 3,y a un onglet ou tout est planifié (fletrissure etc ..)si tu met des régions aux endroits ou tu veux appliquer ton changement de terrain .Le codage c'est du pavé . Laughing
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Karbok
Membre actif


Inscrit le: 29 Oct 2014
Messages: 181
Sujets: 8
Spécialité en worldedit: les gauffres au nutella


MessagePosté le: 04/03/16 18:54    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Zaitan
Membre honoraire


Inscrit le: 16 Oct 2015
Messages: 203
Sujets: 15
Spécialité en worldedit: Soigner les petits détails


MessagePosté le: 04/03/16 19:08    Sujet du message: Citer

Cho'gall a écrit:
ça va sembler stupide ce que je vais dire mais si tu met un Wait 2 secondes après tu fais en sorte de remplacer le terrain difficile par l'herbe . Smile
tu as essayé ?


Oui ça fonctionne. Mais j'aimerais que le déclencheur le fasse automatiquement: qu'il se souvienne lui même de ce qu'il y avait en dessous.

Durant la partie, la flétrissure peut être placée n'importe où par un joueur. Je veux que la partie puisse être recommencée, et la flétrissure enlevée.

Cho'gall a écrit:
Le codage c'est du pavé . Laughing


Je ne comprend pas ce que tu entends par là.



Karbok a écrit:
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 ^^


Qu'est-ce qu'un 'arrays' ? Un tableau? Je n'ai jamais utilisé ça. Je ne comprend donc pas cette méthode, aussi dégeulasse soit-elle, mais elle m'intéresse. Peux-tu m'en dire davantage?


De plus, je viens de penser à un élément supplémentaire. Je dois aussi faire en sorte que les arbres ayant été transformés par la flétrissure puissent redevenir normaux. Cela est-il possible?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Cho'gall
Floodeur prématuré


Inscrit le: 05 Nov 2010
Messages: 696
Sujets: 56
Spécialité en worldedit: Cartes Melee


MessagePosté le: 04/03/16 19:16    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé
 Zaitan
Membre honoraire


Inscrit le: 16 Oct 2015
Messages: 203
Sujets: 15
Spécialité en worldedit: Soigner les petits détails


MessagePosté le: 04/03/16 19:55    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Karbok
Membre actif


Inscrit le: 29 Oct 2014
Messages: 181
Sujets: 8
Spécialité en worldedit: les gauffres au nutella


MessagePosté le: 04/03/16 20:04    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 rgf
Membre reconnu


Inscrit le: 09 Mar 2009
Messages: 1144
Sujets: 54
Spécialité en worldedit: Croâ ?


MessagePosté le: 04/03/16 20:23    Sujet du message: Citer

Il serait plus simple de ne conserver que les cases qui ont été modifiées au cours de la partie. Juste avant de changer ta case en case flétrie, tu sauvegardes le type de terrain de la case ainsi que la position dans des variables. Au moment de redémarrer la partie tu parcours toutes les cases que tu as sauvegardées pour les remettre comme avant. (C'est beaucoup moins lourd que de tout scanner et de tout re-mapper à chaque remake)
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Zaitan
Membre honoraire


Inscrit le: 16 Oct 2015
Messages: 203
Sujets: 15
Spécialité en worldedit: Soigner les petits détails


MessagePosté le: 04/03/16 20:30    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7142
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 04/03/16 21:31    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé
 rgf
Membre reconnu


Inscrit le: 09 Mar 2009
Messages: 1144
Sujets: 54
Spécialité en worldedit: Croâ ?


MessagePosté le: 04/03/16 21:32    Sujet du message: Citer

Un truc comme ça :

Gui:
Trigger:
Fletrissure
Collapse Evénements
Unité - A unit Initie l'effet d'une compétence
Collapse Conditions
(Ability being cast) Egal à  Compétence de fletrissure
Collapse Actions
Set cases[compteurCase] = (Terrain type at (Position of (Triggering unit)))
Set casesPosition[compteurCase] = (Position of (Triggering unit))
Set compteurCase = (compteurCase + 1)
-------- Puis tu mets la flétrissure --------


Ca c'est le déclencheur où tu génères la flétrissure

Gui:
Trigger:
Retirer la fletrissure
Evénements
Conditions
Collapse Actions
Collapse For each (Integer A) from 0 to compteurCase, do (Actions)
Collapse Boucle - Actions
Environnement - Change terrain type at casesPosition[(Integer A)] to cases[(Integer A)] using variation -1 in an area of size 1 and shape Cercle
Custom script:   call RemoveLocation(casesPosition[GetForLoopIndexA()])
Set compteurCase = 0


et ça c'est pour l'enlever.
Normalement ça devrait faire l'affaire ^^
_________________
Croâh ?


Dernière édition par rgf le 04/03/16 23:24; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7142
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 04/03/16 21:39    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé
 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


MessagePosté le: 04/03/16 21:59    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé
 Brissou de Mourièssou
Créateur de sorts, depuis 1936.


Inscrit le: 30 Aoû 2007
Messages: 1497
Sujets: 25
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...)
Créateur de héros (Quantité : 1) Concours de sorts amusants (Quantité : 1)

MessagePosté le: 04/03/16 22:35    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
 Zaitan
Membre honoraire


Inscrit le: 16 Oct 2015
Messages: 203
Sujets: 15
Spécialité en worldedit: Soigner les petits détails


MessagePosté le: 04/03/16 22:48    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
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
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
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