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=cd778c9b8c5585d08bc6d766845ef520Mé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

Je me mets un petit peu au Jass
Aller à la page 1, 2, 3, 4, 5, 6  Suivante
 
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
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Créateur de race (Quantité : 1)

MessagePosté le: 25/04/08 10:08    Sujet du message: Je me mets un petit peu au Jass Citer

Tout est dans le titre ou presque. J'en avais marre de la lourdeur de certains de mes déclencheurs, et comme je voulais utiliser des locales je me suis dit que j'allais essayer de me mettre au Jass. Le NewGen Pack en poche, j'ai un peu commencé et ma question est la suivante : voici mon tout premier déclencheur en Jass (issu du GUI et modifié), qu'est-ce qu'il vaut et est-ce qu'il y a du n'importe quoi dedans ? En tout cas il semble fonctionner comme je le veux.

Jass:
function Trig_Biere_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A001' ) ) then
        return false
    endif
    if ( not ( GetSpellTargetUnit() == GetSpellAbilityUnit() ) ) then
        return false
    endif
    if ( not ( GetUnitAbilityLevelSwapped('A004', GetSpellTargetUnit()) <= 0 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Biere_Actions takes nothing returns nothing
    local unit brasseur
    local effect fx
    local integer i
    set brasseur = GetSpellAbilityUnit()
    set i = R2I(( I2R(GetHeroStatBJ(bj_HEROSTAT_STR, brasseur, true)) * ( 0.25 + ( I2R(GetUnitAbilityLevelSwapped('A001', brasseur)) * 0.25 ) ) ))
    if i > 200 then
        set i = 200
    endif
    call TriggerSleepAction( 0.50 )
    call AddSpecialEffectTargetUnitBJ( "overhead", brasseur, "Abilities\\Spells\\Human\\InnerFire\\InnerFireTarget.mdl" )
    set fx = GetLastCreatedEffectBJ()
    call UnitAddAbilityBJ( 'A004', brasseur )
    call SetUnitAbilityLevelSwapped( 'A004', brasseur, i )
    call TriggerSleepAction( ( 8.70 + ( I2R(GetUnitAbilityLevelSwapped('A001', brasseur)) * 2.50 ) ) )
    call UnitRemoveAbilityBJ( 'A004', brasseur )
    call TriggerSleepAction( 0.20 )
    call DestroyEffectBJ( fx )
endfunction

//===========================================================================
function InitTrig_Biere takes nothing returns nothing
    set gg_trg_Biere = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Biere, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Biere, Condition( function Trig_Biere_Conditions ) )
    call TriggerAddAction( gg_trg_Biere, function Trig_Biere_Actions )
endfunction


_________________


Dernière édition par Rhadamante le 25/04/08 12:28; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 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...)
Rédacteur de tuto #3 (Quantité : 1) Profet (Quantité : 1)

MessagePosté le: 25/04/08 10:18    Sujet du message: Citer

Plusieurs choses peuvent être changées, comme utiliser les natives plutot que les BJ, par exemple ici mais il y en a beaucoup^^
Jass:
    call SetUnitAbilityLevel( i, brasseur, 'A004' )


Il faut également nullifier la variable fx car tu supprimes l'objet.
Jass:
    call DestroyEffect( fx )
    set fx = null
endfunction

_________________

Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70%
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Créateur de race (Quantité : 1)

MessagePosté le: 25/04/08 11:18    Sujet du message: Citer

Donc si j'ai bien compris, pour commencer, je peux remplacer ces deux trucs :
Jass:
    call SetUnitAbilityLevelSwapped( 'A004', brasseur, i )
// et
    call DestroyEffectBJ( fx )

par ce que tu as écris.

Et c'est quoi la différence entre :
Jass:
    call SetUnitAbilityLevelSwapped( 'A004', brasseur, i )
// et
    call SetUnitAbilityLevel( i, brasseur, 'A004' )


Merci de m'aider, j'espère que je vous saoule pas Rolling Eyes
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Créateur de race (Quantité : 1) Grand décorateur (Quantité : 2)

MessagePosté le: 25/04/08 11:30    Sujet du message: Citer

Une nouvelle version, pour voir si j'ai mieux compris le truc :

Jass:
function Trig_Biere_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A001' ) ) then
        return false
    endif
    if ( not ( GetSpellTargetUnit() == GetSpellAbilityUnit() ) ) then
        return false
    endif
    if ( not ( GetUnitAbilityLevel( GetSpellTargetUnit(), 'A004') <= 0 ) ) then
        return false
    endif
    return true
endfunction

function Trig_Biere_Actions takes nothing returns nothing
    local unit brasseur
    local effect fx
    local integer i
    set brasseur = GetSpellAbilityUnit()
    set i = R2I(( I2R(GetHeroStr( brasseur, true)) * ( 0.25 + ( I2R(GetUnitAbilityLevel(brasseur, 'A001')) * 0.25 ) ) ))
    if i > 200 then
        set i = 200
    endif
    call TriggerSleepAction( 0.50 )
    call AddSpecialEffectTarget( "Abilities\\Spells\\Human\\InnerFire\\InnerFireTarget.mdl", brasseur, "overhead" )
    set fx = bj_lastCreatedEffect
    call UnitAddAbility( brasseur, 'A004' )
    call SetUnitAbilityLevel( brasseur, 'A004', i )
    call TriggerSleepAction( ( 8.70 + ( I2R(GetUnitAbilityLevel(brasseur, 'A001')) * 2.50 ) ) )
    call UnitRemoveAbility( brasseur, 'A004' )
    call TriggerSleepAction( 0.20 )
    call DestroyEffect( fx )
    set fx = null
endfunction

//===========================================================================
function InitTrig_Biere takes nothing returns nothing
    set gg_trg_Biere = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Biere, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Biere, Condition( function Trig_Biere_Conditions ) )
    call TriggerAddAction( gg_trg_Biere, function Trig_Biere_Actions )
endfunction



Si c'est bon, est-ce qu'il y a quand même moyen de mieux l'optimiser ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Darkfeyt
Floodeur prématuré


Inscrit le: 22 Nov 2007
Messages: 677
Sujets: 27
Spécialité en worldedit: Jamais sortir ses projets ?


MessagePosté le: 25/04/08 11:34    Sujet du message: Citer

Surement la condition je dirai , mais après je suis pas sur et certain que sa aide mais théoriquement si.

(Regarde comment c'est structuré tu comprendra)
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Créateur de race (Quantité : 1)

MessagePosté le: 25/04/08 11:44    Sujet du message: Citer

En faisant ça tu veux dire ?

Jass:
function Trig_Biere_Conditions takes nothing returns boolean
    if ( GetSpellAbilityId() != 'A001' ) and ( GetSpellTargetUnit() != GetSpellAbilityUnit() ) and ( GetUnitAbilityLevel( GetSpellTargetUnit(), 'A004') > 0 ) then
        return false
    endif
    return true
endfunction


Par contre j'ai un doute sur cette ligne...
Jass:
    set fx = bj_lastCreatedEffect

_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 25/04/08 12:01    Sujet du message: Citer

Oui bj_lastCreatedEffect est affecté par la fonction BJ.

Il faut que tu écrive:

Jass:
set fx = AddSpecialEffectTarget( "Abilities\\Spells\\Human\\InnerFire\\InnerFireTarget.mdl", brasseur, "overhead" )



Sinon j'aurais écrit cela:
Jass:
set i = R2I(( I2R(GetHeroStr( brasseur, true)) * ( 0.25 + ( I2R(GetUnitAbilityLevel(brasseur, 'A001')) * 0.25 ) ) ))


comme cela:
Jass:
set i = GetHeroStr( brasseur, true) * R2I( (1 + GetUnitAbilityLevel(brasseur, 'A001')) * 0.25 )

_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Créateur de race (Quantité : 1)

MessagePosté le: 25/04/08 12:06    Sujet du message: Citer

C'est bien ce qui me semblait. Vu que l'effet ne dsiparaissait pas je me suis dit que ça clochait, et j'ai regardé dans la function list (cette fonctionnalité est juste excellente) et j'ai vu ça :

Jass:
function AddSpecialEffectTargetUnitBJ takes string attachPointName, widget targetWidget, string modelName returns effect
    set bj_lastCreatedEffect = AddSpecialEffectTarget(modelName, targetWidget, attachPointName)
    return bj_lastCreatedEffect
endfunction


J'allais justement essayé de mettre la solution que tu m'as donné. Merci, merci, en fait le Jass n'est pas ce monstre que l'on décrit dans les livres pour enfants... Very Happy

Ayane a écrit:

Sinon j'aurais écrit cela:
Jass:
set i = R2I(( I2R(GetHeroStr( brasseur, true)) * ( 0.25 + ( I2R(GetUnitAbilityLevel(brasseur, 'A001')) * 0.25 ) ) ))


comme cela:
Jass:
set i = GetHeroStr( brasseur, true) * R2I( (1 + GetUnitAbilityLevel(brasseur, 'A001')) * 0.25 )


J'aime me compliquer la vie et oublier de factoriser Rolling Eyes

### Edit :

Jass:
set i = GetHeroStr( brasseur, true) * R2I( (1 + GetUnitAbilityLevel(brasseur, 'A001')) * 0.25 )


Ca ne fonctionne pas en fait. Au niveau 1 de la compétence ça me renvoie logiquement i == 0.
Avec le R2I() placé ailleurs ça refonctionne comme c'est censé le faire :

Jass:
set i = R2I(GetHeroStr( brasseur, true) * (1 + GetUnitAbilityLevel(brasseur, 'A001')) * 0.25 )



### Autre chose est-ce qu'il y a une différence entre :

Jass:
function Trig_Frappe_Conditions takes nothing returns boolean
    if GetSpellAbilityId() == 'A003' then
        return true
    endif
    return false
endfunction


et

Jass:
function Trig_Frappe_Conditions takes nothing returns boolean
    if GetSpellAbilityId() != 'A003' then
        return false
    endif
    return true
endfunction

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

MessagePosté le: 25/04/08 17:52    Sujet du message: Citer

Citation:
Ca ne fonctionne pas en fait. Au niveau 1 de la compétence ça me renvoie logiquement i == 0.

je vois pas en quoi c'est logique le R2I minimum reste égal à 1 même si le niveau de la compétence est 0.

Nan y'a pas de différence mais au lieu du if utilise directement le return :

Jass:
return GetSpellAbilityId() == 'A003'

_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Créateur de race (Quantité : 1) Grand décorateur (Quantité : 2)

MessagePosté le: 25/04/08 17:57    Sujet du message: Citer

Bon j'ai d'autres questions, j'espère que j'abuse pas :

Jass:
function Trig_Frappe_Func009A takes nothing returns nothing
    local unit brasseur
    set brasseur = GetSpellAbilityUnit()
    if ( GetEnumUnit() != brasseur ) then
        call UnitDamageTarget( brasseur, GetEnumUnit(), GetRandomReal(1.00, ( ( 2.00 + I2R(GetUnitAbilityLevel(brasseur, 'A003')) ) * I2R(GetHeroStr(brasseur, true)) )), true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FORCE, WEAPON_TYPE_WHOKNOWS )
    else
    endif
endfunction

function Trig_Frappe_Actions takes nothing returns nothing
    local location loc
    local unit brasseur
    local group g = CreateGroup()
    set loc = GetSpellTargetLoc()
    set brasseur = GetSpellAbilityUnit()
    call TriggerSleepAction( 0.30 )
    call GroupEnumUnitsInRangeOfLoc(g, loc, 200, null)
    call ForGroup( g, function Trig_Frappe_Func009A )
    call DestroyGroup( g )
    call RemoveLocation( loc )
endfunction


Les deux variables locales brasseur que j'utilise dans les deux fonctions, est-ce qu'elles renvoient bien à la même unité, si oui, est-ce que ça pose problème que je fasse ça ?

Quant à toutes mes actions avec les groupes dans la 2ème fonction, j'ai l'impression d'avoir fait du free-style Rolling Eyes , est-ce que c'est pas n'importe quoi ?

Je suis désolé de vous embêter mais comme je débute, et qu'il y a des sages du Jass en ces lieux, j'essaie de profiter de leurs connaissances. Embarassed

Troll-Brain a écrit:
je vois pas en quoi c'est logique le R2I minimum reste égal à 1 même si le niveau de la compétence est 0.


Ah bon ? Pourtant j'ai mis des textes à afficher : la variable i à deux stades différents et la partie R2I() et à chaque fois j'ai eu 0 comme résultat. Donc R2I(0,5) - c'est ce qu'on obtient si la compétence est au niveau 1 - donnera toujours 1 au minimum ? D'où venait le 0 que j'obtenais alors ?

Troll-Brain a écrit:
Nan y'a pas de différence mais au lieu du if utilise directement le return.


OK, merci du renseignement, je cours modifier ça immédiatement (en fait j'ai juste besoin de faire quelques clics... quel fainéant je fais Embarassed )
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 25/04/08 18:10    Sujet du message: Citer

Citation:
Je suis désolé de vous embêter mais comme je débute, et qu'il y a des sages du Jass en ces lieux, j'essaie de profiter de leurs connaissances. Embarassed

s'te flatteur, dommage que c'est trop pompeux je le rajouterais bien dans ma description , sage en jass Razz

oui ca renvoie la même unité mais pas à cause du même nom (osef une variable locale n'existe que dans sa fonction) tu peux donc avoir une variable locale brasseur dans chaque fonction si ca te chante.

Mais étant donné que le ForGroup est aprés le wait je te suggères d'utiliser une variable globale unité, puis tu utilises cette variable plutôt que le Get...

Mézofète pourquoi le wait ?

autant pour moi
Code:
R2I (1*0.25) == 0

_________________
Le violet, c'est moche.


Dernière édition par Troll-Brain le 25/04/08 18:21; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Créateur de race (Quantité : 1)

MessagePosté le: 25/04/08 18:20    Sujet du message: Citer

Troll-Brain a écrit:
s'te flatteur, dommage que c'est trop pompeux je le rajouterais bien dans ma description , sage en jass Razz


C'est justement à cause de la sonorité de sage en jass que je l'ai mis ça fait un peu palindrome phonétique ( Rolling Eyes )

Troll-Brain a écrit:
oui ca renvoie la même unité mais pas à cause du même nom (osef une variable locale n'existe que dans sa fonction) tu peux donc avoir une variable locale brasseur dans chaque fonction si ca te chante.


Je demandais pas ça à cause du nom, j'ai gardé le même nom parce que c'est plus pratique.

Troll-Brain a écrit:
Mais étant donné que le ForGroup est aprés le wait je te suggères d'utiliser una variable globale unité, puis tu utilises cette variable plutôt que le Get...


Ca risque pas de poser problème si sur ma carte, en même temps tous les autres joueurs utilisent le même sort au même moment (oui, je sais c'est un peu capillo-tracté mais on ne sait jamais) ?

Troll-Brain a écrit:
Mézofète pourquoi le wait ?


A cause du visuel du sort, les dommages arrivaient trop vite, c'est pas beau, surtout quand l'unité en crève.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 25/04/08 18:23    Sujet du message: Citer

non ca poserait problème uniquement si tu définissais ta variable globale avant le wait puis tu l'utilisais aprés celui ci.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rhadamante
Petit flooder


Inscrit le: 28 Aoû 2007
Messages: 1457
Sujets: 24
Spécialité en worldedit: Bêêh hé hé hé !
Médailles: 3 (En savoir plus...)
Grand décorateur (Quantité : 2) Créateur de race (Quantité : 1)

MessagePosté le: 25/04/08 18:37    Sujet du message: Citer

Rattrape-moi si je divague, est-ce que c'est ça que tu voudrais que je fasse ?

Jass:
function Trig_Frappe_Func009A takes nothing returns nothing
    local unit brasseur
    set brasseur = GetSpellAbilityUnit()
    set udg_Ut = GetEnumUnit()
    if ( udg_Ut != brasseur ) then
        call UnitDamageTarget( brasseur, udg_Ut, GetRandomReal(1.00, ( ( 2.00 + I2R(GetUnitAbilityLevel(brasseur, 'A003')) ) * I2R(GetHeroStr(brasseur, true)) )), true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FORCE, WEAPON_TYPE_WHOKNOWS )
    else
    endif
endfunction

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

MessagePosté le: 25/04/08 18:58    Sujet du message: Citer

tu divagues mon brave, plutôt ceci :

Jass:
function Trig_Frappe_Func009A takes nothing returns nothing

    if ( GetEnumUnit() != udg_brasseur ) then
        call UnitDamageTarget( udg_brasseur, GetEnumUnit(), GetRandomReal(1.00, ( ( 2.00 + I2R(GetUnitAbilityLevel(udg_brasseur, 'A003')) ) * I2R(GetHeroStr(udg_brasseur, true)) )), true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FORCE, WEAPON_TYPE_WHOKNOWS )
    else
    endif
endfunction

function Trig_Frappe_Actions takes nothing returns nothing
    local location loc = GetSpellTargetLoc()
    local unit brasseur = GetSpellAbilityUnit()
    local group g = CreateGroup()

    call TriggerSleepAction( 0.30 )
    set udg_brasseur=brasseur
    call GroupEnumUnitsInRangeOfLoc(g, loc, 200, null)
    call ForGroup( g, function Trig_Frappe_Func009A )
    call DestroyGroup( g )
    call RemoveLocation( loc )
endfunction


PS : sage en jass -> ssaj ne egas.
Nul palindrome même en sms style , sauf si tu bricoles avec les syllabes mais bon ca ressemble plus à rien Razz

PS2 : mets toi beaucoup au jass c'est mieux ^^

PS3 : en fait je vois pas l'utilité du groupe, vérifie plutôt si le caster est dans la bonne distance

PS4 : (l'année prochaine Question )
_________________
Le violet, c'est moche.
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
Aller à la page 1, 2, 3, 4, 5, 6  Suivante
Page 1 sur 6

 
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