• 🏆 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!

Rising_Dusk's AbortSpell problem

Status
Not open for further replies.
Well, I already contacted him/her in wc3c, and he/she said that he is too busy to check it out.

Here is the link to it: Rising_Dusk's LastOrder and AbortSpell libraries

Okay, here is the trigger:
  • Thorns Casting Check
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
    • Actions
      • Set TempPoint = (Target point of ability being cast)
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Ability being cast) Equal to (==) Cave Thorns
          • Then - Actions
            • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (SURFACE <gen> contains (Triggering unit)) Equal to (==) True
              • Then - Actions
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • (SURFACE <gen> contains TempPoint) Equal to (==) True
                  • Then - Actions
                  • Else - Actions
                    • Custom script: call AbortSpell( GetTriggerUnit(), "You can't target this on the underground", "X")
              • Else - Actions
                • Custom script: call AbortSpell( GetTriggerUnit(), "You can't cast this while on the underground", "X")
          • Else - Actions
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Ability being cast) Equal to (==) Entangling Thorns
          • Then - Actions
            • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (UNDERGROUND <gen> contains (Triggering unit)) Equal to (==) True
              • Then - Actions
                • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • (UNDERGROUND <gen> contains TempPoint) Equal to (==) True
                  • Then - Actions
                  • Else - Actions
                    • Custom script: call AbortSpell( GetTriggerUnit(), "You can't target this on the surface", "Z")
              • Else - Actions
                • Custom script: call AbortSpell( GetTriggerUnit(), "You can't cast this while on the surface", "Z")
          • Else - Actions
      • Custom script: call RemoveLocation(udg_TempPoint)
The spell is based on the ingame spell called Channel, and there is a one second casting time.

Now for the problem, when I cast it for the first time (I tested the error), it's okay, it does what it need to do (the targeting image shown once more. But when I casted it again (still the error), it mysteriously loops.

Cast, error message show, targeting image show, then it automatically targeted itself, then error message again, targeting image, automatically targeted again, blaah blah blah.

Get what I mean? If not, just ask.
Thank you.

Your neighbor,
~supertoinkz
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
If it's a problem with Rising_Dusk's library then I would simply try using a different method. I don't really know what it is but all his work seems to have mysterious bugs in normal implementations - as if he didn't really test it he just coded it and submitted it.

I've had problems with his ArmorUtils library breaking his Intuitive Damage Detection System - not very intuitive that a library that is meant to be supported by IDDS directly breaks the functionality of it.
 
Status
Not open for further replies.
Top