Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
zazaa Membre actif

Inscrit le: 05 Aoû 2008 Messages: 197 Sujets: 24
|
|
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/08 19:33 Sujet du message: |
|
|
Mieux vaut utiliser un every ou encore mieux un timer périodique.
Les wisp sont contrôlables ou pas ?
Si aucun joueur n'est censé les contrôler mieux vaut changer leur position périodiquement, plutôt que de leur ordonner de se déplacer, c'est Hachement plus précis.
Ton problème vient peut être de la collision des unités.
Ajoute leur la capacité unité spéciale mort vivant infestation si tu prévois de posséder Frozen Throne. _________________
|
|
Revenir en haut |
|
 |
zazaa Membre actif

Inscrit le: 05 Aoû 2008 Messages: 197 Sujets: 24
|
Posté le: 30/08/08 20:05 Sujet du message: |
|
|
ben en fait c'est ce que j'avais fait avant (les wisps sont controlées par l'ordi)
ici l'ancien déclo ( c custom script vive roc)
Jass: | function Trig_move_wisp_Actions takes nothing returns nothing
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 10
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_positionswisp[GetForLoopIndexA()] = GetUnitLoc(udg_turnwisp[GetForLoopIndexA()])
set udg_positionwisp2[GetForLoopIndexA()] = GetUnitLoc(udg_turnwisp2[GetForLoopIndexA()])
set udg_positionwisp3[GetForLoopIndexA()] = GetUnitLoc(udg_turnwisp3[GetForLoopIndexA()])
set udg_anglewisp[GetForLoopIndexA()] = ( udg_anglewisp[GetForLoopIndexA()] + udg_anglemove[1] )
set udg_anglewisp2[GetForLoopIndexA()] = ( udg_anglewisp2[GetForLoopIndexA()] - udg_anglemove[2] )
set udg_anglewisp3[GetForLoopIndexA()] = ( udg_anglewisp3[GetForLoopIndexA()] + udg_anglemove[3] )
set udg_deplacementwisp[GetForLoopIndexA()] = PolarProjectionBJ(udg_positionswisp[GetForLoopIndexA()], udg_movingwisp[1], udg_anglewisp[GetForLoopIndexA()])
set udg_deplacementwisp2[GetForLoopIndexA()] = PolarProjectionBJ(udg_positionwisp2[GetForLoopIndexA()], udg_movingwisp[2], udg_anglewisp2[GetForLoopIndexA()])
set udg_deplacementwisp3[GetForLoopIndexA()] = PolarProjectionBJ(udg_positionwisp3[GetForLoopIndexA()], udg_movingwisp[3], udg_anglewisp3[GetForLoopIndexA()])
call SetUnitPositionLoc( udg_turnwisp[GetForLoopIndexA()], udg_deplacementwisp[GetForLoopIndexA()] )
call SetUnitPositionLoc( udg_turnwisp2[GetForLoopIndexA()], udg_deplacementwisp2[GetForLoopIndexA()] )
call SetUnitPositionLoc( udg_turnwisp3[GetForLoopIndexA()], udg_deplacementwisp3[GetForLoopIndexA()] )
call RemoveLocation(udg_positionswisp[GetForLoopIndexA()] )
call RemoveLocation(udg_deplacementwisp[GetForLoopIndexA()] )
call RemoveLocation(udg_positionwisp2[GetForLoopIndexA()] )
call RemoveLocation(udg_deplacementwisp2[GetForLoopIndexA()] )
call RemoveLocation(udg_positionwisp3[GetForLoopIndexA()] )
call RemoveLocation(udg_deplacementwisp3[GetForLoopIndexA()] )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
//===========================================================================
function InitTrig_move_wisp takes nothing returns nothing
set gg_trg_move_wisp = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_move_wisp, 0.02 )
call TriggerAddAction( gg_trg_move_wisp, function Trig_move_wisp_Actions )
endfunction
|
moving etait calculé par (2x pi (la distance entre le wisp et le centre du cercle)) / 400
et angle c'etait 360 / 400
mais le probleme c'est que sa faisait beaucoup lagger et que j'aurai eu le meme probleme que pour le "lance flame" avec les collisions (voir mon autre topic un peu plus bas) j'ai viré les lances flames sa marchait nikel mais un jour worldedit a decidé de me mettre la map en w3x sans me demander mon avis donc poubelle _________________
|
|
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/08 20:20 Sujet du message: |
|
|
Je respecte ta volonté de laisser ta map accessible au maximum de gens possibles, mais le prix modique pour ROC+FT ne justifie pas pour moi que l'on se complique autant la vie.
Mapper avec ROC c'est vraiment très pénible. _________________
|
|
Revenir en haut |
|
 |
zazaa Membre actif

Inscrit le: 05 Aoû 2008 Messages: 197 Sujets: 24
|
|
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/08 20:48 Sujet du message: |
|
|
Si tu ne veux plus avoir l'inconvénient de la transformation ROC -> FT de ta map, installe une version ROC et utilise l'éditeur de cette version pour mapper.
Have Fun avec l'éditeur d'objet de ROC.
Je te conseille aussi de télécharger le JassNewGenPack sur wc3campaigns.net pour coder en jass.
Avec le nouveau patch ca requiert une manip que j'ai décrit ici :
http://worldedit.free.fr/forum/viewtopic.php?t=2100 _________________
|
|
Revenir en haut |
|
 |
zazaa Membre actif

Inscrit le: 05 Aoû 2008 Messages: 197 Sujets: 24
|
|
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/08 21:30 Sujet du message: |
|
|
Code: | local <typeDeLaVariable> array <NomDeLaVariable> |
Les index vont de 0 à 8191 compris.
Mais il ne faut pas utiliser l'index 8191 sinon on ne sera pas capable de charger une sauvegarde de la map.
Ensuite pour l'utiliser c'est des crochets [] et non des parenthèses () _________________
|
|
Revenir en haut |
|
 |
zazaa Membre actif

Inscrit le: 05 Aoû 2008 Messages: 197 Sujets: 24
|
|
Revenir en haut |
|
 |
|