| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
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: 28/08/09 17:45 Sujet du message: ExecuteSoon |
|
|
| Jass: | library ExecuteSoon initializer init
globals
private constant integer MAX_TIMERS = 64
endglobals
globals
private timer array Tim
private integer I = 0
endglobals
function ExecuteSoon takes code func, integer data returns nothing
set I = I-1
call TimerStart(Tim[I],-data,false,func)
endfunction
public function GetData takes nothing returns integer
set I = I+1
return R2I(-TimerGetTimeout(GetExpiredTimer()))
endfunction
private function init takes nothing returns nothing
loop
exitwhen I == MAX_TIMERS
set Tim[I] = CreateTimer()
set I = I+1
endloop
endfunction
endlibrary |
C'est le fruit de mon ennui actuel et de mes balades sur les forums consacrés à l'éditeur.
Voilà les prémisces :
- Une discussion avec Max
- un système que j'avais déjà vu
- et enfin un post tentant de trouver une alternative pour lier un entier à un timer.
Remarque :
Il faut créer via la constante MAX_TIMERS un nombre suffisant de timers, 256 devrait être largement suffisant, voir irréaliste.
Ex d'utilisation :
| Jass: | scope Test initializer init
private struct s_data
unit u
static method create takes nothing returns thistype
local thistype this = .allocate()
set .u = GetOrderedUnit()
return this
endmethod
method onDestroy takes nothing returns nothing
set .u = null
endmethod
endstruct
private function StopPointOrders takes nothing returns nothing
local s_data s = ExecuteSoon_GetData()
call IssueImmediateOrder(s.u,"stop")
call s.destroy()
endfunction
private function Actions takes nothing returns nothing
call ExecuteSoon(function StopPointOrders,s_data.create)
endfunction
private function init takes nothing returns nothing
local trigger trig = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(trig,EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER)
call TriggerAddAction(trig,function Actions)
endfunction
endscope |
_________________
Le violet, c'est moche.
Dernière édition par Troll-Brain le 31/08/09 21:13; édité 4 fois |
|
| Revenir en haut |
|
 |
Brissou de Mourièssou Créateur de sorts, depuis 1936.

Inscrit le: 30 Aoû 2007 Messages: 1511 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 28/08/09 19:14 Sujet du message: |
|
|
Et en gros ça sert à ? Exécuter une action dans 0.001 seconde _________________
|
|
| 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...)
|
|
| Revenir en haut |
|
 |
Rommstein60 MODÉRATEUR À LA RETRAITE

Inscrit le: 23 Aoû 2007 Messages: 4767 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
|
|
| 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...)
|
|
| Revenir en haut |
|
 |
Bantas Anomalie floodiforme

Inscrit le: 21 Aoû 2007 Messages: 1524 Sujets: 37
Médailles: 1 (En savoir plus...)
|
Posté le: 28/08/09 19:53 Sujet du message: |
|
|
Ca ne devrait pas être dans la section fonction Jass ? _________________
|
|
| 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...)
|
|
| Revenir en haut |
|
 |
profet Instanton Gravitationnel Singulier

Inscrit le: 21 Aoû 2007 Messages: 1633 Sujets: 53 Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...) Médailles: 2 (En savoir plus...)
|
Posté le: 28/08/09 20:23 Sujet du message: |
|
|
Un appel vers une fonction avec un .execute() ne suffit pas ? _________________
Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70% |
|
| 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...)
|
|
| 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: 30/08/09 20:54 Sujet du message: |
|
|
Comme on me l'a fait remarqué la fonction End est inutile, je peux compléter la fonction GetData à la place.
Code édité dans le premier post. _________________
Le violet, c'est moche. |
|
| 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: 31/08/09 19:03 Sujet du message: |
|
|
Toujours comme on me l'a fait remarqué, le set de la variable timer array est inutile en dehors de l'initializer.
Je le faisais car je croyais que parfois des timers à la même période lancés en même temps pouvaient ne pas s'achever dans l'ordre où ils étaient lancés.
Ce qui s'avère inexact après un rapide test.
A savoir que cela a été envoyé au cimetière sur www.thehelper.net, mais en même temps venant de Jesus4Lyf je m'y attendais, dire que ca ne me touche pas serait faux, sinon je n'en parlerais même pas, mais bon c'est un marchand de tapis qui défend ses codes envers et contre tous les autres, et qui "oublie" de mentionner les points négatifs des siens, quitte à faire de la démagogie, pond des affirmations sans aucune preuve, et tarde à mettre au cimetière ses propres codes inutiles.
Bref vous aurez compris, je l' <3
Erf c'est bien du flood ... _________________
Le violet, c'est moche. |
|
| Revenir en haut |
|
 |
profet Instanton Gravitationnel Singulier

Inscrit le: 21 Aoû 2007 Messages: 1633 Sujets: 53 Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...) Médailles: 2 (En savoir plus...)
|
Posté le: 31/08/09 19:18 Sujet du message: |
|
|
| Jass: |
private function Actions takes nothing returns nothing
local s_data s = s_data.create()
call ExecuteSoon(function StopPointOrders,s)
endfunction |
en plus "speedfreak" :
| Jass: |
private function Actions takes nothing returns nothing
call ExecuteSoon(function StopPointOrders,s_data.create())
endfunction |
_________________
Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70% |
|
| Revenir en haut |
|
 |
Brissou de Mourièssou Créateur de sorts, depuis 1936.

Inscrit le: 30 Aoû 2007 Messages: 1511 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 31/08/09 19:40 Sujet du message: |
|
|
Osef de theHelper nous on l'utilisera ! On ne le mettra pas au cimetière mais on le gardera dans notre <3
Edit: pour te venger tu peux lui dire qu'il y a un bug avec sa librairie Damage
| Jass: | public function IsPhysical takes nothing returns boolean
return GetType()==DAMAGE_TYPE_NORMAL
endfunction
|
DAMAGE_TYPE_NORMAL c'est des dégâts magiques, pas du tout des dégâts physique, j'ai testé samedi dernier...
C'est d'ailleurs marqué ici Jass API, j'avais quand même testé pour être sûr et d'ailleurs DAMAGE_TYPE_UNKNOWN ne touche pas les invulnérables... _________________
Dernière édition par Brissou de Mourièssou le 31/08/09 19:52; édité 1 fois |
|
| 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...)
|
|
| Revenir en haut |
|
 |
Brissou de Mourièssou Créateur de sorts, depuis 1936.

Inscrit le: 30 Aoû 2007 Messages: 1511 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 31/08/09 19:53 Sujet du message: |
|
|
C'était une paire de fesses pas un coeur ! omg j'espère que tu n'as pas confondu.
(C'est juste pour up et que tu voyes l'édit) _________________
|
|
| Revenir en haut |
|
 |
|