problem with if/else

Mezion

New Member
Reaction score
0
sorry this is a repost but my old one was very messy.

So i got this problem, I'm doing a spell with a LOT of if/else

the problem is, after the 28th one, the spell bug in editor and is disabled. I get this message error: Expected a reserved type or handle type. What does this mean?

I tried to replace all it was doing with only if and else, but it's still bugging at 29 and more. Is there a max? if yes, I'm sad :p
 

Avaleirra

Is back. Probably.
Reaction score
128
Could you show us our trigger please? We can't help that much without it :p
 

Slapshot136

Divide et impera
Reaction score
471
would it be possible to replace the if/else with a loop/array or something similar?
 

Wratox1

Member
Reaction score
22
sorry this is a repost but my old one was very messy.

So i got this problem, I'm doing a spell with a LOT of if/else

the problem is, after the 28th one, the spell bug in editor and is disabled. I get this message error: Expected a reserved type or handle type. What does this mean?

I tried to replace all it was doing with only if and else, but it's still bugging at 29 and more. Is there a max? if yes, I'm sad :p

actually there is a max, when i was a really noob i made some crappy trigger that had like 30 if/else, and the editor complained about it, i copied the trigger as text and tried to post it here, but it was over 5k characters long.. about 5800 i think, dont know why blizzard made a max limit for that, and i fixed it with some loops(didnt even know what a loop was then:D), but the solution really depends on your trigger..
 

Mezion

New Member
Reaction score
0
the trigger looks like this (I wont but it all, it's like you said, really long and bugs at 29/30)

Trigger:
  • Metronome H
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Metronome (H)
    • Actions
      • Set intMana[0] = (Integer((Mana of (Triggering unit))))
      • Set RandomNumber[1] = (Random integer number between 1 and 30)
      • Unit - Create 1 HeroDummy for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees
      • Hero - Set (Last created unit) Hero-level to (Hero level of (Triggering unit)), Hide level-up graphics
      • Hero - Modify Strength of (Last created unit): Set to (Strength of (Triggering unit) (Include bonuses))
      • Hero - Modify Intelligence of (Last created unit): Set to (Intelligence of (Triggering unit) (Include bonuses))
      • Hero - Modify Agility of (Last created unit): Set to (Agility of (Triggering unit) (Include bonuses))
      • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RandomNumber[1] Equal to 1
        • Then - Actions
          • Unit - Add Hypnosis (M) to (Last created unit)
          • Unit - Order (Last created unit) to Neutral - Firebolt (Target unit of ability being cast)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • RandomNumber[1] Equal to 2
            • Then - Actions
              • Unit - Add Leer (M) to (Last created unit)
              • Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Faerie Fire (Target unit of ability being cast)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RandomNumber[1] Equal to 3
                • Then - Actions
                  • Unit - Add Night Shade (M) to (Last created unit)
                  • Unit - Order (Last created unit) to Special Archimonde - Finger Of Death (Target unit of ability being cast)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • RandomNumber[1] Equal to 4
                    • Then - Actions
                      • Unit - Add Poison Sting (M) to (Last created unit)
                      • Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike (Target unit of ability being cast)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • RandomNumber[1] Equal to 5
                        • Then - Actions
                          • Unit - Add Psychock (M) to (Last created unit)
                          • Unit - Order (Last created unit) to Special Archimonde - Finger Of Death (Target unit of ability being cast)
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • RandomNumber[1] Equal to 6
                            • Then - Actions
                              • Unit - Add Shadow Ball (M) to (Last created unit)
                              • Unit - Order (Last created unit) to Neutral Alchemist - Acid Bomb (Target unit of ability being cast)
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • RandomNumber[1] Equal to 7
                                • Then - Actions
                                  • Unit - Add Spite (M) to (Last created unit)
                                  • Unit - Order (Last created unit) to Night Elf Demon Hunter - Mana Burn (Target unit of ability being cast)
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • RandomNumber[1] Equal to 8
                                    • Then - Actions
                                      • Unit - Add Teleport (M) to (Triggering unit)
                                      • Unit - Order (Triggering unit) to Night Elf Warden - Blink (Position of (Target unit of ability being cast))
                                      • Wait 1.50 seconds
                                      • Unit - Remove Teleport (M) from (Triggering unit)
                                    • Else - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • RandomNumber[1] Equal to 9
                                        • Then - Actions
                                          • Unit - Set mana of (Triggering unit) to ((Real(intMana[0])) + 50.00)
                                          • Unit - Add Barrier (M) to (Triggering unit)
                                          • Unit - Order (Triggering unit) to Undead Lich - Frost Armor (Triggering unit)
                                          • Wait 1.50 seconds
                                          • Unit - Remove Barrier (M) from (Triggering unit)
                                        • Else - Actions
                                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            • If - Conditions
                                              • RandomNumber[1] Equal to 10
                                            • Then - Actions
                                              • Unit - Add Acid (M) to (Last created unit)
                                              • Unit - Order (Last created unit) to Neutral Alchemist - Acid Bomb (Target unit of ability being cast)
                                            • Else - Actions
                                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                • If - Conditions
                                                  • RandomNumber[1] Equal to 11
                                                • Then - Actions
                                                  • Unit - Add Rock Throw (H) to (Last created unit)
                                                  • Unit - Set level of Rock Throw (H) for (Last created unit) to 5
                                                  • Unit - Order (Last created unit) to Neutral - Hurl Boulder (Target unit of ability being cast)
                                                • Else - Actions
                                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                    • If - Conditions
                                                      • RandomNumber[1] Equal to 12
                                                    • Then - Actions
                                                      • Unit - Set mana of (Triggering unit) to ((Real(intMana[0])) + 200.00)
                                                      • Unit - Add Ancient Power (M) to (Triggering unit)
                                                      • Unit - Order (Triggering unit) to Human Mountain King - Thunder Clap
                                                      • Wait 1.50 seconds
                                                      • Unit - Remove Ancient Power (M) from (Triggering unit)
                                                    • Else - Actions
                                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                        • If - Conditions
                                                          • RandomNumber[1] Equal to 13
                                                        • Then - Actions
                                                          • Unit - Set mana of (Triggering unit) to ((Real(intMana[0])) + 120.00)
                                                          • Unit - Add Blizzard (M) to (Triggering unit)
                                                          • Unit - Order (Triggering unit) to Human Archmage - Blizzard (Position of (Target unit of ability being cast))
                                                          • Wait 5.00 seconds
                                                          • Unit - Remove Blizzard (M) from (Triggering unit)
                                                        • Else - Actions
                                                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                            • If - Conditions
                                                              • RandomNumber[1] Equal to 14
                                                            • Then - Actions
                                                              • Unit - Add Discharge (M) to (Last created unit)
                                                              • Unit - Order (Last created unit) to Neutral Naga Sea Witch - Forked Lightning (Target unit of ability being cast)
                                                            • Else - Actions
                                                              • (etc.)
 

Wratox1

Member
Reaction score
22
i almost know a solution but the problem is that you cant(atleast what i know of) order a unit to cast/move/attack/etc an variable, if you could then i have a solution for you..
maybe if you move all those if/else so they are on their own, and by that i mean dont put the next one in the else action dont know if this work, but i think i should
 

Mezion

New Member
Reaction score
0
the funny part it's that I just pasted half of it

and, I estimate the final number of if to something near 100 <_<
 

Shura

New Member
Reaction score
45
Couldn't you do something along the lines of setting an ability variable array to store all the abilities, and then doing it all in one action, using Integer A?
 

Mezion

New Member
Reaction score
0
Couldn't you do something along the lines of setting an ability variable array to store all the abilities, and then doing it all in one action, using Integer A?

could you explain to me how that array works :) ?
 

Mezion

New Member
Reaction score
0
Ty for the array link! I,ll do that when I,ll have some time ahead since it will be long to rethink the way to cast those spells (since previously, some were casted by the caster and changed his mana so that the spell would actually be cast and others were casted by a dummy, etc.

For now I tried to line all if one under an other, not in a big vertical line. I must say the spell is: okay, he can be cast and some effect will happen like planned BUT, all the if after the 28th one are not taken in concideration. They will never happen. \___\ So ty, I,ll try to give some feedback after those array things.
 

canons200

New Member
Reaction score
50
store your unit as variable for both casting ability unit and target unit of ability being cast, and then order the variable to perform action, it should be working.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though

      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