Template Jumping Spell Template v3

Discussion in 'Spells' started by emjlr3, Nov 25, 2007.

  1. emjlr3

    emjlr3 Change can be a good thing Staff Member

    Ratings:
    +396 / 0 / -0
    its not a problem
     
  2. emjlr3

    emjlr3 Change can be a good thing Staff Member

    Ratings:
    +396 / 0 / -0
    major, heavy duty updates, check it out!!!
     
  3. emjlr3

    emjlr3 Change can be a good thing Staff Member

    Ratings:
    +396 / 0 / -0
  4. Tholdalf

    Tholdalf New Member

    Ratings:
    +2 / 0 / -0
    This system is just so great 5/5 :thup:. Think i will use it for a hero in my map :D
     
  5. emjlr3

    emjlr3 Change can be a good thing Staff Member

    Ratings:
    +396 / 0 / -0
    ty!
     
  6. thevoden

    thevoden New Member

    Ratings:
    +5 / 0 / -0
    I tried it in my map and copied the triggers and its giving me an error when I saved it. I'm using the regular WE. Does this require newgen jass or something?
     
  7. PureOwnage

    PureOwnage Minecraft Server OP, Inactive.

    Ratings:
    +73 / 0 / -0
    Yes, this needs NewGen to compile this code so Warcraft can understand it.
     
  8. thevoden

    thevoden New Member

    Ratings:
    +5 / 0 / -0
    Is there a newgen for the 1.22 patch?
     
  9. PureOwnage

    PureOwnage Minecraft Server OP, Inactive.

    Ratings:
    +73 / 0 / -0
    Well, I checked around and I didn't find anything.
     
  10. Kitt

    Kitt New Member

    Ratings:
    +5 / 0 / -0
    I seem to be having problems with this code. It will work the first time a jump is used, but after that, the unit casts his animation (but without jumping), and then gets frozen in the spot - unable to move or do anything. If the unit dies, it does not "reset" the error. In other words, he will freeze on every other trigger after the first one of the whole game.

    The only edits I made to the code were to adapt it for triggering on attack, rather than one casting of a spell. Here is my trigger code:
    JASS:
    Jump Test
        Events
            Unit - A unit Is attacked
        Conditions
            (Unit-type of (Attacking unit)) Equal to Scargil (ranged)
        Actions
            Custom script:   call JST_Cast(GetAttacker(),100.,200.,100.,"attack - 1","Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl")

    and here is the line I changed in the jump code:
    JASS:
    set d = dat.create()       
        set ux = GetUnitX(u)
        set uy = GetUnitY(u)   
        set l = GetUnitLoc(GetAttackedUnitBJ())   // <--- Changed this.
        set ang = Atan2((GetLocationY(l)-uy),(GetLocationX(l)-ux))
        set x = GetLocationX(l) - diff * Cos(ang)
        set y = GetLocationY(l) - diff * Sin(ang)


    Any ideas?

    Edit: And now the error has magically stopped... I'm not quite sure what changed. It bothers me though - Will it crop up again? I'll look into it, and if anything new arises, I'll update.

    Edit2: I seem to have figured out what the error is. The functions doesn't like to be called while it's already running. Doing so really screws things up. As far as I can tell, units are still able to take actions while they're "jumping", and so the unit was attacking while in mid flight, and activating the jump a second time. The reason it "fixed itself" for me was that I was using a condition so that the unit wouldn't jump when it was within 300 range of the attacking unit (looks a little dumb to be jumping when you're that close). In other words, the trigger wasn't activating twice because by the time he would attack again (his attack cooldown was up) he would be too close. I'm guessing this never manifested before because no one was casting the skill (or couldn't) while in flight. I've been reading over the code, to try and add a quick variable check to stop it from running more than one instance of the function at a time, but I can't quite seem to get it to work right. Perhaps someone who knows the code better has any ideas?
     
  11. Kitt

    Kitt New Member

    Ratings:
    +5 / 0 / -0
    Sorry for the double post, but I felt the two comments were different enough to warrant separate posts.

    Is there some way to speed up the total travel time on the leap?

    For example, if the unit is far away, the traveling works well; however if the unit is nearby, the casting unit jump slowly, dramatically, and unrealistically. Being able to speed the jump up based on how far the unit is would make things look more realistic (quicker jump for closer units.)

    How would I go about doing this?
     
  12. Kenny

    Kenny Back for now.

    Ratings:
    +202 / 0 / -0
    This just caught me eye, as it is something that has bothered me for a while, however there is no sure way of changing it (as far as i know). You could fiddle with the "Runs" and "HalfRuns" globals at the top of the script, this would change the overall speed. However it will also make it faster for a longer distance as well. So once you get the right speed up close it will be faster then wanted for further distances.

    I am working on a jump system that has a user defined time for the jump, to combat this problem. It was only going to be for personal use put if people find it useful i may post it up. :)

    @ Emjlr3:

    On the subject of this spell/Template. In this part of the spell:

    JASS:
    if u==null or damage<0. or area<0. then
            if GetLocalPlayer()==GetOwningPlayer(u) then
                call ClearTextMessages()
                call BJDebugMsg("|c00FF0000JST Error: Invalid inputs in function Cast.")
                call StartSound(S)
            endif
            return false
        endif


    If u is null and then you are seeing if GetLocalPlayer() == GetOwningPlayer(u), what is u referring to?

    Also, as i am making my own spell, i was hoping you could lend of hand. It seems as though when i get my testing unit to cast the spell, it still has its casting orders after the spell is finished so it will continually cast it over and over. Did you encounter something like this and would you know how to fix it? Maybe it is just my testing unit though... ill keep trying.
     
  13. emjlr3

    emjlr3 Change can be a good thing Staff Member

    Ratings:
    +396 / 0 / -0
    try using setunitx/y
     
  14. Silencer

    Silencer New Member

    Ratings:
    +0 / 0 / -0
    I cant use it, do i need vJass ? Is vJass also available without the JNGP?

    Here is the error message (care! my worldedit is in german)

    Maybe the Problem is the importing of the spell. Or the problem is that i dont understand JASS :(
     

    Attached Files:

  15. emjlr3

    emjlr3 Change can be a good thing Staff Member

    Ratings:
    +396 / 0 / -0
    needs a vJASS syntax compiler, yes

    to help with the too slow issue - updating the jumpers location by a set distance/interval would solve this, rather then I have it now, where every jump takes X seconds - its an easy fix for someone who knows what they are doing
     
  16. Charapanga

    Charapanga New Member

    Ratings:
    +46 / 0 / -0
    where can i get A vJASS Preprocessor? Does NewGen Have it?
     
  17. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    Yes.
    Newgen is the the easiest to use (And one of the only) ones.
     
  18. CaptDeath

    CaptDeath New Member

    Ratings:
    +103 / 0 / -0
    idk if this has been asked but can it be put in as a custom text trigger?
     
  19. emjlr3

    emjlr3 Change can be a good thing Staff Member

    Ratings:
    +396 / 0 / -0
    err wtf else would you do with it?
     
  20. CaptDeath

    CaptDeath New Member

    Ratings:
    +103 / 0 / -0
    it gives me alot of syntax errors is that ok?
     

Share This Page