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=293c7d763af23ecde6cd2812bb753aa9Mé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

[Double Sujet] Chain cast + Effet de recul/Effet de poussé
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Les sorts
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 14/02/17 20:33    Sujet du message: [Double Sujet] Chain cast + Effet de recul/Effet de poussé Citer

Voilà donc je regardais tranquillement les maps proposées par les membres du forum et forcément je suis tombé sur légion (jusque là ok). Mais comme j'ai pas saigné légion, je vien d'y découvrir un truc formidable : la chain cast.

La chain cast, tel que mise en place pas .rgf et kika, permet d'utiliser deux point ou plus pour lancer un sort.

Alors voilà je vais pas passer par 4 chemins, en se moment j'en parle pas mal ici de mon petit MobA 1v1, et concrètement pouvoir configurer des sorts avec plusieurs point voir plusieurs zones serait JUSTE UNE FOLIE dans l'amélioration du gameplay de certain héros auquel je travail.

Par exemple, j'imagine déjà un sort qui permettrait d'envoyer un grélon (du sort blizzard de base) à la fois mais sur disons 5 petites zones différentes choisis préalablement par le héros, plutôt qu'un gros blizzard dans une grosse zone (même si les deux sorts finirons fatidiquement par exister chacun sur un perso différent xD)

2 //

Voilà une autre question qui me ronge depuis déjà un bout de temps, c'est les effets de poussé ou de recul. Par exemple, j'aimerais que quand mon archère (vereesa coursevent pour les puriste qui veulent savoir) balance son ultime (soit une énorme flèche qui par tout droit en infligeant des dégats, gros skill shot) bah elle ai un petit mouvement de recul Wink Du style 200/230 pas une grosse distance, mais qui puisse la sauver dans un moment particulier (Le genre de moment ou tu pensais mourir mais ou tu place tellement bien ton ultime qu'en plus d'esquiver le sort fatal tu tus ton adversaire Very Happy Le genre de moment ou après tu hurle de joie et tu sens l'adrénaline qui veux pas redescendre tellement t'as surkiffé ton talent).

Bref le problème c'est que j'ai rien trouvé au niveau des sorts, et que j'arrive pas a voir comment on pourrais prog ca par déclo tout en conservant le délire de "l'archère est poussé de tant d'unité dans la direction inverse du sort lancé". Ca me semble très flou mais j'ai vu sur des map battle net que c'était effectivement possible.

Voilà merci beaucoup de vos aide précieuses et à bientôt ^^
_________________
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: 16/02/17 22:02    Sujet du message: Citer

Salut !

Alors pour le chain cast l'action clé c'est
Gui:
Trigger:
Partie - Force Joueur to press the key Hotkey

(Partie - Force UI key)

En gros voila le squelette d'un spell qui utiliserait le chain cast :

Gui:
Trigger:
Chain cast
Collapse Evénements
Unité - A unit Commence le lancement d'une compétence
Collapse Conditions
(Ability being cast) Egal à  Compétence
Collapse Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
(Load (Key (Triggering unit)) of 0 from chaincast_table) Inférieur à  (nbDePoints-1)
Collapse Alors - Actions
Set chaincast_ability = (Ability being cast)
Table de hachage - Save ((Load (Key (Triggering unit)) of 0 from chaincast_table) + 1) as (Key (Triggering unit)) of 0 in chaincast_table
Set chaincast_position = (Target point of ability being cast)
Table de hachage - Save (X of chaincast_position) as (Key (Triggering unit)) of (2 x (Load (Key (Triggering unit)) of 0 from chaincast_table)) in chaincast_table
Table de hachage - Save (Y of chaincast_position) as (Key (Triggering unit)) of ((2 x (Load (Key (Triggering unit)) of 0 from chaincast_table)) + 1) in chaincast_table
Set chaincast_level = (Level of chaincast_ability for (Triggering unit))
Unité - Order (Triggering unit) to Arrêter
Unité - Remove chaincast_ability from (Triggering unit)
Unité - Add chaincast_ability to (Triggering unit)
Unité - Set level of chaincast_ability for (Triggering unit) to chaincast_level
Partie - Force (Owner of (Triggering unit)) to press the key Hotkey
-------- Actions éventuelles au moment de la désignation --------
Actions - Actions en tout genre
-------- Fin des actions --------
Custom script:   call RemoveLocation(udg_chaincast_position)
Collapse Sinon - Actions
Table de hachage - Save ((Load (Key (Triggering unit)) of 0 from chaincast_table) + 1) as (Key (Triggering unit)) of 0 in chaincast_table
Set chaincast_position = (Target point of ability being cast)
Table de hachage - Save (X of chaincast_position) as (Key (Triggering unit)) of (2 x (Load (Key (Triggering unit)) of 0 from chaincast_table)) in chaincast_table
Table de hachage - Save (Y of chaincast_position) as (Key (Triggering unit)) of ((2 x (Load (Key (Triggering unit)) of 0 from chaincast_table)) + 1) in chaincast_table
Custom script:   call RemoveLocation(udg_chaincast_position)
-------- Actions du spell --------
Actions - Actions en tout genre
-------- Fin du spell --------
Table de hachage - Save 0 as (Key (Triggering unit)) of 0 in chaincast_table


Je sais pas si c'est très clair.
Il ne faut pas oublier d'initialiser la variable table (table de hachage) avec l'action
Gui:
Trigger:
Chain cast initialization
Collapse Evénements
Map initialization
Conditions
Collapse Actions
Table de hachage - Create a hashtable
Set table = (Last created hashtable)


Bon là ça marche mais c'est un peu grossier, il faudrait aussi prendre en compte les ordres reçus pendant le chain cast et aussi le fait que l'unit puisse être désélectionnée. Pour cela tu peux créer deux déclencheurs :
Gui:
Trigger:
Chain cast order
Collapse Evénements
Unité - A unit Reçoit un ordre avec point pour cible
Unité - A unit Reçoit un ordre sans cible
Unité - A unit Reçoit un ordre avec objet pour cible
Collapse Conditions
(Load as Key of (Triggering unit) of 0 from table Différent de 0
(Issued order) Différent de (Order(chaineOrdreDuSpell))
(Issued order) Différent de (Order(stop))
Collapse Actions
Save 0 of Key of (Triggering unit) as 0 in table


Gui:
Trigger:
Chain cast selection
Collapse Evénements
Joueur - Joueur 1 (Rouge) Désélectionne a unit
Joueur - Joueur 2 (Bleu) Désélectionne a unit
Joueur - Joueur 3 (Cyan) Désélectionne a unit
Joueur - Joueur 4 (Pourpre) Désélectionne a unit
Joueur - Joueur 5 (Jaune) Désélectionne a unit
Joueur - Joueur 6 (Orange) Désélectionne a unit
Joueur - Joueur 7 (Vert) Désélectionne a unit
Joueur - Joueur 8 (Rose) Désélectionne a unit
Joueur - Joueur 9 (gris) Désélectionne a unit
Joueur - Joueur 10 (Bleu clair) Désélectionne a unit
Joueur - Joueur 11 (Vert foncé) Désélectionne a unit
Joueur - Joueur 12 (Marron) Désélectionne a unit
Collapse Conditions
(Load as Key of (Triggering unit) of 0 from table Différent de 0
(Owner of (Triggering unit)) Egal à  (Triggering player)
Collapse Actions
Save 0 of Key of (Triggering unit) as 0 in table


Voila pour le système en GUI en gros !
Tu noteras que la condition peut varier, en l'occurence la condition est un certain nombre de points imposés mais ça peut être autre chose dans un autre contexte.

Voici un exemple concret avec une démo :
Démo Chain cast

J'espère que ça te permettra de faire plein de spells epiques Laughing

EDIT : Et pour la poussée tu peux peut-être t'inspirer de ce tutoriel http://worldedit.free.fr/forum/viewtopic.php?t=129

EDIT2 : J'ai corrigé quelques trucs et ajouté une démo.
_________________
Croâh ?


Dernière édition par rgf le 18/02/17 10:57; édité 6 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 17/02/17 03:36    Sujet du message: Citer

Tout d'abord merci beaucoup ^^

J'ai immédiatement essayé et en gros noob que je suis, j'ai des problème bètes du style : Je ne connais pas le chemin que tu empreinte en gui pour certaine action, et je ne trouve pas en cherchant. J'ai aussi du mal a voir où sont les variables préalablement créée et les identifiée.

Pourrais tu me décrire le chemin pour ses différentes action/condition ?

- (Load as Key of (Triggering unit) of 0 from table) Différent de nombreDePointsACibler [condition]

- Table de hachage - Save (1 + (Load as Key of (Triggering unit) of 0 from table) as (Key of (Triggering unit)) of 0 in table

- (Load as Key of (Triggering unit) of 0 from table Différent de 0 [condition encore]

Voilà merci beaucoup car j'ai encore jamais utiliser de table de hachage ni aucune condition qui concerne les Key donc je suis perdu x)

Bonne journée
_________________
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: 17/02/17 11:04    Sujet du message: Citer

Yo ! Pas de problème, en gros tu peux voir les tables de hachage comme des sortes de tableaux à double entrée.
Pour sauvegarder des trucs dedans tu peux utiliser :
Gui:
Trigger:
Table de hachage - Save ###


Pour récupérer une valeur stockée tu peux utiliser :
Gui:
Trigger:
Table de hachage - Load ###


Par exemple ici,
Gui:
Trigger:
Table de hachage - Save (1 + (Load as Key of (Triggering unit) of 0 from table) as (Key of (Triggering unit)) of 0 in table

Est l'action
Gui:
Trigger:
Table de hachage - Save Integer

parce que tu veux sauvegarder un entier (le nombre de points).

Gui:
Trigger:
Table de hachage - Save (X of (Triggering Unit)) as (Key of (Triggering unit)) of (2*Load as (Key of (Triggering unit)) of 0)) in table

Est l'action
Gui:
Trigger:
Table de hachage - Save Real

parce que tu veux sauvegarder un réel (la coordonnée X/Y de l'unité).

Les deux conditions que tu as mentionné sont des Integer Comparison, et dedans tu utilises donc un Table de hachage - Load Integer.

Enfin pour Key of (Triggering unit), il s'agit de
Gui:
Trigger:
Table de hachage - Get Handle ID

C'est une sorte de convertisseur Handle -> Entier (un handle c'est en gros tous les objets de l'éditeur, notamment les unités)

Enfin pour les paramètres :
Hotkey : paramètre (chaîne de caractère, le hotkey du spell)
nombreDePointsACibler : paramètre (entier)
Là tu peux directement remplacer ces deux-là par la valeur qui t'intéresse

Et pour les variables :
table : variable (Table de hachage)
level : variable (Entier)

Voila ! N'hésite pas si tu as des questions.
_________________
Croâh ?
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: 17/02/17 16:42    Sujet du message: Citer

J'ai corrigé quelques erreurs et j'ai ajouté une map de démo au post principal Smile
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Toc@rd
Membre actif


Inscrit le: 14 Avr 2009
Messages: 175
Sujets: 17
Spécialité en worldedit: Décors


MessagePosté le: 17/02/17 17:07    Sujet du message: Citer

Bordel mais c'est génial, merci !
Par contre, il n'y a pas de possibilité de bug exploit si le sort est assigné à une touche raccourci ? (relancer le sort entre deux désignations de point)
_________________
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: 17/02/17 18:10    Sujet du message: Citer

Hm je savais pas qu'on pouvait faire ça mais je ne pense pas que cela pose problème, si on lance entre deux désignations je pense que cela comptera comme une désignation (enfin de ce que j'ai compris que ce dont tu parles est).
Il faudrait tester pour en être certain ^^
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 18/02/17 09:05    Sujet du message: Citer

Reeeesalut tout le monde ! j'espère que ca va pour le mieux Smile

Bon rgf, j'ai fini le squelette du spell en question et je suis dans la création d'un sort concret là :

J'ai le projet de mettre à l'épreuve ta technique avec un sort tout basique, se fameux blizzard dérivé (Que j'appelle Grèle Fracassante car omg c'est classe)

Bref je sais pas comment faire pour renvoyer un des points (par exemple le 3ème) de la table de hachage en fin de déclo, je m'explique :

Dans ton squelette, tu mentionne que je doit mettre les effet du sort à la fin, mais c'est impossible de faire tomber mes 5 grélons (donc d'activé 5 fois le sort) d'affiler comme ca.

Donc je bidouille un peu ton système a ma sauce et je viens te donner des nouvelles juste après ^^

EDIT : Bon finalement, je remarque qu'à chaque fois on lance le sort lorsque l'on cible, donc pas de problème graphique pour faire tomber les grélons au bon moment au bon endroit je pense (au pire je met un léger wait 0.05 entre chaque pick, juste avant le "remove cast"). C'est juste que niveau animation de fin de sort je ne sais pas comment faire référence au point préalablement sélectionné (autrement qu'en créant une variable spécifique à nouveau) car la variable "point" déjà utilisé est sans cesse modifié en fait x) Voilà même si là on est sur un truc léger donc normalement pas besoin pour se sort, j'suis un épic try hardeur donc j'ai bien l'intention de faire des ultime plus qu'épique avec multi-météorite ou multi-séisme, des sort pour faire des murs à longueurs et direction choisis, des sort pour invoqué plusieurs unités d'affilés a des endroits stratégiques et choisis, des sort pour faire des multi saut, des multi téléportation pour certain mage, bref j'ai beaucoup d'inspi ^^

Même que si j'ai bien compris le système, j'peux utilisé une deuxième variable "capacité" pour enregistrer et utilisé d'autres sort lors des pick !!! Du genre, je peux faire un ultime badass pour un assassin, ou d'abord on lui demande une unité, puis on lui demande un point : Alors là l'assassin se jète sur l'unité, fait un truc badass avec une explosion et une giclée de sang, puis saut jusqu'au point indiqué... Bref grosse attaque furtive...

Et les idées manque pas Surprised J'parle même pas des archer comment ils vont devenir fumé entre mes mains, surtout maintenant que j'ai se genre de mécaniques a dispo ^^ Les sorts avec projectiles en lignes droites ou on te laisse tirer 3 4 flèches, ca va être super cool !

Breeef je finalise le sort pour de bon, je test les bugs et comme il y en auras forcément je revien après ^^
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 18/02/17 09:37    Sujet du message: Citer

Désolé du doublon, mais ca veux dire que j'peux faire en sorte d'appliquer des buffs avec les sort lancés durant la chain cast, et que j'peux faire des intéraction de ouuuuf grace a ses buff en fin de sort ?

Mec

Tu as changé ma vie. Mon MobA va prendre 6 mois de retard, tant pis. Les héros vont être badass a un niveau épique, mais vraiment épique.

Merci beaucoup. Là j'ai fini le "sort" en soit, j'vais bientôt test, et revenir faire un triple post pour t'exposer mes nombreux problème de noob !
_________________
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: 18/02/17 11:06    Sujet du message: Citer

Ouais ça peut vraiment donner des possibilités incroyables !

Citation:
mais ca veux dire que j'peux faire en sorte d'appliquer des buffs avec les sort lancés durant la chain cast, et que j'peux faire des intéraction de ouuuuf grace a ses buff en fin de sort ?

Ouais c'est possible de faire ça

Citation:
Bref je sais pas comment faire pour renvoyer un des points (par exemple le 3ème) de la table de hachage en fin de déclo, je m'explique :

Dans ton squelette, tu mentionne que je doit mettre les effet du sort à la fin, mais c'est impossible de faire tomber mes 5 grélons (donc d'activé 5 fois le sort) d'affiler comme ca.

Donc je bidouille un peu ton système a ma sauce et je viens te donner des nouvelles juste après ^^

J'ai pas bien compris, tu veux qu'ils tombent tous en même temps ou qu'ils tombent au moment de la désignation ? Les deux cas sont possibles ^^
1) Ils tombent tous en même temps : En fait le système stocke les points au fur et à mesure qu'ils sont désignés, donc à la fin tu as accès à tous les points. Est-ce que tu as testé la map de démo dans le post principal ? Parce que c'est ce qu'elle fait donc tu peux t'en inspirer. Les points sont stockés dans la table et tu peux les récupérer avec la formule que je donne dans le premier post.
2) Si ils tombent au moment de la désignation c'est à un autre endroit du code que j'ai indiqué dans le squelette dans le post principal !
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 18/02/17 11:12    Sujet du message: Citer

Le triplé tant attendu ^^ (Peut-être dit-on triplon ?)

Alors ca y est mon sort marche parfaitement comme je le voulais ^^ Je crois avoir compris le gros des mécaniques, même si j'ai du arranger tes déclos pour que ca fonctionne.

A vrai dire, à la base le sort marchais, mais il n'avais pas de limite de cast (tu pouvais lancer le sort à l'infini sans temps de rechargement du moment que tu spam la hotkey ^^') J'ai du donc rajouter un compteur fait maison avec une variable réel pour manier a bien le nombre de cast dans la chaine. Voici le résultat (effectif testé approuvé no bug) :

Gui:
Trigger:
Grele Fracassante Variable
Collapse Evénements
Temps - Elapsed game time is 2.00 seconds
Conditions
Collapse Actions
Set Intelligence_des_heros[1] = (Real((Intelligence of Amiral Proudmoore 0028 <gen> (Inclure bonuses))))
Set Grele_compteur[1] = 4.00


On se préoccupe pas de la variable intelligence, ca c'est pour la ligne de dégat (car le sort tape en fonction de ton intelligence voilà tout). La j'initialise le compteur a (Nombre de cast - 1)

Gui:
Trigger:
Grele Fracassante Sort Rouge
Collapse Evénements
Unité - A unit Commence le lancement d'une compétence
Collapse Conditions
And - All (Conditions) are true
Collapse Conditions
(Ability being cast) Egal à  Grèle Fracassante [|cffff96ffA|r]
((Owner of (Triggering unit)) Egal à  Joueur 5 (Jaune)) or ((Owner of (Triggering unit)) Egal à  Joueur 6 (Orange))
Collapse Actions
Unité - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) - 15.00)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
And - All (Conditions) are true
Collapse Conditions
(Load (Key (Triggering unit)) of 0 from Grele_hachage[1]) Inférieur à  4
Grele_compteur[1] Différent de 0.00
Collapse Alors - Actions
Set Grele_Competence[1] = (Ability being cast)
Set Grele_compteur[1] = (Grele_compteur[1] - 1.00)
Table de hachage - Save ((Load (Key (Triggering unit)) of 0 from Grele_hachage[1]) + 1.00) as (Key (Triggering unit)) of 0 in Grele_hachage[1]
Set Grele_Point[1] = (Target point of ability being cast)
Table de hachage - Save (X of Grele_Point[1]) as (Key (Triggering unit)) of (Load (2 x (Load (Key (Triggering unit)) of 0 from Grele_hachage[1])) of 0 from Grele_hachage[1]) in Grele_hachage[1]
Table de hachage - Save (Y of Grele_Point[1]) as (Key (Triggering unit)) of (Load ((2 x (Load (Key (Triggering unit)) of 0 from Grele_hachage[1])) + 1) of 0 from Grele_hachage[1]) in Grele_hachage[1]
Set Grele_level[1] = (Level of Grèle Fracassante [|cffff96ffA|r]  for (Triggering unit))
Effet spécial - Create a special effect at Grele_Point[1] using AbilitiesSpellsHumanBlizzardBlizzardTarget.mdl
Unité - Cause (Triggering unit) to damage circular area after 1.00 seconds of radius 75.00 at Grele_Point[1], dealing ((Real((Level of Grèle Fracassante [|cffff96ffA|r]  for (Triggering unit)))) x Intelligence_des_heros[1]) damage of attack type Sorts and damage type Normal
Custom script:   call RemoveLocation(udg_Grele_Point[1])
Unité - Order (Triggering unit) to Arrêter
Unité - Remove Grele_Competence[1] from (Triggering unit)
Unité - Add Grele_Competence[1] to (Triggering unit)
Unité - Set level of Grele_Competence[1] for (Triggering unit) to Grele_level[1]
Partie - Force (Triggering player) to press the key A
Collapse Sinon - Actions
Table de hachage - Save ((Load (Key (Triggering unit)) of 0 from Grele_hachage[1]) + 1.00) as (Key (Triggering unit)) of 0 in Grele_hachage[1]
Set Grele_Point[1] = (Target point of ability being cast)
Table de hachage - Save (X of Grele_Point[1]) as (Key (Triggering unit)) of (Load (2 x (Load (Key (Triggering unit)) of 0 from Grele_hachage[1])) of 0 from Grele_hachage[1]) in Grele_hachage[1]
Table de hachage - Save (Y of Grele_Point[1]) as (Key (Triggering unit)) of (Load ((2 x (Load (Key (Triggering unit)) of 0 from Grele_hachage[1])) + 1) of 0 from Grele_hachage[1]) in Grele_hachage[1]
Table de hachage - Save 0.00 as (Key (Triggering unit)) of 0 in Grele_hachage[1]
Unité - Cause (Triggering unit) to damage circular area after 1.00 seconds of radius 75.00 at Grele_Point[1], dealing ((Real((Level of Grèle Fracassante [|cffff96ffA|r]  for (Triggering unit)))) x Intelligence_des_heros[1]) damage of attack type Sorts and damage type Normal
Custom script:   call RemoveLocation(udg_Grele_Point[1])
Set Grele_compteur[1] = 4.00


Pas mal de modif au final. Le compteur est intégré à côté de ton système de base (qui était bug a mes yeux. J'ai pas envie qu'on puisse renouveler le nombre de cast à l'infini si on arrive a appuyer sur la hotkey au bon moment :/ Imagine le perso in-vin-cible après). J'ai finalement du rajouter les effet spéciaux par déclo !! J'espère que ca va pas trop leak après 30 minutes de game.

Gui:
Trigger:
grele fracassante unorder rouge
Collapse Evénements
Unité - A unit Reçoit un ordre avec objet pour cible
Unité - A unit Reçoit un ordre avec point pour cible
Unité - A unit Reçoit un ordre sans cible
Collapse Conditions
And - All (Conditions) are true
Collapse Conditions
((Owner of (Triggering unit)) Egal à  Joueur 5 (Jaune)) or ((Owner of (Triggering unit)) Egal à  Joueur 6 (Orange))
(Load (Key (Triggering unit)) of 0 from Grele_hachage[1]) Différent de 0
(Issued order) Différent de (Order(stop))
(Issued order) Différent de (Order(blizzard))
Collapse Actions
Table de hachage - Save 0.00 as (Key (Triggering unit)) of 0 in Grele_hachage[1]
Set Grele_compteur[1] = 0.00
Set Grele_compteur[1] = 4.00


J'y ai rajouter le compteur ^^ Il passe rapidement par zéro pour annulé le cast en cour de chaincasting (ca mache plutôt bien après 2-3 essaie, on vera sur le long terme si j'trouve des failles. Mais le système est assez simple pour être solide j'espère).

Gui:
Trigger:
grele fracassante unselect rouge
Collapse Evénements
Joueur - Joueur 6 (Orange) Désélectionne a unit
Joueur - Joueur 5 (Jaune) Désélectionne a unit
Collapse Conditions
And - All (Conditions) are true
Collapse Conditions
(Load (Key (Triggering unit)) of 0 from Grele_hachage[1]) Différent de 0
(Owner of (Triggering unit)) Egal à  (Triggering player)
Collapse Actions
Table de hachage - Save 0.00 as (Key (Triggering unit)) of 0 in Grele_hachage[1]
Set Grele_compteur[1] = 0.00
Set Grele_compteur[1] = 4.00


J'vais créer ces déclencheurs "interruption de chain cast" pour chaque sorts qui utilise une chaine cast, et pour chaque joueur a terme. Comme ca je vais pouvoir les modifié en fonction de certaine condition (genre des item, allé yolo si t'as tel item tu peux bouger pendant ta chaine cast oklm car je te retire l'evenement "unité recois un ordre avec point pour cible" etc)

C'est vraiment un super système dans l'ensemble que tu m'as offert là. Sache que je t'en suis vraiment énormément reconnaissant, j'te met une petite place dans les crédit pour avoir appris le fondamental de la création de sort stylé.

Et c'était indispensable a ma map, t'imagine ? Un MobA sans héros badass ? Mon dieu Surprised J'était insouciant avant.

EDIT : J'avais pas vu ta réponse ^^ Bah j'ai fait en sorte que se soit à la désignation oui (pour se sort en particulier, c'est plus logique). Et non, je n'ai pas essayé la map de démo ! (j'ai préféré me précipité et essayer tout seul ^^) Et d'ailleur comme ta formule dans le premier post a disparus (tadaaa) bah je vais surement aller voir ! Surtout pour voir si le spamage de la hotkey comme l'as dit toc@rd provoque le même bug sur ta map, aussi. Ou si j'me suis carrément planté hahaha

EDIT 2 : Omg après relecture j'ai appellé le sort Grèle fracassante. Navré c'est Grêle fracassante, je m'en vais de se pas modifié ca in game.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Toc@rd
Membre actif


Inscrit le: 14 Avr 2009
Messages: 175
Sujets: 17
Spécialité en worldedit: Décors


MessagePosté le: 19/02/17 09:07    Sujet du message: Citer

Par contre y'a un truc dont j'ai jamais réussi à piger le fonctionnement c'est les tables de hachage. En fait c'est quoi, comme des super-variables à déploiement ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 19/02/17 12:04    Sujet du message: Citer

Des expèces de tableau a double entrée. On peux tout stocker dans une table de hachage, car peut importe le type de donnée elle seras transformer en une suite de caractère unique (qui dépend mathématiquement de l'unité) permettant de l'identifié. En gros deux fantassin une fois "hacher" représente deux chaines de caractère différentes meme si toutes les caractéristique des uit sont identique.

Oui en gros, a s'que j'ai compris de l'utilité de s'bidule, c'est qu'on l'utilise comme une grosse variable a déploiement infini, avec la possibilité de pouvoir moduler des condition et des action en faisant référence a tel objet de la table.

Enfin, tout ca c'est s'que j'ai cru comprendre, faudrais quand meme vérifier
_________________
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: 19/02/17 19:35    Sujet du message: Citer

Juste le système de compteur est superflu car il était déjà inclus dans ce que je t'ai fourni donc là ça fait doublon !
(En fait le compteur est stocké dans la table aux clés (Key of Triggering unit) et 0).

Et aussi t'as besoin de "And - Condition" quand il n'y a que ces conditions, de base ça marche comme un And !
_________________
Croâh ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Skyzen
Membre actif


Inscrit le: 07 Jan 2017
Messages: 119
Sujets: 16
Spécialité en worldedit: Tout en Gui, rien en Jass : This is my random life.


MessagePosté le: 19/02/17 20:06    Sujet du message: Citer

C'est bien se que je me disait. va savoir pourquoi, dans mon déclo, dès que je retire le système de compteur le nombre de cast devien illimité... ou presque, ca dépend du mana.

J'ai beau vérifier je ne trouve pas l'erreur de condition pour le système de comptage...

Et tu voulais dire que je n'ai pas besoin du And condtion ? Car si j'en ai besoin, bah... Il y était déjà xD
_________________
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 -> Les sorts 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