Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
k0rn13 Ptit Nouveau
Inscrit le: 18 Nov 2008 Messages: 10 Sujets: 3
|
Posté le: 18/11/08 02:42 Sujet du message: Réponse événement "Termine une amélioration" |
|
|
Salut à tous
Anciennement membre sous le nom de Dka-k0rn, je suis de retour après une certaine absence. Je me suis remis sur l'éditeur.
Et devinez quoi ? J'ai un petit soucis
Je ne trouve aucune réponse évènement en GUI à l'event :
Gui: | Trigger:  Unité - A unit Termine une amélioration |
Vu que j'ai besoin d'une condition spécifique en réponse à cet évènement, je suis un peu coincé. J'ai pensé à faire un autre système avec Create/Replace unit dans le pire des cas.
Le principe des déclencheurs que je crée est le suivant :
Je crée une TD avec un système de gestion des munitions sur les tours. Au lieu d'upgrade une tour, on achète des munitions spécifiques (feu, glace, air etc ...), et un texte flottant apparait au dessus de chacune des tours sous forme d'entier (exemple : 100), et cet entier se décompte à chaque fois que la tour attaque.
Je voulais passer par un système d'upgrade pour les munitions. Au sinon je ferai autre chose. Par contre, au niveau des variables, dois-je utiliser une variable déploiement pour que chaque tour soit totalement indépendante au niveau des munitions ? Et si oui, quelle variable déploiement dois-je utiliser et comment svp ? La je suis un peu perdu.
Merci d'avance pour les réponses qui pourront m'aider, et si possible en GUI uniquement, je maîtrise pas du tout le Jass  _________________
|
|
Revenir en haut |
|
 |
D4RKN30V Membre récent

Inscrit le: 09 Nov 2008 Messages: 58 Sujets: 8 Spécialité en worldedit: création d'unité, declencheurs
|
Posté le: 18/11/08 13:38 Sujet du message: |
|
|
Citation: | Je crée une TD avec un système de gestion des munitions sur les tours. Au lieu d'upgrade une tour, on achète des munitions spécifiques (feu, glace, air etc ...), et un texte flottant apparait au dessus de chacune des tours sous forme d'entier (exemple : 100), et cet entier se décompte à chaque fois que la tour attaque.
|
Si tu fesais une variable munitions a déploiment pour chaque joueurs avec comme valeur de départ le nombre de munitions par tour.
en gros sa doit donné sa (j'ai pas léditeur sous la main, je suis pas sur mon pc)
Evenement :
<> A unit - unit attack
Conditions :
<> triggering unit Egal a [nom de ta tour]
Actions :
<> depart de la variable munitions = 100
<> monter la variable munitions -1 pour chaque attaque (désolé en GUI je sais pas ce que sa donne, je l'ai pas sous les yeux).
<> afficher variable munition in triggering unit
E
<> a la fin du round
C
A
<> remettre les variables a 0
Pour la varialbe je sais pas exactement ce quil faut mettre, je pense a réel, deploiment 1 mais je sais pas trop attend une confirmation. _________________
|
|
Revenir en haut |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 18/11/08 17:15 Sujet du message: |
|
|
Si tu veux cibler l'unité qui termine l'amélioration -> triggering unit
l'amélioration -> researched tech-type _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
 |
k0rn13 Ptit Nouveau
Inscrit le: 18 Nov 2008 Messages: 10 Sujets: 3
|
Posté le: 19/11/08 02:04 Sujet du message: |
|
|
Research type tech n'est pas la réponse évènement d'une amélioration mais d'une recherche.
Par contre j'ai réussi à gérer l'event Amelioration par ceci :
Et ça marche bien.
Par contre, mon histoire de munitions, ce n'est pas un reset à chaque round, c'est chaque tower de façon indépendantes.
Exemple :
Une tour de base n'attaque pas.
Tu shop sur la tour "Munitions de Glace"
Ta tour passe en attaque avec ces munitions la, au nombre de 100, et decrease de 1 à chaque attaque.
Pour la partie integer je sais faire, mais je n'arrive pas encore clairement à déterminer comment placer une variable déploiement unité. _________________
|
|
Revenir en haut |
|
 |
Magus Membre a fort taux de post

Inscrit le: 13 Oct 2007 Messages: 994 Sujets: 25 Spécialité en worldedit: Codeur
|
Posté le: 19/11/08 07:39 Sujet du message: |
|
|
Si elle ne te sert a rien d'autre, tu peux utiliser la custom value des unités pour les munitions de tes tours. _________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi. |
|
Revenir en haut |
|
 |
Keitaro_Ura Floodozaurus

Inscrit le: 21 Aoû 2007 Messages: 2073 Sujets: 38 Spécialité en worldedit: Oui Médailles: 1 (En savoir plus...)
|
Posté le: 19/11/08 08:49 Sujet du message: |
|
|
Si ton unité attaque normalement et que les canons sont des orbes, utilise des charges sur les objets qui baissent à chaque attaque (très simple)
Sinon, si tu utilise des canons basés sur la compétence Feu du phénix, c'est plus dur voire même impossible (je ne suis pas sur)
Pour le 1 je t'ai fait un déclo :
Gui: | Trigger:  Items Use   Evénements   Conditions   Actions    Objet - Set charges remaining in (Item carried by (Attacking unit) in slot 1) to ((Charges remaining in (Item carried by (Attacking unit) in slot 1)) - 1)    Custom script: call TextTagDamage (GetItemCharges(UnitItemInSlotBJ(GetAttacker(), 1)), GetAttacker(), 0.00, 75.00,45.00,90.00,11.00,0.00,0.40,"|c00FF0000") |
Il faut que l'objet soit une orbe dans le Slot 1 qui confère l'attaque 1 (Attaque 1 desactivée pour la tour sans l'objet), et que lorsqu'elle disparaitra (0 charges), la tour n'attaquera plus.
Jfais encore de la pub pour la fonction de Rhad que tu dois avoir dans ton code script personnalisé TextTagDamage _________________
|
|
Revenir en haut |
|
 |
k0rn13 Ptit Nouveau
Inscrit le: 18 Nov 2008 Messages: 10 Sujets: 3
|
|
Revenir en haut |
|
 |
k0rn13 Ptit Nouveau
Inscrit le: 18 Nov 2008 Messages: 10 Sujets: 3
|
Posté le: 19/11/08 18:42 Sujet du message: |
|
|
Comment puis je créer une variable qui fait que à chaque fois que je crée une certaine tour, ça l'ajoute automatiquement dans une variable qui la représentera tout le temps ?
Du genre je crée une tour canon pour la premiere fois, ça sera la Tour Canon [1], et que quand j'en créerai une autre, ça sera la tour canon [2] ainsi de suite ...
Comme ça si je pouvais faire des triggers généraux du genre :
Unit finit une amélioration.
Triggering unit = tour canon [x]
de façon que la variable se retrouve automatiquement liée à l'unité triggering. _________________
|
|
Revenir en haut |
|
 |
Rhadamante Petit flooder

Inscrit le: 28 Aoû 2007 Messages: 1457 Sujets: 24 Spécialité en worldedit: Bêêh hé hé hé ! Médailles: 3 (En savoir plus...)
|
Posté le: 20/11/08 12:30 Sujet du message: |
|
|
k0rn13 a écrit: | Comment puis je créer une variable qui fait que à chaque fois que je crée une certaine tour, ça l'ajoute automatiquement dans une variable qui la représentera tout le temps ?
Du genre je crée une tour canon pour la premiere fois, ça sera la Tour Canon [1], et que quand j'en créerai une autre, ça sera la tour canon [2] ainsi de suite ... |
Tu crées 2 variables, une variable unité à déploiement, et une variable entier (par défaut 0). A chaque fois que tu crées une tour, tu assignes cette tour à ta variable déploiement avec comme index la variable entier, et pour pas retomber toujours sur le même index, à chaque fois tu prends aussi la peine de lui ajouter 1. Ça marchera nickel sauf si tu crées + de 8000 tours... _________________
|
|
Revenir en haut |
|
 |
Keitaro_Ura Floodozaurus

Inscrit le: 21 Aoû 2007 Messages: 2073 Sujets: 38 Spécialité en worldedit: Oui Médailles: 1 (En savoir plus...)
|
Posté le: 20/11/08 18:41 Sujet du message: |
|
|
8190 tours maximum précisément, enfin à ce stade de nombre d'unités faut le vouloir. _________________
|
|
Revenir en haut |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 20/11/08 18:45 Sujet du message: |
|
|
Plutôt 2^13 -1 -> 8191 (0 à 8190 compris) si l'on considère que l'on ne veut pas utiliser l'index 8191 car buggé pour les chargements de parties sauvegardées.
Soyons précis mais soyons le bien, ou pas du tout. _________________
Le violet, c'est moche.
Dernière édition par Troll-Brain le 20/11/08 18:47; édité 1 fois |
|
Revenir en haut |
|
 |
Keitaro_Ura Floodozaurus

Inscrit le: 21 Aoû 2007 Messages: 2073 Sujets: 38 Spécialité en worldedit: Oui Médailles: 1 (En savoir plus...)
|
|
Revenir en haut |
|
 |
k0rn13 Ptit Nouveau
Inscrit le: 18 Nov 2008 Messages: 10 Sujets: 3
|
Posté le: 21/11/08 14:22 Sujet du message: |
|
|
Donc d'apres vous, ça devrait ressembler à ça ? :
exemple :
Tour_canon[Tour_canon_numéro] seraient les variables unit deploiment et integer pour l'index ?
Donc à chaque fois que je crée une tour, je devrais avoir du genre :
Code: | event - A unit finit la construction
conditions - unit type of constructed structure EGAL à Tour canon
Actions : Set Tour_canon[Tour_canon_numéro + 1] = constructed structure. |
Donc en fixant la valeur entier de Tour_Canon_numero à 0, à chaque fois que je vais construire une tour de ce type la, elle sera indexées par un numéro c'est exact ?
Alors quand on voudra faire une action spécifique avec par exemple la 2e tour, si je place ma variable Tour_canon[Tour_canon_numéro], la 2e tour sera t-elle bien reconnue automatiquement ? _________________
|
|
Revenir en haut |
|
 |
Keitaro_Ura Floodozaurus

Inscrit le: 21 Aoû 2007 Messages: 2073 Sujets: 38 Spécialité en worldedit: Oui Médailles: 1 (En savoir plus...)
|
Posté le: 21/11/08 18:07 Sujet du message: |
|
|
Non, sauf si c'est la dernière tour crée, aussi il faut que tu augmente la variable de 1 à chaque fois. _________________
|
|
Revenir en haut |
|
 |
k0rn13 Ptit Nouveau
Inscrit le: 18 Nov 2008 Messages: 10 Sujets: 3
|
|
Revenir en haut |
|
 |
|