Posté le: 28/11/08 15:20 Sujet du message: Sort dynamique
Introduction
Secret:
Bonjour,
Encore un fois merci pour ce forum, la plupart du temps quand je me pose une question, j'y trouve la réponse sans même avoir besoin de poster (doù mon peu de messages alors que je passe plusieurs fois/semaines^^).
Après avoir lancé une bêta de Héro Survivor qui a eu pas mal de succès sur la vingtaine de parties lancées sur le net , j'ai arrêté de corriger/équilibrer cette map intitulée Savagery.
Du coup je me suis mis à vouloir faire un ORPG.
J'ai passé des heures à tout mettre en place du point de vue systèmes de base (sachant que je ne fais que du GUI).
-affichage des dégâts, sorts, points d'XP, or.
-ajout intelligence/force/agilité à chaque niveau gagné par le héro (compétence livre de sort)
-inventaire 12 slots
-types d'objets uniques (un seul bouclier, etc...)
-compétences de base (non upgradable)
-compétences avancées (sous forme livre de sort, upgradables par achat de tome)
etc..
Et là j'ai un premier problème:
J'utilise pour mon premier héro une série de compétences qui utilisent un système dynamique:
l'utilisation de compétences active un premier déclencheur qui lui même active un évènement périodique (comme le sort "onde de choc" de ce forum .
Le souci c'est qu'on ne peut avoir qu'une seule variable pour le lanceur de sort.
Et donc un seul héro de même type en même temps.
Exemple:
Trigger 1
Secret:
SF5 Blade Surround start
Gui:
Trigger:
Events Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to F5 Blade Surround
Actions
Set Sort_F5_caster = (Casting unit) Set Sort_F5_target = (Target unit of ability being cast) Set Sort_F5_Sound = AxeMissileLaunch1 <gen> Trigger - Turn on SF 5 Sort <gen> Wait 2.00 seconds Trigger - Turn off SF 5 Sort <gen> Custom script: call RemoveLocation( udg_Sort_F5_Point)
Trigger2
Secret:
Gui:
Trigger:
Events Time - Every 0.03 seconds of game time Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of F5 Blade Surround for Sort_F5_caster) Equal to 1
Then - Actions Set Sort_F5_Point = (Position of Sort_F5_target) Unit - Move Sort_F5_caster instantly to (Sort_F5_Point offset by 100.00 towards Sort_F5_angle degrees), facing (Position of Sort_F5_target) Unit - Cause Sort_F5_caster to damage Sort_F5_target, dealing (0.00 + (((Real((Agility of Sort_F5_caster (Include bonuses)))) / 20.00) + 2.00)) damage of attack type Normal and damage type Normal Animation - Play Sort_F5_caster's spell slam animation Set Sort_F5_angle = (Sort_F5_angle + 10.00) Sound - Play Sort_F5_Sound at 100.00% volume, attached to Sort_F5_caster Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of F5 Blade Surround for Sort_F5_caster) Equal to 2
Then - Actions Set Sort_F5_Point = (Position of Sort_F5_target) Unit - Move Sort_F5_caster instantly to (Sort_F5_Point offset by 100.00 towards Sort_F5_angle degrees), facing (Position of Sort_F5_target) Unit - Cause Sort_F5_caster to damage Sort_F5_target, dealing (0.00 + (((Real((Agility of Sort_F5_caster (Include bonuses)))) / 20.00) + 2.00)) damage of attack type Normal and damage type Normal Animation - Play Sort_F5_caster's spell slam animation Set Sort_F5_angle = (Sort_F5_angle + 10.00) Sound - Play Sort_F5_Sound at 100.00% volume, attached to Sort_F5_caster Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of F5 Blade Surround for Sort_F5_caster) Equal to 3
Then - Actions Set Sort_F5_Point = (Position of Sort_F5_target) Unit - Move Sort_F5_caster instantly to (Sort_F5_Point offset by 100.00 towards Sort_F5_angle degrees), facing (Position of Sort_F5_target) Unit - Cause Sort_F5_caster to damage Sort_F5_target, dealing (0.00 + (((Real((Agility of Sort_F5_caster (Include bonuses)))) / 20.00) + 3.00)) damage of attack type Normal and damage type Normal Animation - Play Sort_F5_caster's spell slam animation Set Sort_F5_angle = (Sort_F5_angle + 10.00) Sound - Play Sort_F5_Sound at 100.00% volume, attached to Sort_F5_caster Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of F5 Blade Surround for Sort_F5_caster) Equal to 4
Then - Actions Set Sort_F5_Point = (Position of Sort_F5_target) Unit - Move Sort_F5_caster instantly to (Sort_F5_Point offset by 100.00 towards Sort_F5_angle degrees), facing (Position of Sort_F5_target) Unit - Cause Sort_F5_caster to damage Sort_F5_target, dealing (0.00 + (((Real((Agility of Sort_F5_caster (Include bonuses)))) / 20.00) + 4.00)) damage of attack type Normal and damage type Normal Animation - Play Sort_F5_caster's spell slam animation Set Sort_F5_angle = (Sort_F5_angle + 10.00) Sound - Play Sort_F5_Sound at 100.00% volume, attached to Sort_F5_caster Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of F5 Blade Surround for Sort_F5_caster) Equal to 5
Then - Actions Set Sort_F5_Point = (Position of Sort_F5_target) Unit - Move Sort_F5_caster instantly to (Sort_F5_Point offset by 100.00 towards Sort_F5_angle degrees), facing (Position of Sort_F5_target) Unit - Cause Sort_F5_caster to damage Sort_F5_target, dealing (0.00 + (((Real((Agility of Sort_F5_caster (Include bonuses)))) / 20.00) + 5.00)) damage of attack type Normal and damage type Normal Animation - Play Sort_F5_caster's spell slam animation Set Sort_F5_angle = (Sort_F5_angle + 10.00) Sound - Play Sort_F5_Sound at 100.00% volume, attached to Sort_F5_caster Else - Actions
Ainsi ma question c’est :
comment faire que la variable Sort_F5_caster qui correspond au héro lanceur du sort puisse s’appliquer à plusieurs héros en même temps, dans la mesure où passer cette variable en déploiement ne fonctionne pas ? (en effet si je la passe en déploiement, le déclo2 ne pourra pas savoir de qui il s’agit avec un truc du genre
Gui:
Trigger:
Sort_F5_caster[player number of (owner of (triggering unit))]
Inscrit le: 21 Aoû 2007 Messages: 2073 Sujets: 38 Spécialité en worldedit: Oui Médailles: 1 (En savoir plus...)
Posté le: 28/11/08 18:20 Sujet du message:
Tu peux mettre en déploiement, et pour que cela cible tous les joueurs, tu mets un for loop integer A (boucle) et tu utilise Integer A en Index de la variable à déploiement. _________________
@Keitaro_Ura: justement je ne veux pas cibler tout les joueurs! Je veux que plusieurs héros du même type puissent utiliser ce sort en même temps. Or un déploiement ne résout rien, puisque je ne peux pas attribuer un déploiement dans le deuxième trigger.
A moins de faire 11 versions du trigger 2, mais si je fais pas mal de sorts comme ça, quel ***
@Crowolf
L'inventaire 12 slots est bien celui-d'ici Mais j'ai prévu de le modifier pour qu'il ressemble à celui de Rommstein dans la map sans nom. Système plus pratique que j'ai déjà vu dans d'autres ORPG.
En plus faut que je le rende compatible avec mon système de classes d'objets, et ça, c'est pas encore gagné (je veux que certaines armes puisse être achetées en double, selon certains types de héros etc...Je vais m'éclater à faire des tads de variables moi, surtout que j'ai déjà sur le papier 39 types d'armes, sans compter les combinaison des armes de magiciens (sceptres+bâtons) avec des orbes. Chui partit pour des mois de taff^^)
Pour en revenir à mon problème:
Je ne sais pas me servir des customs values j'en ai pris pour un système de résurrection des creeps. Mais en suivant un tutorial sur w3ccampaign^^ _________________
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
Posté le: 28/11/08 20:23 Sujet du message:
Pach a écrit:
@Crowolf
L'inventaire 12 slots est bien celui-d'ici Mais j'ai prévu de le modifier pour qu'il ressemble à celui de Rommstein dans la map sans nom. Système plus pratique que j'ai déjà vu dans d'autres ORPG.
Tu parle de quoi là ? _________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
Posté le: 28/11/08 23:24 Sujet du message:
Ce que tu veux faire est impossible en gui, ou du moins très laborieusement , faudrait utiliser un système/ une méthode d'attachement quelconque et utiliser des timers plutôt que des wait, et je ne vois même pas par où commencer pour t'expliquer ...
De toute façon je ne pense pas que tu comprendrais étant donné que tu ne fais que du gui.
Félicitations tu vient de rencontrer les limites du gui _________________
Bon de toute façon je commençais à en avoir marre de cette map.
M'enfin j'ai pas envie de me mettre au jass non plus, je n'y comprends pas grand chose. Même quand j'ai le trigger tout fait, je ne trouve pas comment l'incrémenter.
Y'allez. Je vais trouver un autre concept de map^^ _________________
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
Posté le: 29/11/08 11:24 Sujet du message:
Changer le concept d'une map n'y fera pas grand chose, fatalement tu auras toujours le même problème, après c'est un choix, il est clair que maitriser le jass demande du temps mais c'est tout à fait faisable. _________________
Wiiii^^
Question d'emploi du temps IRL. Je suis arrivé à une bonne maîtrise du GUI (sauf sur les custom values )depuis le temps que je bidouille de WE. Mais j'ai pas le temps de vraiment me mettre au JASS. Enfin bref.
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
Posté le: 29/11/08 12:08 Sujet du message:
Animals' Life est presque entièrement en Gui (mis à part les variables locales et les suppressions de leaks), ça n'empêche pas d'avoir une bonne map. Bon ok, les systèmes sont loin d'être optimisés, mais bon _________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Toutes les heures sont au format GMT + 1 Heure Aller à la page 1, 2Suivante
Page 1 sur 2 La question posée dans ce topic a été résolue !
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