Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.phpMé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

TriggerRemoveCondition
Aller à la page 1, 2  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
 Serial Bigouden
Membre actif


Inscrit le: 31 Oct 2007
Messages: 142
Sujets: 23
Spécialité en worldedit: Boarf


MessagePosté le: 11/11/07 20:13    Sujet du message: TriggerRemoveCondition Citer

Bonsouar à vous ^^

J'ai un petit problème avec un déclencheur qui se lance presque indéfiniment (les conditions font qu'il se lance indéfiniment dans 25% des cas ><), et j'aimerais donc tailler dans le vif, c'est à dire dans les conditions (pas trouvé d'autres moyens, si vous en avez un qui fonctionne sans gamecache et sans variable globale je suis preneur ^^"). J'aimerais donc virer la condition du trigger pour mettre à la place une fonction qui retourne toujours false, afin de stopper tout ça...

Mais j'ai du mal à savoir ce qu'il faut mettre comme argument dans la fonction TriggerRemoveCondition :s

Voici ce que j'ai fait (et qui ne marche pas)

Jass:
call TriggerRemoveCondition(GetTriggeringTrigger(), Condition(function TirSournois_Conditions2))
call TriggerAddCondition(GetTriggeringTrigger(), Condition(function TirSournois_Ending))


Quelqu'un aurait-il la solution ? ^^"
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 11/11/07 20:24    Sujet du message: Citer

Pourquoi tu ne désactives pas le déclencheur tout simplement ? Sa reviens au même que de mettre une condition toujours fausse mais c'est moins tordu ^^
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 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: 11/11/07 20:43    Sujet du message: Citer

le mieux serait quand même que tu nous montres ton trigger rebelle qui se lance indéfiniment.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Serial Bigouden
Membre actif


Inscrit le: 31 Oct 2007
Messages: 142
Sujets: 23
Spécialité en worldedit: Boarf


MessagePosté le: 11/11/07 20:48    Sujet du message: Citer

Donc voilà le fameux trigger ^^

Jass:
function TirSournois_Ending takes nothing returns boolean
    return false
endfunction

function TirSournois_Conditions2 takes nothing returns boolean
    local integer Chances = (R2I(GetHeroAgi(udg_Archer, true)/3))
    return (Chances < (GetRandomInt(1, 100) + 1)) and (GetEventDamageSource() == udg_Archer)
endfunction

function TirSournois_Conditions takes nothing returns boolean
    return (((GetUnitAbilityLevel(udg_Archer, 'A000') == 1) or (GetUnitAbilityLevel(udg_Archer, 'A008') == 1)) and (GetAttacker() == udg_Archer) and (udg_ATraitsDeFoudreOn == false) and (udg_AFlechesDeFlammesOn == false) and (udg_AFlechesDeGlaceOn == false) and (udg_AFlechesDePoisonOn == false))
endfunction

function TirSournois takes nothing returns nothing
    call UnitDamageTargetBJ(udg_Archer, GetAttackedUnitBJ(), GetEventDamage() * ((GetHeroAgi(udg_Archer, true)/10)-2), ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL)
    call CreateTextTagLocBJ( ( I2S(R2I(GetEventDamage() * ((GetHeroAgi(udg_Archer, true)/10)-1))) + "!" ), GetUnitLoc(udg_Archer), 0.00, 10, 100.00, 0.00, 0.00, 0.00 )
    call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false )
    call SetTextTagVelocityBJ( GetLastCreatedTextTag(), 96.00, 90 )
    call SetTextTagFadepointBJ( GetLastCreatedTextTag(), 2.00 )
    call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 4.00 )
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

function TirSournois_Run takes nothing returns nothing
    local trigger Trigger = null
    set Trigger = CreateTrigger()
    call TriggerRegisterUnitEvent(Trigger, GetAttackedUnitBJ(), EVENT_UNIT_DAMAGED)
    call TriggerAddCondition(Trigger, Condition(function TirSournois_Conditions2))
    call TriggerAddAction(Trigger, function TirSournois)
endfunction

//===========================================================================
function InitTrig_TirSournois takes nothing returns nothing
    set gg_trg_TirSournois = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_TirSournois, EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_TirSournois, Condition(function TirSournois_Conditions) )
    call TriggerAddAction( gg_trg_TirSournois, function TirSournois_Run )
endfunction


_________________
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: 11/11/07 20:56    Sujet du message: Citer

normal que ca te fasse une boucle infinie, tu enregistre l'event l'unité subit des dégâts et tu lui fait subir des dégâts Razz
s'il n'est censé se lancer qu'une seule fois tu peux le détruire en première ligne.
en effet détruire un trigger n'arrête pas son éxécution.
Même remarque pour le turn off.

PS :
Jass:
function GetAttackedUnitBJ takes nothing returns unit
    return GetTriggerUnit()
endfunction

_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 11/11/07 21:01    Sujet du message: Citer

Faut pas être sujet aux migraines pour lire tes déclencheurs xD

Juste comme ça, tu créer un déclencheur, mais ce déclencheur après tu t'atteins comment ? je ne vois ni variable ni gamecache qui te permettra de le pointer. En clair tu ne pourras plus jamais le modifier, donc si tu veux lui enlever ses conditions c'est mal parti.

EDIT : je suis tombé dans le même panneau de troll, tu détruis le déclencheur après les actions...
Attend je relis un peu mieux xD
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 11/11/07 21:03    Sujet du message: Citer

Je ne suis pas sur, mais en c'est le déclencheur principal qui se lance en boucle. Le fait d'infliger des dégâts a l'unité déclencheur peut être l'évenement "une unité est attaqué".
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Serial Bigouden
Membre actif


Inscrit le: 31 Oct 2007
Messages: 142
Sujets: 23
Spécialité en worldedit: Boarf


MessagePosté le: 11/11/07 21:05    Sujet du message: Citer

@Troll-Brain

Merci pour l'info j'avias jamais regardé de quoi était composée cette fonction ^^"

@[Master]

Euh GetTriggerinTrigger() ça marche pas ? ^^"
_________________
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: 11/11/07 21:05    Sujet du message: Citer

@Master : no comprendo, un panneau de Troll oho ?!

En fait y'aura un gros souci si l'attaque est annulée, ou si la valeur des variables globales changent
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Serial Bigouden
Membre actif


Inscrit le: 31 Oct 2007
Messages: 142
Sujets: 23
Spécialité en worldedit: Boarf


MessagePosté le: 11/11/07 21:08    Sujet du message: Citer

Non le trigger principal ne répond qu'à l'event "une unité est attaquée"

Sinon je pense remove le trigger secondaire dans le trigger principal après un certain temps, une fois que j'aurai calculé la fonction qui permet de déterminé quand l'unité est sensée subir des dégats, mais pour l'instant j'essaye juste de faire qu'il marche ><
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 11/11/07 21:08    Sujet du message: Citer

Serial Bigouden a écrit:
@Troll-Brain

Merci pour l'info j'avias jamais regardé de quoi était composée cette fonction ^^"

@[Master]

Euh GetTriggerinTrigger() ça marche pas ? ^^"


Si mais le déclencheur sera recréer indéfiniment quand même.

Troll : Désolé trompé, même panneau que troll xD
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 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: 11/11/07 21:12    Sujet du message: Citer

euh normalement non si on le détruit à la première ligne, il continuera son éxécution mais ne se relancera pas avec les dommages subis, nan ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Serial Bigouden
Membre actif


Inscrit le: 31 Oct 2007
Messages: 142
Sujets: 23
Spécialité en worldedit: Boarf


MessagePosté le: 11/11/07 21:17    Sujet du message: Citer

beh en fait j'ai essayé et ça s'améliore mais c'ets toujours pas ça ^^"

En gros, au lieu de faire des coups critiques à 100k, le héros en fait à chaque coup, et parfois deux fois en même temps, quand au coup d'avant il n'en a pas fait Oo
_________________
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: 11/11/07 21:18    Sujet du message: Citer

les attaques ont été annulées ?
Si oui c'est normal, du moins à la conception de ton trigger
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Serial Bigouden
Membre actif


Inscrit le: 31 Oct 2007
Messages: 142
Sujets: 23
Spécialité en worldedit: Boarf


MessagePosté le: 11/11/07 21:19    Sujet du message: Citer

Non je fais des tests sur des paysans qui ne peuvent fuir avec 10k de vie et sans compétence particulière =/
_________________
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  Suivante
Page 1 sur 2

 
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