Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=d1a744cacc74556bda80113e908c01bbMédailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Pourquoi mes wisps vont t- ils au centre ?

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 30/08/08 19:22    Sujet du message: Pourquoi mes wisps vont t- ils au centre ? Citer

Salut

J'ai fait un declo pour faire tourner 3 rangées de wisps en cercle, mais le problème c'est quils se décalent de quelques milimetres a chaque mouvement, c'est a dire qu'au bout de 5-10 minutes ils sont tous au centre Sad
peut etre dois-je utiliser la fonction point with offset mais je ne sais pas comment recuperer les valeurs ( si je met au pif sa me fait du gros nimporte quoi)
voila le déclo d'origine la position initale des wisps etant un "cercle parfait"
Gui:
Trigger:
move wisp2
Evènements
Conditions
Collapse Actions
Collapse For each (Integer A) from 1 to 10, do (Actions)
Collapse Boucle - Actions
Set positionswisp[(Integer A)] = (Position of turnwisp[(Integer A)])
Set positionwisp2[(Integer A)] = (Position of turnwisp2[(Integer A)])
Set positionwisp3[(Integer A)] = (Position of turnwisp3[(Integer A)])
Unité - Order turnwisp[10] to Avancer vers positionswisp[1]
Unité - Order turnwisp3[10] to Avancer vers positionwisp3[1]
Unité - Order turnwisp2[1] to Avancer vers positionwisp2[10]
Collapse For each (Integer A) from 1 to 9, do (Actions)
Collapse Boucle - Actions
Unité - Order turnwisp[(Integer A)] to Avancer vers positionswisp[((Integer A) + 1)]
Unité - Order turnwisp3[(Integer A)] to Avancer vers positionwisp3[((Integer A) + 1)]
Collapse For each (Integer A) from 2 to 10, do (Actions)
Collapse Boucle - Actions
Unité - Order turnwisp2[(Integer A)] to Avancer vers positionwisp2[((Integer A) - 1)]
Collapse For each (Integer A) from 1 to 10, do (Actions)
Collapse Boucle - Actions
Custom script:   call RemoveLocation( udg_positionswisp[GetForLoopIndexA()] )
Custom script:   call RemoveLocation( udg_positionwisp2[GetForLoopIndexA()] )
Custom script:   call RemoveLocation( udg_positionwisp3[GetForLoopIndexA()] )
Wait 1.50 seconds
Declencheur - Run (This trigger) (ignoring conditions)

_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 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...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 30/08/08 19:33    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 30/08/08 20:05    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé  
 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...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 30/08/08 20:20    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 30/08/08 20:41    Sujet du message: Citer

En fait c un genre de defi que je me suis lancé Very Happy ;
N'empeche en faisant des map pour roc on apprend vachement vite, y a 2 mois je savais pas ce que c'etait qu'une région et maintenant j'arrive a faire des declos directement en custom script

pour mes wisp jvai essayer de faire declo qui va changer le diametre du cercle comme ca ils tourneront en rond tout en bougeant de bas en haut
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 30/08/08 20:48    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 30/08/08 21:24    Sujet du message: Citer

Re désloé en plus d'etre sur roc j'utilise un mac donc ce lociciel ne fonctionera pas ( je sais je suis vraiment boulz) mais bon merci quand meme Very Happy

sinon question stupide : comment déclarer une locale en déploiment ?

c'est pour faire un truc du style

local unit u(deploiment)

boucle :
set u(A)= turnwisp(A)
set turnwisp(A) = turnwisp2(A)
set turnwisp2(A) = u(A)

thxx
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 30/08/08 21:30    Sujet du message: Citer

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
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 30/08/08 21:46    Sujet du message: Citer

Merci Beaucoup Smile
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1
La question posée dans ce topic a été résolue !

 
Sauter vers:  
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


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com