OutdatedHP/MP Bars

Posts 1–15 of 28 · Page 1 of 2
HP/MP Bars
Edit: Updated code and pics for version 3.1.0



Warning: To use this, you need to know how to use RABCDAsm.

This is yet another take on showing player/enemy hp. As you can see from the pic, this draws bars below an enemy or player indicating their current health and, if it is a player, magic. The default settings are ones that I currently like and fit my goal of making bars that keeps conflicts with other graphic elements at a minimum. For those who want to add their own touch to the bars, I took some time to add configurable options (via RABCDAsm macro ability). I also made a "names to update" section so that it is easily updatable when future updates come out.

The code below is made for the current production client (3.1.0: AssembleeGameClient1351126858.swf). If you want it to work for another client, you'll have to do some work to update the names for that version.

Insert everything found in the code block below in com/company/assembleegameclient/objects/Character.class.asasm just after line 153. The spot looks like this:



Code:
;--------------------------------------------------------------------------------------------------
; Options
;--------------------------------------------------------------------------------------------------
;Color (colors are rbg values in decimal form)
#set barBackgroundColor             "5526612"
#set playerMagicBarColor            "49151"     
#set playerHealthBarColor           "255"       ;ignored if useDynamicColorOnHealthBars is set
#set enemyHealthBarColor            "16711680"  ;ignored if useDynamicColorOnHealthBars is set
#set useDynamicColorOnHealthBars    "1"         ;enables shifting color, from green to red, on health bars

;Bar Length Adjustments
#set resizeBarLengthByObjectSize    "1"         ;if set, resizedLength = ObjectSize * horizontalLength / 100
#set enforceMinimumBarLength        "0"         ;if set, horizontalLength can not be less than minimumBarLength
#set minimumBarLength               "20"				

;Players health bar position and dimensions
#set playerHealthVerticlePosition   "2"
#set playerHealthVerticleLength     "2"
#set playerHealthHorizontalLength   "20"

;Players magic bar position and dimensions
#set playerMagicVerticlePosition    "0"
#set playerMagicVerticleLength      "2"         ;set verticleLength to 0 to disable displaying of bar
#set playerMagicHorizontalLength    "20"

;Enemy health bar position and dimensions
#set enemyHealthVerticlePosition    "3"
#set enemyHealthVerticleLength      "3"
#set enemyHealthHorizontalLength    "20"

;Misc Options
#set enableShowingOfOwnPlayersBars  "1"
#set enableBarsInSafeZones          "0"         ;safe zones include: Nexus, Vault, and Guild Hall

;--------------------------------------------------------------------------------------------------
; Names to Update on new Updates
;--------------------------------------------------------------------------------------------------
#set nsCharacter "_-vz"             ;found in com/company/assembleegameclient/objects/Character.class.asasm [protectedns ProtectedNamespace("_-Name")]
#set spnsGameObject "_-01L"         ;found in com/company/assembleegameclient/objects/GameObject.class.asasm [protectedns ProtectedNamespace("_-Name")]
#set spnsBasicObject "_-SZ"         ;found in com/company/assembleegameclient/objects/BasicObject.class.asasm [protectedns ProtectedNamespace("_-Name")]
#set graphicUtils "_-0Ya"           ;is one of the classes found in com/company/util/ . File size about 30kb.
#set graphicUtilsCommands "_-JO"   ;is a parameter of the above class [trait const QName(PackageNamespace(""), "_-Name") slotid 2 type TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace(""), "int")>) end]
#set charPos "_-GK"                 ;found in com/company/assembleegameclient/objects/BasicObject.class.asasm [trait slot QName(PackageNamespace(""), "_-Name") type TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace(""), "Number")>) end]
#set charHealth "_-0bi"              ;found in com/company/assembleegameclient/objects/GameObject.class.asasm [trait slot QName(PackageNamespace(""), "_-Name") type QName(PackageNamespace(""), "int") value Integer(200) end]
#set charMaxHealth "_-0eH"           ;found in com/company/assembleegameclient/objects/GameObject.class.asasm [trait slot QName(PackageNamespace(""), "_-Name") type QName(PackageNamespace(""), "int") value Integer(200) end]
#set playerMana "_-eM"              ;found in com/company/assembleegameclient/objects/Player.class.asasm [trait slot QName(PackageNamespace(""), "_-Name") type QName(PackageNamespace(""), "Number") value Integer(0) end]
#set playerMaxMana "_-4q"           ;found in com/company/assembleegameclient/objects/Player.class.asasm [trait slot QName(PackageNamespace(""), "_-Name") type QName(PackageNamespace(""), "int") value Integer(200) end]
#set gameBoard "_-5q"               ;found in com/company/assembleegameclient/objects/GameObject.class.asasm as an argument to the draw function [param QName(PackageNamespace("com.company.assembleegameclient.map"), "_-Name")] 

;--------------------------------------------------------------------------------------------------
; Code (only serious hackers need veture beyond this point)
;--------------------------------------------------------------------------------------------------
  trait slot QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundFill") type TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace("flash.display"), "GraphicsSolidFill")>) value Null() end
  trait slot QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundFill") type TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace("flash.display"), "GraphicsSolidFill")>) value Null() end
  trait slot QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundPath") type TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace("flash.display"), "GraphicsPath")>) value Null() end
  trait slot QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundPath") type TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace("flash.display"), "GraphicsPath")>) value Null() end
  trait slot QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "HP_BAR") type QName(PackageNamespace(""), "int") value Integer(0) end
  trait slot QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "MP_BAR") type QName(PackageNamespace(""), "int") value Integer(1) end
  trait method QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "drawBar")
   method
    refid "com.company.assembleegameclient.objects:Character/drawBar"
    param TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace("flash.display"), "IGraphicsData")>)
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "int")
    returns QName(PackageNamespace(""), "void")
    body
     maxstack 10
     localcount 12
     initscopedepth 6
     maxscopedepth 7
     code
      getlocal0
      pushscope

      pushundefined
      coerce_a
      setlocal            11

      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundPath")
      pushnull
      ifne                L410_

      getlocal0
      getlex              Multiname("Vector", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject"), PackageNamespace("__AS3__.vec")])
      getlex              QName(PackageNamespace("flash.display"), "GraphicsSolidFill")
      applytype           1
      pushbyte            2
      pushtrue
      construct           2
      initproperty        QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundFill")

      getlocal0
      getlex              Multiname("Vector", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject"), PackageNamespace("__AS3__.vec")])
      getlex              QName(PackageNamespace("flash.display"), "GraphicsSolidFill")
      applytype           1
      pushbyte            2
      pushtrue
      construct           2
      initproperty        QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundFill")

      getlocal0
      getlex              Multiname("Vector", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject"), PackageNamespace("__AS3__.vec")])
      getlex              QName(PackageNamespace("flash.display"), "GraphicsPath")
      applytype           1
      pushbyte            2
      pushtrue
      construct           2
      initproperty        QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundPath")

      getlocal0
      getlex              Multiname("Vector", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject"), PackageNamespace("__AS3__.vec")])
      getlex              QName(PackageNamespace("flash.display"), "GraphicsPath")
      applytype           1
      pushbyte            2
      pushtrue
      construct           2
      initproperty        QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundPath")

L410_:
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundPath")
      getlocal            4
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      pushnull
      ifne                L850_

      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundFill")
      getlocal            4
      findpropstrict      QName(PackageNamespace("flash.display"), "GraphicsSolidFill")
      pushint             $barBackgroundColor
      constructprop       QName(PackageNamespace("flash.display"), "GraphicsSolidFill"), 1
      setproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])

      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundFill")
      getlocal            4
      findpropstrict      QName(PackageNamespace("flash.display"), "GraphicsSolidFill")
      getlocal            5
      constructprop       QName(PackageNamespace("flash.display"), "GraphicsSolidFill"), 1
      setproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])

      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundPath")
      getlocal            4
      findpropstrict      QName(PackageNamespace("flash.display"), "GraphicsPath")
      getlex              QName(PackageNamespace("com.company.util"), $"graphicUtils")
      getproperty         QName(PackageNamespace(""), $"graphicUtilsCommands")
      getlex              Multiname("Vector", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject"), PackageNamespace("__AS3__.vec")])
      getlex              QName(PackageNamespace(""), "Number")
      applytype           1
      construct           0
      constructprop       QName(PackageNamespace("flash.display"), "GraphicsPath"), 2
      setproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])

      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundPath")
      getlocal            4
      findpropstrict      QName(PackageNamespace("flash.display"), "GraphicsPath")
      getlex              QName(PackageNamespace("com.company.util"), $"graphicUtils")
      getproperty         QName(PackageNamespace(""), $"graphicUtilsCommands")
      getlex              Multiname("Vector", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject"), PackageNamespace("__AS3__.vec")])
      getlex              QName(PackageNamespace(""), "Number")
      applytype           1
      construct           0
      constructprop       QName(PackageNamespace("flash.display"), "GraphicsPath"), 2
      setproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])

L850_:
      findpropstrict      QName(PackageNamespace(""), "int")
      getlocal2
      getlocal3
      divide
      pushbyte            100
      multiply
      callproperty        QName(PackageNamespace(""), "int"), 1
      coerce_a
      setlocal            9

      getlocal            4
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "HP_BAR")
      equals
      dup
      iffalse             L1030_

      pop
      pushbyte            $useDynamicColorOnHealthBars
      convert_b
L1030_:
      iffalse             L1120_

      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundFill")
      getlocal            4
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal0
      getlocal            9
      callproperty        QName(PackageNamespace(""), "green2red"), 1
      setproperty         QName(PackageNamespace(""), "color")

L1120_:
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundPath")
      getlocal            4
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getproperty         QName(PackageNamespace(""), "data")
      coerce              TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace(""), "Number")>)
      dup
      setlocal            10

      pushbyte            0
      setproperty         QName(PackageNamespace(""), "length")

      getlocal            10
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            0
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            7
      subtract
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            1
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            6
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            0
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            7
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            1
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            6
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            0
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            7
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            1
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            6
      add
      getlocal            8
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            0
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            7
      subtract
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            1
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            6
      add
      getlocal            8
      add
      callpropvoid        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "push"), 8

      getlocal1
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundFill")
      getlocal            4
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      callpropvoid        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "push"), 1

      getlocal1
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "backgroundPath")
      getlocal            4
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      callpropvoid        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "push"), 1

      getlocal1
      getlex              QName(PackageNamespace("com.company.util"), $"graphicUtils")
      getproperty         QName(PackageNamespace(""), "END_FILL")
      callpropvoid        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "push"), 1

      getlocal            9
      pushbyte            0
      ifngt               L2720_

      getlocal            9
      pushbyte            100
      divide
      pushbyte            2
      multiply
      getlocal            7
      multiply
      coerce_a
      setlocal            11

      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundPath")
      getlocal            4
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getproperty         QName(PackageNamespace(""), "data")
      coerce              TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace(""), "Number")>)
      dup
      setlocal            10

      pushbyte            0
      setproperty         QName(PackageNamespace(""), "length")

      getlocal            10
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            0
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            7
      subtract
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            1
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            6
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            0
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            7
      subtract
      getlocal            11
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            1
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            6
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            0
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            7
      subtract
      getlocal            11
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            1
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            6
      add
      getlocal            8
      add
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            0
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            7
      subtract
      getlex              QName(PackageNamespace(""), $"charPos")
      pushbyte            1
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      getlocal            6
      add
      getlocal            8
      add
      callpropvoid        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "push"), 8

      getlocal1
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundFill")
      getlocal            4
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      callpropvoid        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "push"), 1

      getlocal1
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "foregroundPath")
      getlocal            4
      getproperty         MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"nsCharacter"), StaticProtectedNs($"nsCharacter"), StaticProtectedNs($"spnsGameObject"), StaticProtectedNs($"spnsBasicObject")])
      callpropvoid        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "push"), 1

      getlocal1
      getlex              QName(PackageNamespace("com.company.util"), $"graphicUtils")
      getproperty         QName(PackageNamespace(""), "END_FILL")
      callpropvoid        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "push"), 1

L2720_:
      returnvoid
     end ; code
    end ; body
   end ; method
  end ; trait
  trait method QName(PackageNamespace(""), "green2red")
   method
    refid "com.company.assembleegameclient.objects:Character/green2red"
    param QName(PackageNamespace(""), "int")
    returns QName(PackageNamespace(""), "int")
    body
     maxstack 5
     localcount 2
     initscopedepth 6
     maxscopedepth 7
     code
      getlocal0
      pushscope

      getlocal1
      pushbyte            50
      ifngt               L150_

      pushint             65280
      pushint             327680
      findpropstrict      QName(PackageNamespace(""), "int")
      pushbyte            100
      getlocal1
      subtract
      callproperty        QName(PackageNamespace(""), "int"), 1
      multiply
      add
      returnvalue

L150_:
      pushint             16776960
      pushshort           1280
      findpropstrict      QName(PackageNamespace(""), "int")
      pushbyte            50
      getlocal1
      subtract
      callproperty        QName(PackageNamespace(""), "int"), 1
      multiply
      subtract
      returnvalue
     end ; code
    end ; body
   end ; method
  end ; trait
  trait method QName(PackageNamespace(""), "safeZone")
   method
    refid "com.company.assembleegameclient.objects:Character/safeZone"
    returns QName(PackageNamespace(""), "Boolean")
    body
     maxstack 2
     localcount 1
     initscopedepth 6
     maxscopedepth 7
     code
      getlocal0
      pushscope

      getlex              QName(PackageNamespace(""), "map_")
      getproperty         QName(PackageNamespace(""), "name_")
      pushstring          "Nexus"
      equals
      dup
      iftrue              L130_

      pop
      getlex              QName(PackageNamespace(""), "map_")
      getproperty         QName(PackageNamespace(""), "name_")
      pushstring          "Vault"
      equals
L130_:
      dup
      iftrue              L200_

      pop
      getlex              QName(PackageNamespace(""), "map_")
      getproperty         QName(PackageNamespace(""), "name_")
      pushstring          "Guild Hall"
      equals
L200_:
      iffalse             L230_

      pushtrue
      returnvalue

L230_:
      pushfalse
      returnvalue
     end ; code
    end ; body
   end ; method
  end ; trait
  trait method QName(PackageNamespace(""), "barLength")
   method
    refid "com.company.assembleegameclient.objects:Character/barLength"
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "int")
    param QName(PackageNamespace(""), "Boolean")
    param QName(PackageNamespace(""), "Boolean")
    returns QName(PackageNamespace(""), "int")
    body
     maxstack 2
     localcount 7
     initscopedepth 6
     maxscopedepth 7
     code
      getlocal0
      pushscope

      pushundefined
      coerce_a
      setlocal            6

      getlocal            4
      iffalse             L270_

      getlocal3
      getlocal1
      multiply
      pushbyte            100
      divide
      coerce_a
      setlocal            6

      getlocal            5
      iffalse             L250_

      getlocal            6
      getlocal2
      ifngt               L220_

      getlocal            6
      convert_i
      jump                L240_

L220_:
      getlocal2
      convert_i
L240_:
      returnvalue

L250_:
      getlocal            6
      returnvalue

L270_:
      getlocal1
      returnvalue
     end ; code
    end ; body
   end ; method
  end ; trait
  trait method QName(PackageNamespace(""), "draw") flag OVERRIDE
   method
    refid "com.company.assembleegameclient.objects:Character/draw"
    param TypeName(QName(PackageNamespace("__AS3__.vec"), "Vector")<QName(PackageNamespace("flash.display"), "IGraphicsData")>)
    param QName(PackageNamespace("com.company.assembleegameclient.map"), $"gameBoard")
    param QName(PackageNamespace(""), "int")
    returns QName(PackageNamespace(""), "void")
    body
     maxstack 9
     localcount 9
     initscopedepth 6
     maxscopedepth 7
     code
      getlocal0
      pushscope

      pushnull
      coerce_s
      setlocal            4

      pushnull
      coerce              QName(PackageNamespace("com.company.assembleegameclient.objects"), "Player")
      setlocal            5

      pushundefined
      coerce_a
      setlocal            6

      pushundefined
      coerce_a
      setlocal            7

      pushundefined
      coerce_a
      setlocal            8

      getlocal0
      getlocal1
      getlocal2
      getlocal3
      callsupervoid       QName(PackageNamespace(""), "draw"), 3
      getlocal0
      callproperty        QName(PackageNamespace(""), "safeZone"), 0
      iffalse             DRAW:
      
      pushbyte            $enableBarsInSafeZones
      convert_b
      iffalse             L1130_
      
DRAW:
      findpropstrict      QName(PackageNamespace("flash.utils"), "getQualifiedClassName")
      getlocal0
      callproperty        QName(PackageNamespace("flash.utils"), "getQualifiedClassName"), 1
      coerce_s
      dup
      dup
      setlocal            4

      getproperty         QName(PackageNamespace(""), "length")
      pushbyte            6
      subtract
      callproperty        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "substr"), 1
      pushstring          "Player"
      ifne                L880_

      getlocal0
      getlex              QName(PackageNamespace("com.company.assembleegameclient.objects"), "Player")
      astypelate
      coerce              QName(PackageNamespace("com.company.assembleegameclient.objects"), "Player")
      setlocal            5

      getlocal0
      getlex              QName(PackageNamespace(""), "map_")
      getproperty         QName(PackageNamespace(""), "player_")
      ifne                DRAW_BARS
      
      pushbyte            $enableShowingOfOwnPlayersBars
      convert_b
      iftrue              DRAW_BARS
      
      returnvoid
      
DRAW_BARS:
      getlocal0
      pushbyte            $playerHealthHorizontalLength
      pushbyte            $minimumBarLength
      getlocal0
      getproperty         QName(PackageNamespace(""), "size_")
      pushbyte            $resizeBarLengthByObjectSize
      convert_b
      pushbyte            $enforceMinimumBarLength
      convert_b
      callproperty        QName(PackageNamespace(""), "barLength"), 5
      coerce_a
      setlocal            6

      getlocal0
      pushbyte            $playerMagicHorizontalLength
      pushbyte            $minimumBarLength
      getlocal0
      getproperty         QName(PackageNamespace(""), "size_")
      pushbyte            $resizeBarLengthByObjectSize
      convert_b
      pushbyte            $enforceMinimumBarLength
      convert_b
      callproperty        QName(PackageNamespace(""), "barLength"), 5
      coerce_a
      setlocal            7

      getlocal0
      getlocal1
      getlex              QName(PackageNamespace(""), $"charHealth")
      getlex              QName(PackageNamespace(""), $"charMaxHealth")
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "HP_BAR")
      pushint             $playerHealthBarColor
      pushint             $playerHealthVerticlePosition
      getlocal            6
      pushint             $playerHealthVerticleLength
      callpropvoid        QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "drawBar"), 8
	  
      getlocal0
      getlocal1
      getlocal            5
      getproperty         QName(PackageNamespace(""), $"playerMana")
      getlocal            5
      getproperty         QName(PackageNamespace(""), $"playerMaxMana")
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "MP_BAR")
      pushint             $playerMagicBarColor
      pushint             $playerMagicVerticlePosition
      getlocal            7
      pushint             $playerMagicVerticleLength
      callpropvoid        QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "drawBar"), 8

      returnvoid

L880_:
      getlocal0
      getproperty         QName(PackageNamespace(""), "props_")
      getproperty         QName(PackageNamespace(""), "isEnemy_")
      iffalse             L1130_

      getlocal0
      pushbyte            $enemyHealthHorizontalLength
      pushbyte            $minimumBarLength
      getlocal0
      getproperty         QName(PackageNamespace(""), "size_")
      pushbyte            $resizeBarLengthByObjectSize
      convert_b
      pushbyte            $enforceMinimumBarLength
      convert_b
      callproperty        QName(PackageNamespace(""), "barLength"), 5
      coerce_a
      setlocal            8

      getlocal0
      getlocal1
      getlex              QName(PackageNamespace(""), $"charHealth")
      getlex              QName(PackageNamespace(""), $"charMaxHealth")
      getlocal0
      getproperty         QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "HP_BAR")
      pushint             $enemyHealthBarColor
      pushint             $enemyHealthVerticlePosition
      getlocal            8
      pushint             $enemyHealthVerticleLength
      callpropvoid        QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Character/iinit#0"), "drawBar"), 8

L1130_:
      returnvoid
     end ; code
    end ; body
   end ; method
  end ; trait
BTW I attached a .zip for the mod selector. You'll have to point the mod selector to the current client (AssembleeGameClient1351126858.swf) and place the .zip file in the mods folder. Remember to delete all the old hacks in the mods directory as they will not work with the new client.

hpBars3.1.0_mpgh.net.zip - Jotti's malware scan
https://www.virustotal.com/file/b911...is/1351175074/
hpBars3.1.0_mpgh.net.zip4 KB · 92 downloads Scanning…
Are you going to make this a part of your Mod selector? I think this would be an excellent addition!
I'll make one for the mod selector but I'm going to wait till the next patch comes out.
Very cool Nilly. I look forward to the other additions you have to make. Seriously the Devs of ROTMG need to look into implementing some of the awesome features you have come up with.
This will be better then Enemy/Player Display HP
Nilly this is simply awesome, the dev should even include this in the game.
Though if we use this, we loose autonexus, and fullscreen ... can't wait next release to sum those awesome features all togther.

-- edit
I just checked and the latest beta is AssembleeGameClient1351106806.swf so no way to test
THAT is awesome hacking. Dev should include that in game

Also, thanks for using the macro feature .
Just a little question: Would it be possible to make a wallhack?? My friend is searching for one for a longer time and I also didn't found anything
I have a wallhack with disconnect protection (by not allowing one to run over tiles that insta disconnect). It is not something that I'll be releasing as it is one of those hacks that is more abusive than others.

---------- Post added at 10:33 AM ---------- Previous post was at 10:15 AM ----------

Code updated to newest release.
Nilly, did you write line by line of this code with hundreds of lines?
Can't you point me to a tutorial to learn the syntax and how to find variables?
I would appreciate.
Quote Originally Posted by BernardoLima View Post
Nilly, did you write line by line of this code with hundreds of lines?
Can't you point me to a tutorial to learn the syntax and how to find variables?
I would appreciate.
This is actually coded in actionscript 3 (take a look at showoff thread if you are wondering how I'm coding in as3). You can tell since most of the labels used are generic. Only a couple of them aren't and that's because I thought of some options to add after the fact and just added them in by adding some assembly code.

I never found a good tutorial on coding in flash assembly. There are some tidbits out there that will help you understand whats going on in all that code but if you are really serious about learning to code in assembly you'll have to get your hands dirty and learn what works and what doesn't.

Here are some helpful resources:
http ://www.nowrap.de/flasm.html#flashvm <-- A good resource to help you learn how the stack works which is extremely important in order to understand anything. The syntax it covers isn't exactly the same as RABCDAsm so look at this website for a more conceptual understanding.

http ://www.adobe.com/content/dam/Adobe/en/devnet/actionscript/articles/avm2overview.pdf <-- A reference that I used from time to time to help me understand some concepts. Worth looking over.

https ://learn.adobe.com/wiki/display/AVM2/5.+AVM2+instructions <-- This goes over the same info as above just in a different format. Great for looking up instructions that you find in flash assembly code and are not quite sure what it does.

Edit: Oh and if you never programmed with an OOP language you'll definitely want to familiarize yourself with object oriented programming concepts.
What a clever way to use the OVERRIDE statement
Approved . @nilly you couldve mention me or Nachos...for faster approval.
Ahhh good job. funny that it was released and then BOOM update...
Posts 1–15 of 28 · Page 1 of 2
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?