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

Demande d'aide sur déclencheur d'unité

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels -> Demander un tuto
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Oklahoma-fr
Ptit Nouveau


Inscrit le: 07 Juin 2011
Messages: 6
Sujets: 1



MessagePosté le: 07/06/11 22:30    Sujet du message: Demande d'aide sur déclencheur d'unité Citer

Bonjour, ça fait 3 jours que je bloque sur la création d'une carte. Je suis depuis 1 semaine en train de créer une nouvelle adaptation frozen de la carte " Merlin - Acheteur Vendeur". Pour ceux qui ne connaissent pas le principe, il y a 4 vendeurs qui reçoivent toutes les minutes des unités et qui par une commande vendent ces unités aux acheteurs qui doivent se faire la guerre entre eux. Exemple de commande de vente, si je veux fixer le prix des unités a 2000 or, la commande est "offre 2000". Et pour les acheteurs, ils ont les commandes p1, p2, p3 et p4 pour acheter, avec le chiffre qui correspond au n° du vendeur.
Voila la situation, maintenant je vous pose mon problème. Je n'avais jamais crée de carte avant, j'ai réussis a mettre tout les paramètre de jeu, les tableaux des taux d'or, les unités personnalisés comme "Le Maître"...
1er probleme : j'arrive a faire apparaitre les unités des vendeurs... Cependant, j'aimerai que ces unités arrivent de façon aléatoire mais pas tant que ça... Je m'explique, j'aimerai par exemple qu'il y est autant de chance de pouvoir avoir a vendre des goules que des fantassins ou des archers... Mais que les chances d'avoir un héros soit plus petite que des goules par exemple... E n fait, je n'arrive meme pas a faire apparaître des unités au hasard... Sauf, les unités neutres... ( problématique)
2eme problème, j'aimerai créer les commandes offre et p1 etc... Mais je n'y arrive pas non plus. Sachant que si par exemple vous avez 6 grunts a vendre et que vous tapez "offre 3000" , il sera affiché "{nom du joueur} propose 3000 d'or pour 6 grunts. (Pour acheter , TAPEZ : p1) "
3eme probleme : il y a une limitation de nourriture de 80. Cependant, les unités n'affichent aucun changement visible dans le cadre en haut a droite signalant le nombre de nourriture utilisé sur le nombre de nourrriture max. Mais le taux de nourriture y est quand meme puisqu'il y a une limitation de soldat...

J'ai cherché en vain et j'aurai espéré que vous me donneriez une solution a mon problème. Merci d'avance.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 rgf
Membre reconnu


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


MessagePosté le: 07/06/11 23:02    Sujet du message: Citer

Tu t'es trompé de section ^^

Pour le 1er problème, tu utilises la fonction random, genre par exemple,
Gui:
Trigger:
Initialisation mêlée
Collapse Evénements
Temps - Every 30.00 seconds of game time
Conditions
Collapse Actions
Set Entier = (Random integer number between 1 and 10)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
Entier Supérieur ou égal à  1
Entier Inférieur ou égal à  3
Collapse Alors - Actions
Unité - Create 4 Fantassin for Joueur 1 (Rouge) at (Center of (Playable map area)) facing Orientation bâtiment par défaut degrees
Sinon - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
Entier Supérieur ou égal à  4
Entier Inférieur ou égal à  6
Collapse Alors - Actions
Unité - Create 4 Grunt for Joueur 1 (Rouge) at (Center of (Playable map area)) facing Orientation bâtiment par défaut degrees
Sinon - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
Entier Supérieur ou égal à  7
Entier Inférieur ou égal à  8
Collapse Alors - Actions
Unité - Create 1 Chevalier de la mort for Joueur 1 (Rouge) at (Center of (Playable map area)) facing Orientation bâtiment par défaut degrees
Sinon - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
Entier Supérieur ou égal à  9
Entier Inférieur ou égal à  10
Collapse Alors - Actions
Unité - Create 1 Chasseur de démon for Joueur X at (Center of Region) facing Orientation bâtiment par défaut degrees
Collapse Sinon - Actions

Avec Entier une variable de type entier, et Région c'est la région où tu veux qu'ils apparaissent
Ici y'aura 30% de chances (3/10) de créer un fantassin, 30% de créer un grunt, 20% (2/10) de créer un chevalier de la mort et 20% de créer un chasseur de démons.

Il y a des moyens plus rapides je pense, on pourrait aussi stocker des types d'unités dans une variable à déploiement,
Gui:
Trigger:
Déclencheur sans titre 002
Collapse Evénements
Map initialization
Conditions
Collapse Actions
Set Unit[1] = Fantassin
Set Unit[2] = Fantassin
Set Unit[3] = Fantassin
Set Unit[4] = Grunt
Set Unit[5] = Grunt
Set Unit[6] = Grunt
Set Unit[7] = Chevalier de la mort
Set Unit[8] = Chevalier de la mort
Set Unit[9] = Chasseur de démon
Set Unit[10] = Chasseur de démon

Gui:
Trigger:
Déclencheur sans titre 003
Collapse Evénements
Temps - Every 30.00 seconds of game time
Conditions
Collapse Actions
Set Entier = (Random integer number between 1 and 10)
Unité - Create 1 Unit[Entier] for Joueur 1 (Rouge) at (Center of Region) facing Orientation bâtiment par défaut degrees

Je pense que c'est plus rapide comme ceci, tu stockes ton fantassin dans 3 index, de même pour ton grunt, et tu stockes ton chevalier dans 2 index, de même pour le chasseur, ainsi il y a ici 10 index dont 3 occupés par le fantassin, il aura donc 30% de chances d'apparaître, le chevalier quant à lui occupe seulement 2 index sur 10, il aura donc 20% de chances d'apparaître. Après je ne sais pas si une de mes deux méthodes est optimale ^^


Pour le second problème, pour créer des commandes où tu réutilises un élément de la commande, tu utilises ce modèle de déclencheur :
Gui:
Trigger:
Déclencheur sans titre 001
Collapse Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing offre  as Une sous-chaîne
Conditions
Collapse Actions
Partie - Display to (All players) the text: ((Name of (Triggering player)) + (Substring((Entered chat string), 7, (Length of (Entered chat string)))))
C'est relativement plus compliqué ^^
Pour mettre deux textes à la suite (Nom du joueur + l'offre faite) tu utilises la fonction concatenate strings. En string 1 tu vas mettre "Joueur - Name of Triggering player" et en string 2 tu vas réutiliser des concatenate strings (avec en string 1 l'espace, très important :p) où tu mettras en string 2 cette fois si la fonction Substring. La fonctino Substring te permet d'utiliser des éléments de la commande (ici la valeur de l'offre) donc tu précises dans quelle chaîne de texte tu veux extraire un élément (ici "Entered chat string"), à partir de quel endroit tu veux extraire (ici on extrait à partir du 7e caractère (offre 3 = le 3 est bien à la 7e place)) et jusqu'à où (ici tu vas jusqu'à la fin de la chaîne de texte donc "Length of (Entered chat string" !

Pour créer une commande p1 c'est plus simple,
Gui:
Trigger:
Déclencheur sans titre 001 Copier
Collapse Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing p1 as Une sous-chaîne
Conditions
Collapse Actions
Collapse Groupe unité - Pick every unit in (Units in Region) and do (Actions)
Collapse Boucle - Actions
Unité - Change ownership of (Picked unit) to (Triggering player) and Changer couleur
Unité - Move (Picked unit) instantly to (Center of Region_Destination)
Region_Destination est la région où les unités arrivent, et Région est la région où sont les unités du vendeur 1 (car la commande est p1)

Ces deux commandes ne fonctionnent ici que lorsque c'est le joueur 1 qui les écrit, pense à modifier les évènements !

Enfin pour le problème 3, j'ai pas compris quel était le problème donc je peux pas t'aider ^^
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1843
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 08/06/11 11:07    Sujet du message: Citer

ah tient ça faisait longtemps que je cherchais un random, merci rgf x)
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Oklahoma-fr
Ptit Nouveau


Inscrit le: 07 Juin 2011
Messages: 6
Sujets: 1



MessagePosté le: 08/06/11 11:50    Sujet du message: Citer

Merci beaucoup pour ta réponse Smile. Et désolé je savais pas ou mettre ce sujet ^^. Je vois ça tout de suite et je te dis si ça fonctionne bien Smile
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 rgf
Membre reconnu


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


MessagePosté le: 08/06/11 12:56    Sujet du message: Citer

Ok ^^

De rien fulldragon Smile
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Oklahoma-fr
Ptit Nouveau


Inscrit le: 07 Juin 2011
Messages: 6
Sujets: 1



MessagePosté le: 08/06/11 14:15    Sujet du message: Citer

La 1ere partie marche très bien Smile
C'est parfait !

En fait pour la 3eme partie je pense résoudre le probleme autrement Smile Merci quand meme ^^ Après je passerai a la 2eme partie. Smile A la fin, je présenterai ma map sur le forum Smile
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Oklahoma-fr
Ptit Nouveau


Inscrit le: 07 Juin 2011
Messages: 6
Sujets: 1



MessagePosté le: 09/06/11 13:26    Sujet du message: Citer

J'ai un autre probleme, pour la partie 2, comment faire pour que quand un acheteur fait p1 par exemple, il verse la somme d'or au vendeur 1, équivalent a ce qu'il avait marqué en faisant offre 1000 par exemple?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 rgf
Membre reconnu


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


MessagePosté le: 09/06/11 15:50    Sujet du message: Citer

Gui:
Trigger:
Déclencheur sans titre 001 Copier
Collapse Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing p1 as Une sous-chaîne
Collapse Conditions
((Triggering player) Or actuel) Supérieur ou égal à  (Integer((Substring((Entered chat string), 7, (Length of (Entered chat string))))))
Collapse Actions
Joueur - Add ((Integer((Substring((Entered chat string), 7, (Length of (Entered chat string)))))) x -1) to (Triggering player) Or actuel
Joueur - Add (Integer((Substring((Entered chat string), 7, (Length of (Entered chat string)))))) to Joueur 1 (Rouge) Or actuel
Collapse Groupe unité - Pick every unit in (Units in Region) and do (Actions)
Collapse Boucle - Actions
Unité - Change ownership of (Picked unit) to (Triggering player) and Changer couleur
Unité - Move (Picked unit) instantly to (Center of Region_Arrivee)

Tu rajoutes une condition et deux actions au déclencheur précédent ^^
Pour passer d'un entier à un texte, tu utilises la fonction "Conversion - Convert String to Integer", et pour les opérations tu utilises la fonction "Arithmetic"
La condition que tu cherches est de type Integer comparaison !
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Oklahoma-fr
Ptit Nouveau


Inscrit le: 07 Juin 2011
Messages: 6
Sujets: 1



MessagePosté le: 10/06/11 11:54    Sujet du message: Citer

J'ai un dernier probleme ^^ (promis après je vous embete plus... Normalement! ) : J'ai 2 tableaux affichant l'or des joueur, un pour l'or des acheteur et 1 autre pour celui des vendeurs. Au début j'avais mis seulement le tableau des acheteurs. Puis quand j'ai voulu mettre celui des vendeurs, celui des acheteurs ne s'affiche plus. Or, normalement, j'ai crée une commande pour que le tableau vendeur ne s'affiche QUE quand 1 des vendeurs écrit "score" . Or il s'affiche des le départ, remplaçant le tableau acheteur et en plus les données des vendeurs n'y sont meme pas...
Et aussi, j'ai fais un test avec d'autre joueur pour essayer les commandes, et quand on fait "offre" le probleme est que ça ne marche aps a 100%. Par exemple, sur la carte originale, quand on fait offre 10 000, le prix s'arrete a l'espace. C'est a dire que ça fait offre 10. Alors que dans ma map, ça fait offre 10 000 (or il faudrait mettre 10000 donc sans l'espace). En gros je pourrai mettre carrement une phrase, meme pas de chiffre... Et du coup, l'acheteur ne verse pas d'argent...
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 rgf
Membre reconnu


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


MessagePosté le: 10/06/11 22:51    Sujet du message: Citer

Pour avoir joué de nombreuses fois à merlin acheteur vendeur, quand on dit "offre phrase aléatoire" l'offre est de 0, au final ça reste fidèle à l'original ^^
J'ai pas trop compris ton histoire de tableau x), montre tes déclos pour voir
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Oklahoma-fr
Ptit Nouveau


Inscrit le: 07 Juin 2011
Messages: 6
Sujets: 1



MessagePosté le: 11/06/11 09:30    Sujet du message: Citer

En fait, pour les tableaux, j'ai mis pour les 2
"Set {variable du tableau en question} = Last leaderboard create"
Du coup, j'ai qu'un tableau sur les 2 et je ne sais pas par quoi je dois remplacer pour avoir les 2 tableaux.

Et pour le probleme des offres, c'est que du coup, quand un acheteur achete, les unités sont bien téléporté, change de camp, etc... Mais le vendeur ne gagne pas l'argent qu'il devrait avoir... Et du coup meme l'acheteur dépense pas d'argent. C'est pour ça que j'ai posé le probleme de la commande "offre".
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels -> Demander un tuto Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
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