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=28908c65f52b49b7b1339aaf8249a069Mé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

Appel du Ciel [GUI] [MUI]

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Les sorts -> Modèles
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 gisgalion
Membre honoraire


Inscrit le: 30 Oct 2013
Messages: 284
Sujets: 21
Spécialité en worldedit: Spellmaker


MessagePosté le: 24/02/15 15:34    Sujet du message: Appel du Ciel [GUI] [MUI] Citer

Salut tout le monde Smile
J'ai décidé de me lancer dans la création d'un sort ayant pour thème la Lumière dont en voici le résultat final : Heaven Call

L'appel du ciel est un sort de zone en GUI et MUI , très facilement configurable pour d'autres usages.

Voici la liste des variables ainsi que les déclencheurs :

Variables :
HeavenCall_AttackType : Type d'attaque
HeavenCall_CasterGroup : Groupe unité
HeavenCall_Damages : Réel à déploiement
HeavenCall_DamagesType : Type de dommage
HeavenCall_DamagesZone : Réel
HeavenCall_Hashtable : Table de Hachage
HeavenCall_RandomPoint : Point
HeavenCall_RaysNumber : Entier à déploiement
HeavenCall_Zone : Réel à déploiement
HeavenCallCast_CastingUnit : Unité
HeavenCallCast_CenterPoint : Point
HeavenCallCast_Damages : Réel
HeavenCallCast_RaysNumber : Entier
HeavenCallCast_Zone : Réel
HeavenCall_TimerMax : Rée à déploiement
HeavenCallCast_TimerMax : Réel
HeavenCall_Timer : Réel
HeavenCallCast_TimerReduction : Réel
HeavenCall_TimerReduction : Réel à déploiement



Déclencheurs :

Initialisation des variables :

Secret:

Gui:
Trigger:
Initialisation
Collapse Evénements
Map initialization
Conditions
Collapse Actions
-------- CREDITS : --------
-------- Icône du sort : Resurrect ; Elenai : TheHiveWorkshop --------
-------- Modèle du rayon : Solar Beam ; sniper_zero ; TheHiveWorkshop --------
Table de hachage - Create a hashtable
Set HeavenCall_Hashtable = (Last created hashtable)
Set HeavenCall_Spell = Appel du ciel
Set HeavenCall_AttackType = Magie
Set HeavenCall_DamagesType = Divin
Set HeavenCall_RaysNumber[1] = 15
Set HeavenCall_RaysNumber[2] = 20
Set HeavenCall_RaysNumber[3] = 30
Set HeavenCall_Damages[1] = 30.00
Set HeavenCall_Damages[2] = 35.00
Set HeavenCall_Damages[3] = 45.00
Set HeavenCall_Zone[1] = 300.00
Set HeavenCall_Zone[2] = 350.00
Set HeavenCall_TimerMax[1] = 0.24
Set HeavenCall_TimerMax[2] = 0.24
Set HeavenCall_TimerMax[3] = 0.24
Set HeavenCall_TimerReduction[1] = 0.03
Set HeavenCall_TimerReduction[2] = 0.03
Set HeavenCall_TimerReduction[3] = 0.03
Set HeavenCall_Zone[1] = 300.00
Set HeavenCall_Zone[2] = 350.00
Set HeavenCall_Zone[3] = 400.00
Set HeavenCall_DamagesZone = 95.00



Lancement du sort

Secret:

Gui:
Trigger:
Casting
Collapse Evénements
Unité - A unit Initie l'effet d'une compétence
Collapse Conditions
(Ability being cast) Egal à  Appel du ciel
Collapse Actions
Set HeavenCallCast_CenterPoint = (Target point of ability being cast)
Set HeavenCallCast_TimerMax = HeavenCall_TimerMax[(Level of HeavenCall_Spell for (Triggering unit))]
Set HeavenCall_Timer = HeavenCallCast_TimerMax
Set HeavenCallCast_TimerReduction = HeavenCall_TimerReduction[(Level of HeavenCall_Spell for (Triggering unit))]
Set HeavenCallCast_Damages = HeavenCall_Damages[(Level of HeavenCall_Spell for (Triggering unit))]
Set HeavenCallCast_RaysNumber = HeavenCall_RaysNumber[(Level of HeavenCall_Spell for (Triggering unit))]
Set HeavenCallCast_Zone = HeavenCall_Zone[(Level of HeavenCall_Spell for (Triggering unit))]
Table de hachage - Save HeavenCallCast_Damages as 1 of (Key (Triggering unit)) in HeavenCall_Hashtable
Table de hachage - Save HeavenCallCast_Zone as 2 of (Key (Triggering unit)) in HeavenCall_Hashtable
Table de hachage - Save HeavenCallCast_RaysNumber as 0 of (Key (Triggering unit)) in HeavenCall_Hashtable
Table de hachage - Save Handle OfHeavenCallCast_CenterPoint as 3 of (Key (Triggering unit)) in HeavenCall_Hashtable
Table de hachage - Save HeavenCall_Timer as 5 of (Key (Triggering unit)) in HeavenCall_Hashtable
Table de hachage - Save HeavenCallCast_TimerMax as 6 of (Key (Triggering unit)) in HeavenCall_Hashtable
Table de hachage - Save HeavenCallCast_TimerReduction as 7 of (Key (Triggering unit)) in HeavenCall_Hashtable
Groupe unité - Add (Triggering unit) to HeavenCall_CasterGroup
Déclencheur - Turn on Actions <gen>



Actions

Secret:

Gui:
Trigger:
Actions
Collapse Evénements
Temps - Every 0.03 seconds of game time
Conditions
Collapse Actions
Collapse Groupe unité - Pick every unit in HeavenCall_CasterGroup and do (Actions)
Collapse Boucle - Actions
Set HeavenCall_Timer = (Load 5 of (Key (Picked unit)) from HeavenCall_Hashtable)
Set HeavenCallCast_TimerMax = (Load 6 of (Key (Picked unit)) from HeavenCall_Hashtable)
Set HeavenCallCast_TimerReduction = (Load 7 of (Key (Picked unit)) from HeavenCall_Hashtable)
Set HeavenCall_Timer = (HeavenCall_Timer - HeavenCallCast_TimerReduction)
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
HeavenCall_Timer Inférieur ou égal à  0.00
Collapse Alors - Actions
Set HeavenCallCast_CastingUnit = (Picked unit)
Set HeavenCallCast_CenterPoint = (Load 3 of (Key (Picked unit)) in HeavenCall_Hashtable)
Set HeavenCallCast_Damages = (Load 1 of (Key (Picked unit)) from HeavenCall_Hashtable)
Set HeavenCallCast_Zone = (Load 2 of (Key (Picked unit)) from HeavenCall_Hashtable)
Set HeavenCallCast_RaysNumber = (Load 0 of (Key (Picked unit)) from HeavenCall_Hashtable)
Set HeavenCallCast_RaysNumber = (HeavenCallCast_RaysNumber - 1)
Table de hachage - Save HeavenCallCast_RaysNumber as 0 of (Key (Picked unit)) in HeavenCall_Hashtable
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
HeavenCallCast_RaysNumber Inférieur ou égal à  0
Collapse Alors - Actions
Table de hachage - Clear all child hashtables of child (Key (Picked unit)) in HeavenCall_Hashtable
Groupe unité - Remove (Picked unit) from HeavenCall_CasterGroup
Custom script:   call RemoveLocation( udg_HeavenCallCast_CenterPoint )
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
(HeavenCall_CasterGroup is empty) Egal à  TRUE
Collapse Alors - Actions
Déclencheur - Turn off (This trigger)
Sinon - Actions
Collapse Sinon - Actions
Set HeavenCall_RandomPoint = (HeavenCallCast_CenterPoint offset by (Random real number between 0.00 and HeavenCallCast_Zone) towards (Random angle) degrees)
Effet spécial - Create a special effect at HeavenCall_RandomPoint using war3mapImportedSolar Beam.mdx
Effet spécial - Destroy (Last created special effect)
Custom script:   set bj_wantDestroyGroup =true
Collapse Groupe unité - Pick every unit in (Units within HeavenCall_DamagesZone of HeavenCall_RandomPoint matching (((Owner of (Matching unit)) is an enemy of (Owner of HeavenCallCast_CastingUnit)) Egal à  TRUE)) and do (Actions)
Collapse Boucle - Actions
Unité - Cause HeavenCallCast_CastingUnit to damage (Picked unit), dealing HeavenCallCast_Damages damage of attack type HeavenCall_AttackType and damage type HeavenCall_DamagesType
Unité - Create 1 Dummy (etheral) for (Owner of HeavenCallCast_CastingUnit) at HeavenCall_RandomPoint facing Orientation bâtiment par défaut degrees
Unité - Add a 0.10 second Générique expiration timer to (Last created unit)
Unité - Order (Last created unit) to Mage de sang humain - Bannissement (Picked unit)
Custom script:   call RemoveLocation( udg_HeavenCall_RandomPoint )
Set HeavenCall_Timer = HeavenCallCast_TimerMax
Sinon - Actions
Table de hachage - Save HeavenCall_Timer as 5 of (Key (Picked unit)) in HeavenCall_Hashtable




Qu'en dites-vous ?

Merci de me créditer si jamais vous utilisez ou modifiez ce sort Wink
_________________
Le vaste monde vous entoure de tous côtés ; vous pouvez vous enclore, mais vous ne pouvez éternellement le tenir en dehors de vos clôtures.

John Ronald Reuel Tolkien.

Hâtez-vous lentement, et sans perdre courage,
Vingt fois sur le métier remettez votre ouvrage.
Polissez-le sans cesse, et le repolissez.
Ajoutez quelquefois, et souvent effacez.

Boileau


Dernière édition par gisgalion le 28/02/15 15:30; édité 3 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 LightDragoon
Ptit Nouveau


Inscrit le: 01 Mai 2014
Messages: 35
Sujets: 5
Spécialité en worldedit: France


MessagePosté le: 24/02/15 22:06    Sujet du message: Citer

Gui:
Trigger:
HeavenCallCast_RaysNumber Inférieur ou égal à  0

Pourquoi inférieur ou égal à 0 ? ça me choque x)
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM
 gisgalion
Membre honoraire


Inscrit le: 30 Oct 2013
Messages: 284
Sujets: 21
Spécialité en worldedit: Spellmaker


MessagePosté le: 25/02/15 09:41    Sujet du message: Citer

C'est juste une habitude en fait ^^'
Je sais bien qu'il ne peut pas être inférieur à 0 puisque dès qu'il est égal à 0, je retire l'unité du groupe, mais c'est juste une habitude débile XD
_________________
Le vaste monde vous entoure de tous côtés ; vous pouvez vous enclore, mais vous ne pouvez éternellement le tenir en dehors de vos clôtures.

John Ronald Reuel Tolkien.

Hâtez-vous lentement, et sans perdre courage,
Vingt fois sur le métier remettez votre ouvrage.
Polissez-le sans cesse, et le repolissez.
Ajoutez quelquefois, et souvent effacez.

Boileau
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ectelion
Membre reconnu


Inscrit le: 12 Nov 2011
Messages: 1062
Sujets: 107
Spécialité en worldedit: Inactif(Enfin presque)
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 25/02/15 15:56    Sujet du message: Citer

J'aurais juste quelques suggestions au niveau de l'optimisation:
-Mettre la compétence dans une variable, afin que tout soit customisable au même endroit, sans avoir à toucher au loop
-Utiliser une variable de type timer que tu désincrémente de 0.03 toutes les 0.03 secondes du loop (modifie l'event) qui lorsqu'elle est égale à 0 crée les rayons et dont on peut changer la valeur max au même endroit que pour les autres aspects du sort
-Activer le Loop quand il y a une unité dans le groupe et le désactiver quand il y a en 0.

Après c'est pas nécessaire, juste que ça rend la modification plus simple et optimise un peu la consommation du jeu.
_________________
Inactif(Enfn presque)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 gisgalion
Membre honoraire


Inscrit le: 30 Oct 2013
Messages: 284
Sujets: 21
Spécialité en worldedit: Spellmaker


MessagePosté le: 27/02/15 23:17    Sujet du message: Citer

Merci pour ces conseils Smile
Je ne peux pas mapper pour l'instant, mais j'aurais quelques questions du coup :
-A quoi servirait de mettre la compétence dans une variable ? Je n'ai pas trop compris l'utilité de ce point en fait :/
-En gros, cela ferait que, en gros, le sort se chargerait avant de balancer tous les rayons d'un coup ? Ais-je bien compris ? Ou me trompe-je complètement ? Very Happy
-Oki doki Very Happy. J'imagine que ça réduira la mémoire utilisée par le sort lorsqu'il n'y a aucune unité dans le groupe c'est ça ?
_________________
Le vaste monde vous entoure de tous côtés ; vous pouvez vous enclore, mais vous ne pouvez éternellement le tenir en dehors de vos clôtures.

John Ronald Reuel Tolkien.

Hâtez-vous lentement, et sans perdre courage,
Vingt fois sur le métier remettez votre ouvrage.
Polissez-le sans cesse, et le repolissez.
Ajoutez quelquefois, et souvent effacez.

Boileau
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ectelion
Membre reconnu


Inscrit le: 12 Nov 2011
Messages: 1062
Sujets: 107
Spécialité en worldedit: Inactif(Enfin presque)
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 28/02/15 14:12    Sujet du message: Citer

gisgalion a écrit:

Merci pour ces conseils Smile
Je ne peux pas mapper pour l'instant, mais j'aurais quelques questions du coup :
-A quoi servirait de mettre la compétence dans une variable ? Je n'ai pas trop compris l'utilité de ce point en fait :/
En général, dans le déclencheur de configuration on met tout ce que l'utilisateur peut avoir envie de modifier sans qu'il ait besoin de naviguer entre tous ceux qui composent le sort. Car il peut utiliser le déclencheur pour ajouter un effet à une compétence non-modifiée par exemple, il n'utilisera pas forcément celle que tu as créée.
-En gros, cela ferait que, en gros, le sort se chargerait avant de balancer tous les rayons d'un coup ? Ais-je bien compris ? Ou me trompe-je complètement ? Very Happy
Pas vraiment, c'est pour faire en sorte que l'intervalle entre les rayons soit une valeur modifiable(qu'il y ait un temps d'attente plus ou moins long entre chaque rayon (avec une valeur différente pour chaque niveau si nécessaire))
-Oki doki Very Happy . J'imagine que ça réduira la mémoire utilisée par le sort lorsqu'il n'y a aucune unité dans le groupe c'est ça ?
Oui, parce que sinon le déclencheur tourne dans le vide, il ne fait rien mais demande la mémoire nécessaire à son fonctionnement.

_________________
Inactif(Enfn presque)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 gisgalion
Membre honoraire


Inscrit le: 30 Oct 2013
Messages: 284
Sujets: 21
Spécialité en worldedit: Spellmaker


MessagePosté le: 28/02/15 14:26    Sujet du message: Citer

Merci beaucoup de tes réponses si rapides Very Happy
Je m'attelle à ceci dès maintenant, j'éditerai dès que possible.

EDIT ; C'est fait Smile
J'ai même rajouté une variable pour déterminer de combien réduire le timer :p
_________________
Le vaste monde vous entoure de tous côtés ; vous pouvez vous enclore, mais vous ne pouvez éternellement le tenir en dehors de vos clôtures.

John Ronald Reuel Tolkien.

Hâtez-vous lentement, et sans perdre courage,
Vingt fois sur le métier remettez votre ouvrage.
Polissez-le sans cesse, et le repolissez.
Ajoutez quelquefois, et souvent effacez.

Boileau
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 -> Modèles 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