Unknow bug D:

Laiev

Hey Listen!!
Reaction score
188
well, the problem is... the spell don't work, the damage not happen and none debug msg show :banghead: also no syntax error.
JASS:
scope MegaPunch
globals
    private constant integer ABILID = 'A03G' //ability of hero
    private constant string  EFFECT = "Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl" //spawn effect
    private constant real    RADIUS = 400 //range of effect
endglobals

private function filter takes nothing returns boolean
    return IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true and GetFilterUnit() != GetSpellTargetUnit()
endfunction

private function Actions takes nothing returns nothing
    local unit    u = GetTriggerUnit()
    local unit    t = GetSpellTargetUnit()
    local unit    v
    local real    x = GetUnitX(t)
    local real    y = GetUnitY(t)
    local group   g = CreateGroup()
    local integer i = u:STR
    local real    d = I2R(i) * (GetUnitAbilityLevel(u, ABILID) * .2 )
    call BJDebugMsg("a")
    call Damage_Spell (u, t, (GetUnitAbilityLevel(u, ABILID) * 200) + 200 )
    call TextTag_UnitColor (t, I2S((GetUnitAbilityLevel(u, ABILID) * 200) + 200), 100, 20, 20, 100)
    call GroupEnumUnitsInRange (g, x, y, RADIUS, Filter(function filter))
    loop
        set v = FirstOfGroup(g)
        exitwhen v == null
        call BJDebugMsg("b")
        set x = GetUnitX(v)
        set y = GetUnitY(v)
        call DestroyEffect(AddSpecialEffect(EFFECT, x, y))
        call Damage_Spell (u, v, d)
        call TextTag_UnitColor (v, R2S(d), 100, 20, 20, 100)
        call GroupRemoveUnit(g, v)
        
    endloop
    call DestroyGroup(g)
    set u = null
    set t = null
    set g = null
    set v = null
endfunction

private function Condi takes nothing returns boolean
    if GetSpellAbilityId() == ABILID then
        call Actions()
        call BJDebugMsg("c")
    endif
    return false
endfunction

//===========================================================================
public function InitTrig takes nothing returns nothing
    local trigger t = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition(t, Condition(function Condi))
endfunction

endscope
 

tooltiperror

Super Moderator
Reaction score
231
You didn`t add the actions in the Init trigger.

Edit: [ljass]InitTrig[/ljass] should be private.

EditEdit: By the way, I noticed that you are using this by calling the actions, which is why there is no action in the Init. But, I have to warn you, that means that there is no triggering unit, which is why it is not working.
 

Laiev

Hey Listen!!
Reaction score
188
You didn`t add the actions in the Init trigger.

Edit: [ljass]InitTrig[/ljass] should be private.

not really, i got 2 more spell with this same formula and both work without problem, just this don't

EDIT: and the action is here

JASS:
private function Condi takes nothing returns boolean
    if GetSpellAbilityId() == ABILID then
        call Actions()
        call BJDebugMsg("c")
    endif
    return false
endfunction


but don't happen the debug too.
 

Laiev

Hey Listen!!
Reaction score
188
This ins't the problem, how i said, i use 2 more spell like this and all the others work without problem (using [ljass]GetTriggerUnit()[/ljass])

something with this, name of scope, or idk lol i really don't know what happen...

also NO debug (include condi debug) don't show
 

tooltiperror

Super Moderator
Reaction score
231
Then the condition is wrong? Check the rawcode..

Also, why do you return the boolean?
 

Laiev

Hey Listen!!
Reaction score
188
I have checked it about 5 times lol and i'm checking AGAIN :banghead::banghead::banghead::banghead:

EDIT: you mean, the filter?
 

tooltiperror

Super Moderator
Reaction score
231
Did you try adding in a BJDebugMsg that will tell you that the function has started?
 

tooltiperror

Super Moderator
Reaction score
231
Then you know that the condition is not being called at all.

Seriously, why not just use the normal way of doing things?
 

Laiev

Hey Listen!!
Reaction score
188
lol relax ><

the point is not that...

the point is.... i got TWO MORE SPELL..... BOTH use the same method to start..... like condi then call action inside condi....

BOTH work WITHOUT any problem...

WHYYYY this don't?

and yes, both use public function at the initrig and both are scope and both use the same things like globals, condis, etc etc etc :confused:
 

Laiev

Hey Listen!!
Reaction score
188
Using the normal way is just easier for everyone, and increases readability.

i don't need anything what vexorian say :p not offense..

and this spell is not for everyone is just to me, if i can understand what i do, it's ok :D

but well... over...

the problem is the name of trigger LOL (the trigger not the scope)

i hate scope... now will just use library lol

+rep for try to help me and for support me
 

tooltiperror

Super Moderator
Reaction score
231
The scope doesn`t have an initializer, did you try adding one?
 

tooltiperror

Super Moderator
Reaction score
231
Still, you never know when weird stuff comes up like that.
 

saw792

Is known to say things. That is all.
Reaction score
280
I don't think you get it Laiev. By leaving your InitTrig as a public function you require that the name of the trigger in the GUI pane be the same as your scope name. Which is stupid. That's pretty much the whole point of initialisers, to avoid ridiculous situations like that.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top