Creating your own DragonFable Trainer! | dpDesigns

Posts 14 of 4 · Page 1 of 1
Creating your own DragonFable Trainer! | dpDesigns
Requirements! Visual Basic 8 or higher
Brief Description:
I will show you how to make a quick and easy DragonFable Trainer as simple and quick as I can make it. I'll divide everything within this post for better understanding

Creating the Application:
• Open Visual Basic > New Project > Windows Form Application > Name it > Done
• First, we'll need a ShockWave Flash Player control
○ To get that: Go to your ToolBox > Right Click somewhere inside the Toolbox > Select Choose Items... > and a pop up form will display
○ On the menu: Select the tab called COM Components > Scroll down and search for ShockWave Flash Object > Check the box besides it > Click Ok > Done

Reson you need to get this control is because this control is what the game runs on. This trainer simply changes the values of variables in the control, which is the real game. This is called changing the values of variables or simply putted, hacking.

• Now you need to design the layout of your program. Remember, the shockwave flash player will be called AxShockWaveFlash1 and also make sure you have the control in your form.

Coding the base of the program:
• At this point, you are now given the decision on how you going have your trainer work. Lucky for you, I will demonstrate some ways to code your base.
• First off, let me explain what exactly is the base of the program.
The Base of the Program: This is what properties are going into your trainer. For the game to actually work, you'll have to set the properties of the Flash control. There are 2 properties you should worry about, Movie and Base.
Base: The base is a url of what the game is hosted on. Think of it as a base
Movie: The movie is another url that runs on the base.
• Back to what I was talking about .. coding your base: There are 3 ways you can have the base to be coded. (Manually, Pre-set and via server)
Manually: This is when the user have to set the base of the program. (The Movie and Base​) This is usually done by textboxes.
The user will have to execute an event, which will be posted below
Button1 is the executor
Textbox1 will hold the url for the base
Textbox2 will hold the urll for the movie
Code:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
         AxShockwaveFlash1.Base = TextBox1.Text
        AxShockwaveFlash1.Movie = TextBox2.Text
    End Sub
Pre-set: This is when the url's of the Movie and the Base are already coded into the program

Example -
Code:
Dim Movie as String = "The Movie"
Dim Base as String = "The Base"
Via Server: [This is what I use for my trainers and this is the most suited way to load these strings.] Files via a server will hold these strings (url's of Movie and Base)
○ To use this, you will need a server to host the files on. The benefit of using this method is that you can change the property of the strings without having to update the program itself. For an example, if the Movie was updated, I can update the string so the program will automatically have the updated string without having to update the program and re-release it.

Using this code ..
You'll need a server. With that server, host 2 text files.
With one text file, the contents of it will only be the url of the Base
The other file will only be the url of the Movie
This code will open and read the contents of the files that is hosted on the server
Code:
Private Sub LoadBase()
Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create _
                                                  ("") ' This is where the url of the hosted file will go
        Dim response As System.Net.HttpWebResponse = request.GetResponse
        Dim sr As System****.StreamReader = New System****.StreamReader(response.GetResponseStream())
        AxShockWaveFlash1.Base = sr.ReadToEnd
        sr.Close()
End Sub


Private Sub LoadMovie()
Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create _
                                                  ("") ' This is where the url of the hosted file will go
        Dim response As System.Net.HttpWebResponse = request.GetResponse
        Dim sr As System****.StreamReader = New System****.StreamReader(response.GetResponseStream())
        AxShockWaveFlash1.Movie = sr.ReadToEnd
        sr.Close()
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LoadMovie() : LoadBase()
End Sub

Changing the Variables:

• This is similar to games such as Crossfire. They have addresses which represent something in the game. With DragonFable, these addresses are called variables. Each variable has a string the represents it.
○ For an example: your character strength points.
It is represented by this string. "character.origStats.intStr"

For a trainer to be actually called a trainer, it will need change the outputs of these variables
○ To change a variable:
As same as before, there are plenty of ways you can do this
Textbox1 is what will the new output will be
The code: AxShockWaveFlash1.SetVariable is what sets the new output of the variable
AxShockWaveFlash1.SetVariable("This is where variable will be", "This is what the output will be")
Code:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
AxShockWaveFlash1.SetVariable("character.origStats.intStr", Textbox1.Text)
End Sub
Note: If this code is executed, it will reset back to normal if not locked. To lock, use a timer instead.

Extra- Getting values of variables

At some point you may just want to get the output of a variable. This can be done just as easy.

You will need to declare a string or integer, depending on what variable you're wanting to get, to store the output
When the code is launched, ThisOutput will = the variable
Code:
Dim ThisOutput as integer
ThisOutput = AxShockWaveFlash1.GetVariable("character.origStats.intStr")

Codes that you will need!
This is up to date as of today

Code:
Base: http://dragonfable.battleon.com/game/
Movie: http://dragonfable.battleon.com/game/gamefiles/core.swf?strFileName=game12_0_0.swf
Full Program Code:
Code:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click        Timer1.Start()
    End Sub


    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        AxShockwaveFlash1.Base = "http://dragonfable.battleon.com/game/"
        AxShockwaveFlash1.Movie = "http://dragonfable.battleon.com/game/gamefiles/core.swf?strFileName=game12_0_0.swf"
    End Sub


    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        AxShockwaveFlash1.SetVariable("character.origStats.intStr", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.origStats.intInt", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.origStats.intDex", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.origStats.intEnd", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.origStats.intCha", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.origStats.intLuk", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.origStats.intWis", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intDefMelee", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intDefPierce", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intDefMagic", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intBlock", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intDodge", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intParry", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intCrit", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intBonus", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intDmgMin", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.intDmgMax", TextBox1.Text)
        AxShockwaveFlash1.SetVariable("character.strElement", ComboBox4.SelectedText)
    End Sub
Variables:
DRAGON
character.dragon.intBuff
character.dragon.intDebuff
_root.game.player.fullHeal
character.dragon.intHeal
character.dragon.intMelee
character.dragon.intMagic
_root.character.dragon.intMin
_root.character.dragon.intMax
_root.character.dragon.strItemName
_root.character.dragon.intTotalStats
_root.character.dragon.dateLastFed
_root.game.player.ItemCount

USER
character.dArmor.strArmorResists
_root.character.strQuests
_root.game.player.checkItemCount
_root.game.player.isHighEnufLevel
_root.battle.endBattle
_root.character.strSkills
_root.character.strArmor
character.strQuestFileName
character.strElement
character.intHP
character.intMP
character.intMaxHP
character.intMaxMP
characterintBlock
character.intDodge
characterintParry
character.intDefMagic
character.intDefRange
character.intDefMelee
character.intStr
character.intInt
character.intDex
character.intEnd
character.intCha
character.intLuk
character.intWis
character.intCrit
character.intBonus
character.intBoost
character.origStats.intStr
character.origStats.intInt
character.origStats.intDex
character.origStats.intEnd
character.origStats.intCha
character.origStats.intLuk
character.origStats.intWis
character.intDmgMin
character.intDmgMax


D Coins
_root.character.intCoins


_root.user.intAccessLevel
_root.quest.intEarnedExp
character.StrExperience
_root.quest.intEarnedSilver
_root.quest.intEarnedGold
_root.quest.intEarnedGems
_root.character.intExp
_root.character.intGems
_root.character.intGold
_root.character.intSilver
_root.character.intLevel
_root.character.intMaxBagSlots
character.dArmor.strArmorResists
character.intWeaponLevel
_root.character.intDragonAmulet

There are plenty more than just this

Includes a test project for you all to download below (Full VB project Source Code)
dpDesignsTestTrainer.rar - Jotti's malware scan
https://www.virustotal.com/file/8391...is/1342664569/ @Nico
You forgot the test project. But awesome tutorial.
I thought I did D:
Quote Originally Posted by Nico View Post
You forgot the test project. But awesome tutorial.
dpDesignsTestTrainer_mpgh.net.rar117 KB · 73 downloads Scanning…
Approved dat.
Posts 14 of 4 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?