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

Une variable par unité

 
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
 Karazu
Ptit Nouveau


Inscrit le: 30 Déc 2010
Messages: 16
Sujets: 5



MessagePosté le: 14/02/11 14:22    Sujet du message: Une variable par unité Citer

Bonjour,
Désolée, c'est encore moi. Je me pose une question :
Par exemple, si je veux que chaque unité possède un certain nombre de pièces d'or (Or comme variable entière), je fais le déclo suivant :

Gui:
Trigger:
A unit leaves Carte <gen>
Set Or = 0


Je lui donne 0 en or.

Gui:
Trigger:
A unit Utilise un objet
Set Or = Or + 1


Je lui rajoute 1 d'or si elle utilise un objet (exemple bidon, je sais)

Alors, la variable Or va prendre la valeur que j'ai écrite, c'est logique. Or, sur ma carte, il y aura plusieurs unités, un nombre indéterminé puisque c'est le joueur qui les crée.
J'aimerais donc qu'elle ait une valeur différente pour chaque unité. Dans mon deuxième déco, je voudrais que la variable Or ne soit égale à Or + 1 que pour cette unité.
Je suppose qu'on gère ça par variables à déploiement, mais je ne sais pas comment m'y prendre.

Quelqu'un peut-il m'éclairer ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Dracorb
Membre honoraire


Inscrit le: 23 Déc 2010
Messages: 294
Sujets: 37
Spécialité en worldedit: Avoir des idées


MessagePosté le: 14/02/11 14:43    Sujet du message: Re: Une variable par unité Citer

Karazu a écrit:
Alors, la variable Or va prendre la valeur que j'ai écrite, c'est logique. Or, sur ma carte, il y aura plusieurs unités, un nombre indéterminé puisque c'est le joueur qui les crée.
J'aimerais donc qu'elle ait une valeur différente pour chaque unité. Dans mon deuxième déco, je voudrais que la variable Or ne soit égale à Or + 1 que pour cette unité.


Je dirais une variable de type "type-unité" à déploiement égal au nombre d'unités différentes possibles. Après tu devras prévoir l'attribution de l'or pour chaque cas.

En admettant que l'or soit "possédable" par l'unité bien sûr.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Karazu
Ptit Nouveau


Inscrit le: 30 Déc 2010
Messages: 16
Sujets: 5



MessagePosté le: 15/02/11 11:11    Sujet du message: Citer

Bonjour,
C'est en effet une bonne idée, mais le problème c'est que si je prends une variable de type "type-unité", je ne pourrai pas lui attribuer l'entier "or".

Voici un exemple concret de ce que je voudrais faire :

Gui:
Trigger:
Texte flottant - Create floating text that reads (String(Or)) at SLS_Tempoint with Z offset 40.00, using font size 10.00, color (5.00%, 5.00%, 100.00%), and 10.00% transparency


L'or que possède l'unité s'affiche au dessus d'elle, mais je ne sais pas comment faire pour que chaque unité ait une valeur différente stockée dans la variable "or".
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Nerzulll
Floodeur prématuré


Inscrit le: 30 Jan 2009
Messages: 669
Sujets: 56
Spécialité en worldedit: Faire des bug
Médailles: 1 (En savoir plus...)
Grand décorateur (Quantité : 1)

MessagePosté le: 15/02/11 12:42    Sujet du message: Citer

Tu peux utiliser ce tutoriel sur les Hashtables en GUI.

Tu crée une hashtable, et pour chaque unité crée, tu lui donne une valeur avec pour référence l'ID de l'unité et par exemple 0 [Exemple : (ID, 0)]. Tu peux récupérer cette valeur en ciblant l'ID de ton unité et donc changer l'or seulement de ton unité.

C'est très pratique.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Vladadamm
Floodozaurus


Inscrit le: 11 Fév 2011
Messages: 2151
Sujets: 114
Spécialité en worldedit: Chasser le Dragon, puis l'exterminer proprement avec une petite cuillère et une poêle.


MessagePosté le: 08/04/11 16:44    Sujet du message: Citer

Petit necro ( 1mois et demi ) mais je pense que cela sera utile :
Dans le cas présent :
Secret:

La variable Or renommé en Or_Unit_Real
On met un déploiement très important ( prendre dans les milliers au moins alors mais tout dépend du type de map, prendre dans les millions voir les milliards de déploiement éviteront les bugs éventuels ) ou du nombre d'unités max pouvant être dans la carte dans toute le partie comptant invocations et autres.
Création de la variable Or_Unit_Number_Unit_Entier Aucun déploiement cette fois.
Troisième : Or_Unit_Number_Unit_Unit (dernier unit pour le type de la variable) Avec le même déploiement que la Or_Unit_Real
Dernière Variable : Or_Unit_Number_Unit_Entier_Deux

Quand une unité entre dans la map, on fait un set variable pour l'entier n*1, et on l'incrémente (+1). Alors, on a le déploiement de l'unité. Donc on fait un set variable pour l'Unit Set variable Unit[Entier n*1] = entering unit.
Il faut après faire le rapport que lorsqu'une unité fait quelque chose pour gagner l'argent, il faut vérifier à quel déploiement de la variable il est, faire un set variable pour le entier n*2 set Entier n*2 = le déploiement de l'unité et puis un set variable du Real : set Real[Entier n*2] = Real[Entier n*2] +1/-1 ( l'or que vous voulez )


Parcontre, n'ayant pas testé, je ne peut pas dire si cela est possible à faire ou que ça marche.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 maggot-93
Membre récent


Inscrit le: 23 Aoû 2010
Messages: 76
Sujets: 8



MessagePosté le: 11/04/11 10:11    Sujet du message: Citer

sinon tu as une action "unit-" où tu peux stocker une valeur propre à l'unité, et ce pour chaque unité. Par contre je crois que ça leak à mort
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 13/04/11 15:27    Sujet du message: Citer

Le user data ? Pourquoi tu veux que ça leak ?
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 maggot-93
Membre récent


Inscrit le: 23 Aoû 2010
Messages: 76
Sujets: 8



MessagePosté le: 15/04/11 10:44    Sujet du message: Citer

nan pas une user data, je n'ai pas le nom en tete, en fait tu stocke un integer à une unité spécifique.
Je l'avais fait pour tester un truc, et avec plus d'une dizaine d'unité ça commençait à ramer et ça continuait quand j'ajoutais des "custom interger" à d'autres unités
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 19/04/11 19:36    Sujet du message: Citer

Gui:
Trigger:
Actions
Unité - Set the custom value of Pas d'unité to 0
Set entier = (Custom value of Pas d'unité)


Jass:
    call SetUnitUserData( null, 0 )
    set udg_entier = GetUnitUserData(null)


custom value = user data

Désolé j'y connais pas grand chose en GUI :/.
En soi, ça ne peut absolument pas causer de leak.
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 maggot-93
Membre récent


Inscrit le: 23 Aoû 2010
Messages: 76
Sujets: 8



MessagePosté le: 04/07/11 17:09    Sujet du message: Citer

merci pour l'info, désolé pour la question "bête"
_________________
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 -> Aide sur les déclencheurs 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