Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Crowolf Animateur

Inscrit le: 21 Avr 2008 Messages: 1607 Sujets: 81 Spécialité en worldedit: Utiliser le travail des autres Médailles: 3 (En savoir plus...)
|
Posté le: 04/07/14 14:15 Sujet du message: Systeme pour Vol de sort des compétence pérso |
|
|
Salut, je cherche un système qui me permettrait de gérer les Buffs et compétences personnalisées par Trigger qui pourrait être volés par le sort du Brisesort.
Exemple, j'ai une compétence qui augmente la défense d'une cible en fonction du temps. La défense est basée sur une compétence objet Bonus en défense dont le niveau augmente et donne +1, +2 etc. en défense.
Ce qu'il faudrait c'est que si le Buff est volé, l'unité alliée du brisesort qui le reçoit, reçoive aussi la compétence objet bonus.
Je ne sais pas très bien comment marche cette compétence Vol de sort.
Merci.
PS: Si possible en vJass. _________________
|
|
Revenir en haut |
|
 |
Tirlititi

Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
|
Posté le: 04/07/14 15:03 Sujet du message: |
|
|
Hum...
Ça me paraît vraiment compliqué. Faudrait tester ce que tu peux faire avec "A unit initie l'effet d'une compétence".
Je suppose que tu peux obtenir la cible est le Brisesort qui lance le sort, mais pour celui qui reçoit le buff, ça doit être plus compliqué. Peut-être un truc comme ça :
Jass: | globals
group BufferGroup = CreateGroup()
unit Caster
integer BuffID
endglobals
function TimerExpires takes nothing returns nothing
local group g = CreateGroup()
local unit buffearner
call GroupEnumUnitsInRange(g, GetUnitX(Caster), GetUnitY(Caster), 500, null)
set buffearner = FirstOfGroup(g)
loop
exitwhen buffearner==null or (not IsUnitInGroup(BufferGroup, buffearner) and GetUnitAbilityLevel(buffearner, BuffID)>0)
call GroupRemoveUnit(g, buffearner)
set buffearner = FirstOfGroup(g)
endloop
call DestroyGroup(g)
set g = null
// buffearner est l'unité qui a obtenue le buff (ou null)
call DestroyTimer(GetExpiredTimer())
endfunction
function HasTheBuff takes nothing returns boolean
return GetUnitAbilityLevel(GetFilterUnit(), BuffID)>0
endfunction
function TriggerAction takes nothing returns nothing
local timer t = CreateTimer()
set Caster = GetTriggerUnit()
set BuffID = 'B000'
call GroupEnumUnitsInRange(BufferGroup, GetUnitX(Caster), GetUnitY(Caster), 500, Filter(function HasTheBuff))
call TimerStart(t, 0.00, false, function TimerExpires)
set t = null
endfunction |
Le problème, c'est que je vois pas de moyen d'identifier le buff qui est volé. Si tu n'as qu'un seul buff qu'il faut gérer par déclencheur, ça va, mais ça devient plus compliqué si y'en a plus.
Ou sinon, tu re-codes "Vol de sort" par déclencheurs... Mais là encore il va y avoir des problèmes (faire une fonction "Appliquer Buff" pour chaque buff volable possible, en particulier :/). _________________
|
|
Revenir en haut |
|
 |
Crowolf Animateur

Inscrit le: 21 Avr 2008 Messages: 1607 Sujets: 81 Spécialité en worldedit: Utiliser le travail des autres Médailles: 3 (En savoir plus...)
|
Posté le: 04/07/14 20:17 Sujet du message: |
|
|
Bah c'est ça le problème, c'est que je vais avoir des dizaines de compétence par déclo.
Pour l'instant je regarde les différents système de buff que je trouve et j'attend une bonne âme qui a une idée de génie.
Y'a pas moyen de savoir comment la compétence Vol de sort est codé par les développeurs du jeu?
Je pense que tu as raison et que ce serait plus simple de gérer Vol de sort par déclencheur avec des dummies. _________________
|
|
Revenir en haut |
|
 |
Crowolf Animateur

Inscrit le: 21 Avr 2008 Messages: 1607 Sujets: 81 Spécialité en worldedit: Utiliser le travail des autres Médailles: 3 (En savoir plus...)
|
Posté le: 04/07/14 20:42 Sujet du message: |
|
|
Oui, j'ai vu le tiens Sapeur et j'ai essayé celui d'Anitarf qui fait planter mon editeur... je comprend pas très bien, je crois que jasshelper est à jour pourtant.
Je ne veux pas me passer d'un système de Buff, dans l'absolu, ce serait l'idéal si y'en a un qui me permettait de faire ce que je veux.
[edit] il a supprimé son message le bougre ^^ _________________
|
|
Revenir en haut |
|
 |
Sapeur-Goblin Floodeur prématuré
Inscrit le: 14 Oct 2009 Messages: 719 Sujets: 40 Spécialité en worldedit: Les bugs Médailles: 1 (En savoir plus...)
|
Posté le: 05/07/14 14:21 Sujet du message: |
|
|
Hum oui je l'ai supprimé parce que je me disais que j'avais rien compris au problème ^^.
Je pense pas que le mien soit une solution mais il peut donner quelques idées.
Pour celui d'Anitarf, c'est assez bizarre effectivement. Avec la map exemple ça crash aussi? Il me semble que j'avais testé cette map sans problème. _________________
|
|
Revenir en haut |
|
 |
Crowolf Animateur

Inscrit le: 21 Avr 2008 Messages: 1607 Sujets: 81 Spécialité en worldedit: Utiliser le travail des autres Médailles: 3 (En savoir plus...)
|
Posté le: 12/07/14 15:55 Sujet du message: |
|
|
La map exemple d'Anitarf crashait mais j'ai trouvé une autre map qui utilisait ce système et qui marche. Je vais potasser tout ça, mais je pense que je fais essayer de faire avec. _________________
|
|
Revenir en haut |
|
 |
|