Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Tirlititi
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
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: 03/04/10 19:34 Sujet du message: |
|
|
Le type code en variable est quasiment inutile, on ne peut pas exécuter du code.
Y'a quelques trick comme comme créer un trigger, ajouter en action le code, exécuter le trigger, supprimer le trigger, mais non seulement c'est affreux et lent comme méthode, mais en plus ca te limite à des function sans argument ni return. (takes nothing returns nothing).
On peut utiliser des boolexpr array et donc indirectement comme si c'était du code array, mais là encore c'est affreux.
Je te conseille vivement de passer au vJass et de t'intéresser aux function interface, et pour bien d'autres choses aussi.
Arrête de manipuler directement le script de la map, hérétique _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 03/04/10 20:36 Sujet du message: |
|
|
Cela peut être utile, j'avais fait cela par exemple:
Jass: |
function UI_KeyEvent takes nothing returns nothing
local trigger t
local integer i = bj_MAX_PLAYERS
local integer j
local integer array CA
local code TmpCode
set CA[0] = C2I(function UI_KeyActionPL)
set CA[1] = C2I(function UI_KeyActionRL)
set CA[2] = C2I(function UI_KeyActionPR)
set CA[3] = C2I(function UI_KeyActionRR)
set CA[4] = C2I(function UI_KeyActionPD)
set CA[5] = C2I(function UI_KeyActionRD)
set CA[6] = C2I(function UI_KeyActionPU)
set CA[7] = C2I(function UI_KeyActionRU)
loop
set i = i - 1
if udg_GP_PPlay[i] then
set j = 7
loop
set t = CreateTrigger()
call TriggerRegisterPlayerEvent( t, Player(i), ConvertPlayerEvent(261+j) )
set TmpCode = I2C(CA[j])
call TriggerAddAction( t, TmpCode )
exitwhen j <= 0
set j = j - 1
endloop
endif
exitwhen i <= 0
endloop
endfunction |
Mais ce n'est plus censé pouvoir fonctionner avec les nouvelles versions. _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
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: 03/04/10 20:38 Sujet du message: |
|
|
Je parles par défaut au présent. _________________
Le violet, c'est moche. |
|
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...)
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
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: 04/04/10 10:49 Sujet du message: |
|
|
Citation: | L'ouverture d'un mpq, c'est moins long que celle de WE ^^, et comme je code par petites touches, je préfère quand même Embarassed . |
Lol, le temps ainsi gagné tu le rattrapes au centuple ultérieurement.
Ne serait ce que pour les utilisations de library et de structs.
Sans compter que ton code est bien plus net en apparence. _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
|