• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] Trigger help defining with bounty of creeps for extra levels for the map Legion TD 3.42 unprotected

Status
Not open for further replies.
Level 4
Joined
Nov 19, 2010
Messages
54
Hello,

I need some help with some triggers with Legion TD 3.42 unprotected.

I have edited the Legion TD 3.42 unprotected map that I have downloaded (great map as most knows !) but my brother and i and a few friends play this map almost every week on lan and i found the unprotected one and we want to edit it for us to play since we mostly play together to add a few more levels and for the king's attack, hitpoints etc. as well.

I have previous experience with maps and triggers and variables and such ( made several TD's and also arena battles in the past ) but i recently started again with WC3 reforged and it has been a while but i am able to edit most things so far except this "bounty" issue, I have looked over 3 times already and i really cannot seem to find it and i think i have everything correct

I have added like 10 extra levels to play after the "original" 30 levels that are in Legion TD so far.
This is the Creep properties:

  • Setup Creep Properties
    • Events
    • Conditions
    • Actions
      • -------- =================== Misc =================== --------
      • Set VariableSet MaxLevel_Integer = 41
      • -------- =================== Armor Types =================== --------
      • Set VariableSet LevelArmor_String[1] = |cffEEBC86Light|r armor
      • Set VariableSet LevelArmor_String[2] = |cffFF8000Medium|r armor
      • Set VariableSet LevelArmor_String[3] = |cff408040Heavy|r armor
      • Set VariableSet LevelArmor_String[4] = |cff773C00Fortified|r armor
      • Set VariableSet LevelArmor_String[5] = |cffCCCCCCUnarmored|r armor
      • -------- =================== Attack Types =================== --------
      • Set VariableSet LevelAttack_String[1] = |cffFFFF48Piercing|r attack
      • Set VariableSet LevelAttack_String[2] = |cff8080FFNormal|r attack
      • Set VariableSet LevelAttack_String[3] = |cffFF80FFMagic|r attack
      • Set VariableSet LevelAttack_String[4] = |cffA0A0A0Siege|r attack
      • Set VariableSet LevelAttack_String[5] = |cff970000Chaos|r attack
      • -------- =================== Attack Type Lists =================== --------
      • Set VariableSet ATKPierceList = ,01,04,7,12,19,21,25,33,37
      • Set VariableSet ATKNormalList = ,02,03,09,14,15,23,26,27,31,32,38
      • Set VariableSet ATKMagicList = ,05,08,13,16,18,24,29,39
      • Set VariableSet ATKSiegeList = ,06,11,17,22,28,35
      • Set VariableSet ATKChaosList = ,10,20,30,31,34,36,41
      • -------- ===================Defense Type Lists =================== --------
      • Set VariableSet DEFLightList = ,05,07,10,13,16,19,21,25,31,33
      • Set VariableSet DEFMediumList = ,03,08,12,14,18,24,27,32,35
      • Set VariableSet DEFHeavyList = ,04,09,15,20,23,26,29,34,36
      • Set VariableSet DEFFortifiedList = ,06,11,17,22,28,30,37,38,39
      • Set VariableSet DEFUnarmoredList = ,01,02
      • Set VariableSet AirList = ,05,13,21,29,35
      • Set VariableSet BossList = ,10,20,30,40
      • Set VariableSet RangeList = ,04,08,12,16,20,24,28,29,33,37
      • Set VariableSet LevelBountyList = ,3,3,4,5,5,5,6,6,5,51,5,6,7,12,9,8,10,8,10,86,10,9,11,11,9,12,12,23,14,123,14,14,14,16,20,16,14,16,20,175
      • Set VariableSet LevelBountyList = ,3,3,4,5,5,5,6,6,5,51,5,6,7,12,9,8,10,8,10,86,10,9,11,11,9,12,12,23,14,123,14,14,14,16,20,16,14,16,20,175
      • -------- x1 spawn --------
      • Set VariableSet LevelWaveCountList = ,12,15,12,12,12,12,10,12,15,01,18,15,15,08,12,15,12,15,12,01,12,16,12,12,18,12,12,06,10,01,05
      • -------- X3 spawn --------
      • Set VariableSet LevelWaveCountList = ,36,45,36,36,36,36,30,36,45,03,54,45,45,24,36,45,36,45,36,03,36,48,36,36,45,36,36,18,30,03,15
      • Set VariableSet LevelWaveCountList = ,36,45,40,36,36,36,30,36,45,03,54,45,45,26,36,45,35,45,36,03,36,48,36,35,45,36,36,18,30,03,48,40,44,40,30,40,36,40,36,03,40
      • -------- =================== Time To Prepare, End Round Gold =================== --------
      • For each (Integer A) from 1 to MaxLevel_Integer, do (Actions)
        • Loop - Actions
          • -------- x1 spawn --------
          • Set VariableSet Level_TimeToPrepare[(Integer A)] = (35 + (Integer A))
          • Set VariableSet Level_EndRoundGold[(Integer A)] = (((5 x (Integer A)) / 3) + 12)
          • -------- Time to Prepare --------
          • Set VariableSet Level_TimeToPrepare[(Integer A)] = (40 + ((Integer A) / 2))
          • -------- Bonus Gold.... See Set UP Recommend Value --------
          • Set VariableSet Temp_Real = (Real((Integer A)))
          • Custom script: set udg_Temp_Real2 = ((((((udg_Temp_Real*udg_Temp_Real)*udg_Temp_Real)*0.01)+((udg_Temp_Real*udg_Temp_Real)*0.04))+udg_Temp_Real)+10)
          • Set VariableSet Level_EndRoundGold[(Integer A)] = (Integer(Temp_Real2))
      • For each (Integer A) from 1 to MaxLevel_Integer, do (Actions)
        • Loop - Actions
          • -------- Income Cap --------
          • Set VariableSet Temp_Real = (Real((Integer A)))
          • Custom script: set udg_Temp_Real2 = ((((((udg_Temp_Real*udg_Temp_Real)*udg_Temp_Real)*0.025)+((udg_Temp_Real*udg_Temp_Real)*0.05))+(udg_Temp_Real*4))+20)
          • Set VariableSet Level_Income_Cap[(Integer A)] = (Integer(Temp_Real2))
The above trigger is found under Setup Constants -> Setup Creep Properties

I see it displays 2x The variableset in the trigger above of "Levelbountylist" & "Levelwavecountlist" but 2 of those that was already disabled (diaabled function) when i opened the map!

They do spawn ( i have defined how many get spawned ) and information is displayed correctly except when the creep is killed i do not get any bounty.

The variable set of the units being spawned by "levelwavecountlist" do work but the variable set for "levelbounty list" after level 30 ( levelbounty count gold = 123 ) i have added 10 levels in total with 175 gold for the last boss but i do not get any bounty, i have copied the lvl 29 unit for my level 31 and higher units so the bounty is defined as the rest of the creeps being send.

All the units at the object editor at "Stats - Gold Bounty Award - Base" is set to 1 as with the rest of the units that are being send (number and slice per dice = 0 like the rest as well )

I have defined that level 41 is the max level ( the units spawn so that part works )
I have checked every trigger there is but all i could find was something defining the regions of "No bounty" for units when they enter in the "Middle" of Legion TD ( those who played know what i mean ) you will not get any bounty after a certain spot on the map ( it was defined until level 30 ) but that is not part of my issue what i am having.

I have also found a bounty array that is generated in the Generate Creep Properties trigger


  • Generate Creep Properties
    • Events
    • Conditions
    • Actions
      • -------- Generate Attack Type Arrays --------
      • Set VariableSet Temp_Integer = 0
      • For each (Integer A) from 1 to ((MaxLevel_Integer x 3) + 3), do (Actions)
        • Loop - Actions
          • Set VariableSet Temp_Integer = (Temp_Integer + 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(ATKPierceList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(ATKPierceList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelATKType_String[Temp_Integer2] = LevelAttack_String[1]
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(ATKNormalList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(ATKNormalList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelATKType_String[Temp_Integer2] = LevelAttack_String[2]
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(ATKMagicList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(ATKMagicList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelATKType_String[Temp_Integer2] = LevelAttack_String[3]
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(ATKSiegeList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(ATKSiegeList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelATKType_String[Temp_Integer2] = LevelAttack_String[4]
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(ATKChaosList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(ATKChaosList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelATKType_String[Temp_Integer2] = LevelAttack_String[5]
            • Else - Actions
      • -------- Generate Defense Type Arrays --------
      • Set VariableSet Temp_Integer = 0
      • For each (Integer A) from 1 to ((MaxLevel_Integer x 3) + 3), do (Actions)
        • Loop - Actions
          • Set VariableSet Temp_Integer = (Temp_Integer + 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(DEFLightList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(DEFLightList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelDEFType_String[Temp_Integer2] = LevelArmor_String[1]
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(DEFMediumList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(DEFMediumList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelDEFType_String[Temp_Integer2] = LevelArmor_String[2]
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(DEFHeavyList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(DEFHeavyList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelDEFType_String[Temp_Integer2] = LevelArmor_String[3]
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(DEFFortifiedList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(DEFFortifiedList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelDEFType_String[Temp_Integer2] = LevelArmor_String[4]
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(DEFUnarmoredList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer2 = (Integer((Substring(DEFUnarmoredList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelDEFType_String[Temp_Integer2] = LevelArmor_String[5]
            • Else - Actions
      • -------- Generate Wave Count Array --------
      • Set VariableSet Temp_Integer = 0
      • Set VariableSet Temp_Integer3 = 0
      • For each (Integer A) from 1 to ((MaxLevel_Integer x 3) + 3), do (Actions)
        • Loop - Actions
          • Set VariableSet Temp_Integer = (Temp_Integer + 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(LevelWaveCountList, Temp_Integer, Temp_Integer)) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer3 = (Temp_Integer3 + 1)
              • Set VariableSet Temp_Integer2 = (Integer((Substring(LevelWaveCountList, (Temp_Integer + 1), (Temp_Integer + 2)))))
              • Set VariableSet LevelWaveCount_Integer[Temp_Integer3] = Temp_Integer2
            • Else - Actions
      • -------- Generate Bounty Array --------
      • Set VariableSet Temp_Integer = 0
      • Set VariableSet Temp_Integer4 = 0
      • For each (Integer A) from 1 to (Length of LevelBountyList), do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring(LevelBountyList, (Integer A), (Integer A))) Equal to ,
            • Then - Actions
              • Set VariableSet Temp_Integer4 = (Temp_Integer4 + 1)
              • Set VariableSet Temp_Integer = (Integer A)
              • Set VariableSet Temp_Integer2 = 0
              • For each (Integer B) from ((Integer A) + 1) to (Length of LevelBountyList), do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Substring(LevelBountyList, (Integer B), (Integer B))) Equal to ,
                      • Temp_Integer2 Equal to 0
                    • Then - Actions
                      • Set VariableSet Temp_Integer2 = (Integer B)
                    • Else - Actions
              • Set VariableSet Temp_Integer3 = (Integer((Substring(LevelBountyList, (Temp_Integer + 1), (Temp_Integer2 - 1)))))
              • Set VariableSet LevelBounty_Integer[Temp_Integer4] = Temp_Integer3
            • Else - Actions
      • -------- Generate Descriptions --------
      • For each (Integer A) from 1 to (MaxLevel_Integer + 1), do (Actions)
        • Loop - Actions
          • Custom script: set udg_Temp_String = GetObjectName(udg_Level_UnitType[GetForLoopIndexA()])
          • Set VariableSet Temp_String2 = (|cffC0C0C0 (Value: |r|cffFFcc00 + (RecommendValue[(Integer A)] + |r|cffC0C0C0)|r))
          • Set VariableSet LevelDescript_String[(Integer A)] = ((((((|cffC0C0C0[|r |cffFFcc00L + (String((Integer A)))) + |r |cffC0C0C0]|r) + ) + Temp_String) + s) + ((|cffC0C0C0 --- (|r + LevelATKType_String[(Integer A)]) + (|cffC0C0C0, |r + (LevelDEFType_String[(Integer A)] + (|cffC0C0C0) --- |r + ((String(LevelWaveCo
          • Set VariableSet LevelDescript_String[(Integer A)] = ((((((|cffC0C0C0[|r |cffFFcc00L + (String((Integer A)))) + |r |cffC0C0C0]|r) + ) + Temp_String) + (s + Temp_String2)) + ((|cffC0C0C0 --- (|r + LevelATKType_String[(Integer A)]) + (|cffC0C0C0, |r + (LevelDEFType_String[(Integer A)] + (|cffC0C0C0) --- |r + ((S
The above trigger is found under Setup Constants -> Generate Creep Properties

I hope some one is able to help me out with this because i really tried looking well and good at triggers in which i thought maybe something is not defined yet for it but all i can find is that "Levelbountylist" that sets how much bounty you get per killed creep and nothing else i could find about it next to the max level variable and how many are being spawned that is in the same trigger and i see the "levelbountylist" is correct for the gold that gets awarded when we kill the creeps.

I have added the legion TD mega 3.41 unprotected map if any want wants to help and check it out.

Thanks in advance!
 

Attachments

  • Legion TD Mega 3.41 unprotect.w3x
    1.7 MB · Views: 27
Last edited:

Uncle

Warcraft Moderator
Level 63
Joined
Aug 10, 2018
Messages
6,456
Looks like you have 40 levels but you set MaxLevelInteger to 41. Also, only the most recent Setting of LevelBountyList and LevelWaveCountList will take precedence, you can delete the others.

I recommend displaying a Text Message of:
  • LevelBounty_Integer[Temp_Integer4]
In the Generate Creep Properties trigger.

Also, where is the trigger that grants you the bounty? I imagine it would be something like:
A unit dies -> Add LevelBounty_Integer[CurrentLevel] Gold to Owner of Killing unit.

Also, check the Array sizes in the Variable editor to make sure that the original creator didn't set any max sizes to 30.
 
Last edited:
Level 4
Joined
Nov 19, 2010
Messages
54
Thanks for the quick reply Uncle!

I did add the part for when a new round did start
  • LevelBounty_Integer[Temp_Integer4]
I see the Levelbountylist numbers coming by ( the first level was displayed correctly but the ones after did only keep showing 3 from the first level while they gave 4 gold already kept displaying number 3 while the gold bounty went up already much further.

I really thought it was in the Array when you mention it but i couldn't find anything at the variable editor that was defined max lvl 30/31

Then since you mentioned it about the trigger which grants the bounty and i overlooked those triggers again but i couldn't find anything
There is Jass now and i am not really familiar with that so i went and look and i found a "Creep Deaths JASS" Trigger

JASS:
//TESH.scrollpos=6
//TESH.alwaysfold=0

function Trig_Creep_Deaths_JASS_Conditions takes nothing returns boolean
    if (  GetOwningPlayer(GetTriggerUnit()) == Player(10)  ) then
        return true
    endif
    if ( GetOwningPlayer(GetTriggerUnit()) == Player(11) ) then
        return true
    endif
    return false
endfunction

function Trig_Creep_Deaths_JASS_Actions takes nothing returns nothing
    local unit d = GetTriggerUnit() // dying unit
    local unit k = GetKillingUnit() // killing unit
    local integer id = GetUnitUserData(k) // custom value of killing unit
    local integer b = 0 // bounty

    // if killed by unknow custom value, then do nothing
    if (  id == 0 or udg_Level_Integer >=41) then
        // remove corpse
        call GroupRemoveUnit(udg_Creeps_UnitGroup, d)
        call GroupRemoveUnit(udg_Summons_UnitGroup, d)
        call RemoveUnit( GetTriggerUnit() )
        call GroupRemoveUnit(udg_CreepsLeft[1], d)
        call GroupRemoveUnit(udg_CreepsLeft[2], d)
        return 
    endif
    
    // kill count +1
    set udg_PlayerKills_Integer[id] = udg_PlayerKills_Integer[id] +1
    set udg_TotalKill = udg_TotalKill+1
    
    // calculate Creep & Summon Bounty
    if ( IsUnitType(d, UNIT_TYPE_SUMMONED) == true  ) then
       set b = GetUnitLevel(d)
    else
       set b = udg_LevelBounty_Integer[udg_Level_Integer] 
    endif
    
    // if unit is leaked unit, Calcukate leak gold
    if ( GetUnitAbilityLevel(d, 'A07D') == 1  ) then
        set udg_LeaksCaught[GetUnitUserData(k)] = ( udg_LeaksCaught[id] + 1 )
        set b = R2I (I2R(b)*udg_Leaked_Bount_Perc[GetUnitUserData(d)])
     endif  
     
     // killed by Left King
     if ( k == gg_unit_h00K_0009 ) then
         // kill by left king, give gold to right king
         call SetPlayerState(Player(9), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(Player(9), PLAYER_STATE_RESOURCE_GOLD) + b)
         call SetPlayerState(Player(9), PLAYER_STATE_GOLD_GATHERED, GetPlayerState(Player(9), PLAYER_STATE_GOLD_GATHERED) + b)
     endif
     // killed by Right King
     if ( k == gg_unit_h00K_0006 ) then
         // kill by RIGHT king, give gold to LEFT king
         call SetPlayerState(Player(8), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(Player(8), PLAYER_STATE_RESOURCE_GOLD) + b)
         call SetPlayerState(Player(8), PLAYER_STATE_GOLD_GATHERED, GetPlayerState(Player(8), PLAYER_STATE_GOLD_GATHERED) + b)
     endif
     
     //call DisplayTimedTextToPlayer(Player(0), 0, 0, 30, "Bounty = "+I2S(b)+", ID="+I2S(id))
     // add bounty to player
     call SetPlayerState(Player(id-1), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(Player(id-1), PLAYER_STATE_RESOURCE_GOLD) + b)
     call SetPlayerState(Player(id-1), PLAYER_STATE_GOLD_GATHERED, GetPlayerState(Player(id-1), PLAYER_STATE_GOLD_GATHERED) + b)
     set udg_GoldFromKills[id] = ( udg_GoldFromKills[id] + b )
     set udg_TotalGold[id] = ( udg_TotalGold[id] + b )  
     
     // display gold (as text) above creep's head
     if (b >0) then
        call showUnitTextPlayer (d, "+" + I2S(b), 100.00, 77.00, 0.00, Player(id-1))
     endif 
     
     if ( udg_ModeHG == false  ) then
        call SetPlayerState(Player(9), PLAYER_STATE_RESOURCE_GOLD, 0)
        call SetPlayerState(Player(8), PLAYER_STATE_RESOURCE_GOLD, 0)
    endif   
     
    // fight start 
    if (udg_FightStart == false) then
        set udg_FightStart = true
    endif
    
    call GroupRemoveUnit(udg_Creeps_UnitGroup, d)
    call GroupRemoveUnit(udg_Summons_UnitGroup, d)
    call GroupRemoveUnit(udg_CreepsLeft[1], d)
    call GroupRemoveUnit(udg_CreepsLeft[2], d)
    
    call GroupRemoveUnit(udg_CreepSpawnPoint[GetUnitUserData(d)], d)
    call GroupRemoveUnit(udg_CreepSpawnMove[GetUnitUserData(d)], d)
    
    
    // instant remove corpse if it is 4v4
    //if ( CountPlayersInForceBJ(udg_IngamePlayers_PlayerGroup) == 8 ) then
    //    call RemoveUnit( GetTriggerUnit() )
    //    return
    //endif
    
    set d = null // dying unit
    set k = null // killing unit
    
    call PolledWait( 1.00 )
    call RemoveUnit( GetTriggerUnit() )
    
   
    
        // remove corpse
   
endfunction

//===========================================================================
function InitTrig_Creep_Deaths_JASS takes nothing returns nothing
    set gg_trg_Creep_Deaths_JASS = CreateTrigger(  )
    // player 11 & 12 die, killing unit is player 9 & 10.
    call TriggerRegisterPlayerUnitEvent(gg_trg_Creep_Deaths_JASS, Player(10), EVENT_PLAYER_UNIT_DEATH, null)
    call TriggerRegisterPlayerUnitEvent(gg_trg_Creep_Deaths_JASS, Player(11), EVENT_PLAYER_UNIT_DEATH, null)
    call TriggerAddCondition( gg_trg_Creep_Deaths_JASS, Condition( function Trig_Creep_Deaths_JASS_Conditions ) )
    call TriggerAddAction( gg_trg_Creep_Deaths_JASS, function Trig_Creep_Deaths_JASS_Actions )
endfunction

I saw level 31 was defined at: if ( id == 0 or udg_Level_Integer >=41) then so i changed it to level 41 now ( yeah 40 levels but i made 1 extra already until 41 )

Thanks for your help uncle!
 
Status
Not open for further replies.
Top