Results 1 to 4 of 4
  1. #1
    DawgiiStylz's Avatar
    Join Date
    Aug 2009
    Gender
    male
    Location
    Dawg House
    Posts
    7,817
    Reputation
    219
    Thanks
    2,782
    My Mood
    Tired

    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

  2. The Following User Says Thank You to DawgiiStylz For This Useful Post:

    [MPGH]cuckold cancer 8=D (08-05-2014)

  3. #2
    Nico's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Location
    Germany :D
    Posts
    15,939
    Reputation
    1121
    Thanks
    8,516
    You forgot the test project. But awesome tutorial.

  4. #3
    DawgiiStylz's Avatar
    Join Date
    Aug 2009
    Gender
    male
    Location
    Dawg House
    Posts
    7,817
    Reputation
    219
    Thanks
    2,782
    My Mood
    Tired
    I thought I did D:
    Quote Originally Posted by Nico View Post
    You forgot the test project. But awesome tutorial.
    <b>Downloadable Files</b> Downloadable Files

  5. The Following 8 Users Say Thank You to DawgiiStylz For This Useful Post:

    ApolloElite (07-14-2015),Arun's Bitch (07-14-2013),[MPGH]cuckold cancer 8=D (08-05-2014),killallmans (08-20-2012),kingatem (07-11-2014),manjotghuman (01-19-2014),UBST (06-23-2014),VCut (08-23-2013)

  6. #4
    Nico's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Location
    Germany :D
    Posts
    15,939
    Reputation
    1121
    Thanks
    8,516
    Approved dat.

Similar Threads

  1. Writing your own C++ Trainer
    By l0ngcat in forum Game Hacking Tutorials
    Replies: 41
    Last Post: 05-15-2016, 01:19 PM
  2. Create Your own ADVANCED Trainer
    By Twirlyman15 in forum Combat Arms Discussions
    Replies: 15
    Last Post: 02-27-2010, 07:58 AM
  3. Creating your own OPK?
    By wildman008a in forum Combat Arms Help
    Replies: 5
    Last Post: 08-23-2009, 09:02 PM
  4. Creating your own OPK?
    By wildman008a in forum Combat Arms Hacks & Cheats
    Replies: 4
    Last Post: 08-23-2009, 08:38 PM
  5. compile error :/ from [Writing your own C++ Trainer]
    By FantaBrause in forum C++/C Programming
    Replies: 7
    Last Post: 07-07-2009, 12:09 AM