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

[vJass] Static Method

 
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
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 06/07/11 14:44    Sujet du message: [vJass] Static Method Citer

J'ai un problème :\ je voudrais utiliser une fonction externe a ma static method mais cela est impossible comment contourner ce problème ?

Secret:

Jass:
scope SunRadiationBuff
//===========================================================================
//* BUFF
//===========================================================================
   
struct Buff_SR extends IJBuff
    ////////////////////////////////////////////////////
   
        static method UsedSlot takes widget caster returns string
            return "Holy"
        endmethod
       
        method GetPriority takes nothing returns integer
            return 1
        endmethod
       
    ////////////////////////////////////////////////////
   
     static method GrpConditions takes nothing returns boolean
            if ( not ( IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false ) ) then
                return false
                endif
            if ( not ( IsUnitAliveBJ(GetFilterUnit()) == true ) ) then
                return false
                endif
            if ( not ( IsUnitType(GetFilterUnit(), UNIT_TYPE_MAGIC_IMMUNE) == false ) ) then
                return false
                endif
            if ( not ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false ) ) then
                return false
                endif
                return true
        endmethod

    static method All_Conditions takes nothing returns boolean
            if not ( GrpConditions() ) then
              return false
              endif
                return true
        endmethod
       
   
   
    ////////////////////////////////////////////////////
       
        private effect eff
        private group grp
   
        method OnStart takes nothing returns nothing
            call .SetTimeout(5.)
        endmethod
       
        method ApplyEffect takes nothing returns nothing
            call UnitAddAbilityBJ( 'A01Q', GetOwner() )
        endmethod
       
        method RemoveEffect takes nothing returns nothing
            call UnitRemoveAbilityBJ( 'A01Q', GetOwner() )
            call DestroyEffect(eff)
        endmethod
       
       static method DealDmg takes nothing returns nothing
            local real dmg = 10.
            call UnitDamageTargetBJ( GetCaster(), GetEnumUnit(), dmg, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL )
       endmethod
           
        method OnTick takes nothing returns nothing
            set eff = AddSpecialEffectTarget("war3mapImported\\TheHolyBomb.mdx", GetOwner(), "chest")
            set grp = GetUnitsInRangeOfLocMatching(250.00, GetUnitLoc(GetOwner()), Condition( function Buff_SR.All_Conditions))
            call ForGroupBJ( grp, function Buff_SR.DealDmg )
            call Remove()
        endmethod
       
       
   
    ////////////////////////////////////////////////////
    implement JBuffModule
endstruct
endscope


_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 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: 06/07/11 16:55    Sujet du message: Citer

Déplacé dans la section déclencheurs, dans le forum jass on ne poste que des fonctions qui ... fonctionnent (répétitif mais néanmoins approprié)
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 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: 06/07/11 17:08    Sujet du message: Citer

Double post.

Essaye ceci :

if not ( thistype.GrpConditions() ) then ou équivalent :
if not ( Buff_SR.GrpConditions() ) then
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 07/07/11 11:04    Sujet du message: Citer

Non en fait la method static que je parle est DealDmg, et la var' ( ici j'utilise une fonction pour la trouver mais comme c'est une static:/ ) que je veux ajouter est : GetCaster()
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 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: 07/07/11 11:20    Sujet du message: Citer

Wareditor a écrit:
Non en fait la method static que je parle est DealDmg, et la var' ( ici j'utilise une fonction pour la trouver mais comme c'est une static:/ ) que je veux ajouter est : GetCaster()


Mais lol c'est dingue ce que les gens croient que la divination est une science que l'on applique tous les jours, soit clair dés le début ...

Que cela soit une static ou non y'a aucun problème pour appeler une method, mais ca vient d'où GetCaster ?
Et je ne suis pas certain de comprendre ce que tu veux dire.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 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: 07/07/11 11:46    Sujet du message: Citer

Il peut y avoir davantage de problèmes si la méthode est privée.
_________________
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: 07/07/11 11:55    Sujet du message: Citer

Tout à fait, mais cela na rien à avoir avec l'attribut static ou non (à ne pas cofondre avec le C, ou le mot clef static équivaut en partie au private du vJass.)
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 07/07/11 12:16    Sujet du message: Citer

Mon probleme est que dans la methode DealDmg je ne peux pas call des fonctions ( GetCaster() est une fonction qui me return une unite ) je n'arrive meme pas a accède aux variables.

Peut etre je comprends mal les methods ( c'est certainement le cas ), si quelqun aurait la gentillesse de me dire leurs proprietes Smile, je pourrai trouver une solution ou au moin vous faire comprendre mon probleme Very Happy
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 07/07/11 12:31    Sujet du message: Citer

Mais GetCaster est une static method de IJBuff? Il faudrait peut-être nous montrer ce qui a un rapport avec ton problème....

Si c'est vraiment une method (publique) de IJBuff, il faut mettre un point... C'est pas facile de deviner ce que tu as copié/collé et ce que tu as vraiment compris dans ce code.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 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: 07/07/11 19:26    Sujet du message: Citer

Consulte sa boule de cristal

Je vois, je vois ...

Un problème non résolu si l'auteur de ce topic ne cesse de croire en nos facultés de divination.
_________________
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
Page 1 sur 1

 
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