Return Bug Used - How do I fix it?

Discussion in 'JASS Zone' started by Carl-Fredrik, Aug 5, 2009.

  1. Carl-Fredrik

    Carl-Fredrik New Member

    Ratings:
    +50 / 0 / -0
    Hi everyone! That might not've been the most accurate title but I didn't really know what to write, a mod is of course free to change it if he/she likes to.

    My map isn't playable since the latest patch.

    I think it's in this trigger (the H2I system):

    Code:
    library LHV
    
    globals
        private gamecache GameCache = InitGameCache("jasslocalvars.w3v")
    endglobals
    
    function H2I takes handle h returns integer
        return h
        return 0
    endfunction
    
    function SetHandleInt takes handle subject, string name, integer value returns nothing
        if value==0 then
            call FlushStoredInteger(GameCache, I2S(H2I(subject)), name)
        else
            call StoreInteger(GameCache, I2S(H2I(subject)), name, value)
        endif
    endfunction
    
    function GetHandleInt takes handle subject, string name returns integer
        return GetStoredInteger(GameCache, I2S(H2I(subject)), name)
    endfunction
    
    function FlushHandleLocals takes handle subject returns nothing
        call FlushStoredMission(GameCache, I2S(H2I(subject)) )
    endfunction
    
    endlibrary
    

    Could some nice person take a look and fix it so that it'll be playable in 1.24?? And write down what you changed so that if I find more examples I'll be able to fix them myself?

    Thanks in advance!

    // Carl-Fredrik



    Edit: Problem solved with saw792's help.
     
  2. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Looks fine to me at a decent glance.
     
    • Like Like x 1
  3. Carl-Fredrik

    Carl-Fredrik New Member

    Ratings:
    +50 / 0 / -0
    Now I've examined the map closer and found the trigger that's responsible. It's the well knows H2I. I don't know how to fix it though... :eek:

    Editing in my first post.
     
  4. Danis[h]

    Danis[h] New Member

    Ratings:
    +19 / 0 / -0
    Didn't the latest patch note state that you can no longer use the return bug as this was fixed? That would explain why it no longer works
     
  5. saw792

    saw792 Is known to say things. That is all.

    Ratings:
    +280 / 0 / -0
    Proper way of fixing:
    JASS:
    function H2I takes handle h returns integer
      return GetHandleId(h)
    endfunction

    Improper way of fixing:
    JASS:
    function H2I takes handle h returns integer
      return h
      call DoNothing()
      return 0
    endfunction
     
  6. Carl-Fredrik

    Carl-Fredrik New Member

    Ratings:
    +50 / 0 / -0
    Accidently double posted when I meant to edit. Sorry.
     
  7. Carl-Fredrik

    Carl-Fredrik New Member

    Ratings:
    +50 / 0 / -0
    So I'll try replacing

    [/jass]
    Improper way of fixing:
    JASS:
    function H2I takes handle h returns integer
      return h
      return 0
    endfunction


    with

    JASS:
    function H2I takes handle h returns integer
      return GetHandleId(h)
    endfunction



    Edit: Problem solved with your help saw :) Thanks a lot! +Rep
     
  8. Frozenhelfir

    Frozenhelfir set Gwypaas = Guhveepaws

    Ratings:
    +56 / 0 / -0
    Improper way of doing it:

    JASS:
    function H2I takes handle h returns integer
        return GetHandleId(h)
    endfunction
    
    function FlushHandleLocals takes handle subject returns nothing
        call FlushStoredMission(GameCache, I2S(H2I(subject)) )
    endfunction


    Proper way of doing it:

    JASS:
    function FlushHandleLocals takes handle subject returns nothing
        call FlushStoredMission(GameCache, I2S(GetHandleId(subject)) )
    endfunction


    Blizzard has already stated that they intend to make a function named H2I for who knows what reason. I doubt you want to go through this process twice :p If you have newgen just put H2I on find/replace with GetHandleId
     
  9. Rainther

    Rainther I guess I should write something of value here...

    Ratings:
    +61 / 0 / -0
    What do I need to get in order to let my jasshelper accept GetHandleId when I save it? I have NewGen vD, JassHelper vI.2 and Warcraft 1.21b.
     
  10. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
  11. Rainther

    Rainther I guess I should write something of value here...

    Ratings:
    +61 / 0 / -0
    Didn't that stack bad with Jass NewGen?

    I can't manage to redirect my world editor : |

    It still opens version 1.21b even though I redirected Warcraft 3 in regedit, and I tried removeing Griomoire in regedit in hope that'd show up again upon reinstall, but it's gone permanently it seems.
     
  12. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0

Share This Page