Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World > PW Hacks, Bots, Cheats, Exploits
You last visited: Today at 01:04

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Perfect World Function Library

Discussion on Perfect World Function Library within the PW Hacks, Bots, Cheats, Exploits forum part of the Perfect World category.

Reply
 
Old   #1
 
ntldr32's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 75
Received Thanks: 34
Perfect World Function Library

Note : This is not a bot, its only a bundle of all basic things you need to make a bot.
With this function library, you can start to make your own bot, based on your algorthm. I made all this function easy as i can. You dont need to read/write memory, all you need to do is to make some algorithm for your bot. This Library can be use with most popular programing langs (as long there is .Net Framework on user computer). You can use it with VB.net, C# .net, C++ .net, Delphi?, autoit?,
Pliss report if you find any bugs.

Req :
1. Need .Net framework to run (use google to search it), windows vista and UP, no need to download it anymore.
2. Need Visual Studio 2010 or up, to compile (you can also use console from .Net Framework to compile it)
3. A DLL version of class from (write in C# .Net, compile it to DLL so it can be use with VB)
4. Need someone who can help me make some documenttion about this library XD
5. All function are declared as Shared.

Using :
1. Include this library into your project as Project Reference, put the Custom_OffSets.ini, skillstr.txt, MemFunction.dll and PacketSender.dll into your project binary root folder (not in project root), by default its located on "[project Root]\Bin\Debug\"
2. Load the offset file: offsets.loadOffset("Custom_OffSets.ini")
3. Attach to client: client.hookChar("charname")

Example (in VB.net, you can try it with your fav programing lang (read documentation on your programing lang about using DLL function.)):
PHP Code:
Imports Perfect_World    'import the library, dont forget to add that library as reference before importing it
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '
load offset filethe format of the offset file is based on prophet bot 3.1 offset file
        offsets
.loadOffset("Custom_OffSets.ini")
        
'put all character that are curently open into combobox
        ComboBox1.Items.AddRange(client.getAllChar)
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        '
attach to client by using char name selected from combobox
        client
.hookChar(ComboBox1.Text)
        
'get you HP/MP info
        Label1.Text = "HP: " & character.HP
        '
get your class
        
Label2.Text "Class: " character.Profesion
        
'get item on 1st index of your bag
        Label3.Text = "Item on 1st Index: " & inventory.getID(0) & " : " & item.name(inventory.getID(0))
        '
load all items in your bag into combobox
        
For As Integer 0 To inventory.count 1
            ComboBox2
.Items.Add(item.name(inventory.getID(i)))
        
Next
        
'load all your skills into combobox
        For i As Integer = 0 To skill.Count - 1
            ComboBox3.Items.Add(skill.Name(skill.ID(i)))
        Next
        '
list all neares npc/mobs into combobox
        
For As Integer 0 To monsters.count 1
            ComboBox4
.Items.Add(monsters.Name(i))
        
Next
    End Sub
End 
Class 
Download (Souce code and Demo Included):

Function Tree

MemFunctions //See
PacketSender //See

Perfect_World.client.hookChar("charname") //Attach to client using character name
Perfect_World.client.getAllChar //Return all character name that are open in array data. Can be use for character selector before calling hookChar(strng)

Perfect_World.character.Name //Get the name of the of character on the attached client
Perfect_World.character.Level //Get level
Perfect_World.character.Gender //Get your sex (Male/Female)
Perfect_World.character.HP //Get current HP value
Perfect_World.character.maxHP //Get your maximum Health Point
Perfect_World.character.MP //Get current MP value
Perfect_World.character.maxMP //Get maximum Mana Point
Perfect_World.character.X(Boolean) //Get your X coordinat, put True as parameter for real X or False for raw X
Perfect_World.character.Y(Boolean) //see X
Perfect_World.character.Z(Boolean) //see X

Perfect_World.skill.Count //Get the amount of your learbed skills
Perfect_World.skill.Name(int skillID) //Get the skill name from skill ID
Perfect_World.skill.ID(int skillIndex) //Get the skill ID on the selected index
Perfect_World.skill.Level(int skillIndex) //Get the skill level on the selected index
Perfect_World.skill.CooldownTime(int skillIndex) //Get the skill cooldown time on the selected index
Perfect_World.skill.CooldownRemaining(int skillIndex)
Perfect_World.skill.isCooldown(int skillID) //Determine if the skill are coolingdown or not, retunr trus if the skill in CD false if not
Perfect_World.skill.Index(int skillID) //Get the index position of the skill by skill ID

Perfect_World.inventory.count
Perfect_World.inventory.getIndex(int itemID) //Get the index position of an item in your bag
Perfect_World.inventory.isPOT(int itemID) //Return true if the item id belong to item pots
Perfect_World.inventory.ID(int invIndex) //Get the item id on the selected inv index, to get the item name, see item class
Perfect_World.item(int itemID) //Return the item name from an item id

Perfect_World.monsters.count
Perfect_World.monsters.Selected //Get the id of the selected monster
Perfect_World.monsters.ID(int mobIndex) //Get id of monster on selected index
Perfect_World.monsters.Name(int mobIndex) //Get name of monster on selected index
Perfect_World.monsters.X(int mobIndex) //Get X coordinat of monster on selected index
Perfect_World.monsters.Y(int mobIndex)
Perfect_World.monsters.Z(int mobIndex)
Perfect_World.monsters.Distance(int mobID) //Get distance of monster that are selected
ntldr32 is offline  
Thanks
1 User
Old 08/07/2013, 14:16   #2
 
elite*gold: 10
Join Date: Sep 2010
Posts: 400
Received Thanks: 234
Nice work dude!
I don't really fancy signing up to 4shared to download it though to be honest.
I'll try to take a look some time soon, but will be busy for a while. Interested to see what you've got in there
Do you have anything already, or have anything planned to handle asynchronous events? For example, something happens in a client (a hooked function is executed) and that then sends a signal or some data to the interface program, rather than continuously polling data structures or variables? If you've got anything like that, I may have some stuff you might like for the chat system.
dumbfck is offline  
Old 08/08/2013, 06:12   #3
 
ntldr32's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 75
Received Thanks: 34
Quote:
Originally Posted by dumbfck View Post
Nice work dude!
I don't really fancy signing up to 4shared to download it though to be honest.
I'll try to take a look some time soon, but will be busy for a while. Interested to see what you've got in there
Do you have anything already, or have anything planned to handle asynchronous events? For example, something happens in a client (a hooked function is executed) and that then sends a signal or some data to the interface program, rather than continuously polling data structures or variables? If you've got anything like that, I may have some stuff you might like for the chat system.
idk if 4shared need register to download 0o, it conected with my google mail without register lol,.. im not upload this as attached file (i try 4 times attach file to post but not work), so i go to 4shared, you will not like if i upload via Ziddu right XD?

ya i still working on to make movement and chat system to be more portable, but still getting trouble on it.
in fact i not make all that function lol, i collect them from various source and make them portable as function library, you will find most of that function are somehow similar with your function or prophet bot function , lol,..
ntldr32 is offline  
Old 09/09/2013, 06:36   #4
 
elite*gold: 0
Join Date: May 2013
Posts: 14
Received Thanks: 0
TO : ntldr32
I can't downloads (Souce code and Demo Included): Perfect World Function Library - Download - 4shared. Links is die.
Can you uploads again?
oneormore is offline  
Old 09/09/2013, 11:54   #5
 
ntldr32's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 75
Received Thanks: 34
it still there,.
ntldr32 is offline  
Thanks
1 User
Old 09/12/2013, 11:18   #6
 
elite*gold: 0
Join Date: May 2013
Posts: 14
Received Thanks: 0
TO : ntldr32
Thanks you for support, I have problem when try using your Example in VB.net

I was change my address base in Custom_OffSets.ini. When I call Perfect_World.client.getAllChar --> not run. It not show char in elementclient game. Can you help me.
oneormore is offline  
Old 09/14/2013, 21:44   #7
 
elite*gold: 75
The Black Market: 165/1/2
Join Date: Aug 2011
Posts: 1,897
Received Thanks: 1,067
in what version was the libary coded? ^^ my programm say i cant open because its a other version.....
I have Vísual Studio 2012 Ultimate

Edit: It now work i can open the Source Code :O Its a really nice Code i need to say ^^ But if i try to run the Demo and have PWI running nothing happens.... ^^
can you help me? i want to make a bot... but i need help at start xD the rest is easy
DerScreever is offline  
Old 09/17/2013, 20:57   #8
 
ntldr32's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 75
Received Thanks: 34
first, make sure the customoffset file are correct for you server,.
before you call any function, you have to load that offset by using code

offsets.loadOffset("Custom_OffSets.ini")

when you call function getAllChar, the return value is an array of all opened char its mean you have to loop it or put it in combobox,.

Perfect_World.client.getAllChar(0) //return the 1st char that are open
Perfect_World.client.getAllChar(1) //return the 2nd char that are open
and so on

look at the example code on the 1st post to see how to use it with combobox

This is compiled with vb 2010, but the code can be copy and use with other version as long you know sure the structure, then recompile it as dll library for your own bot
ntldr32 is offline  
Old 09/19/2013, 07:37   #9
 
elite*gold: 0
Join Date: Jan 2009
Posts: 18
Received Thanks: 1
sorry
how can i add default skill in prophet bot??
can anyone help?
kijaru is offline  
Old 09/20/2013, 04:45   #10
 
elite*gold: 0
Join Date: May 2013
Posts: 14
Received Thanks: 0
To ntldr32 :

I see your code in vb.net :
char_dbase_address = MemFunctions.MemReadInt(pr_handle, offsets.Base_Address) + offsets.CHARSTRUCT1_OffSet
char_dbase = MemFunctions.MemReadInt(pr_handle, char_dbase_address)
char_name_address = MemFunctions.MemReadInt(pr_handle, char_dbase + offsets.Name_offset)
charsName.Add(MemFunctions.MemReadUnicode(pr_handl e, char_name_address))

I know Base_Address = [[realAddress] + 1C]
addressName = [[Base_Address]+offsets.CHARSTRUCT1_OffSet]
charname =[[addressName]+offsets.Name_offset]
When I use your code vb.net is not get name char and HP @@

This is my address in my game :

Base_Address = 12124828 '' Hex B9029C
Real_Base_Address = 12123084 ''Hex b8fbcc
CHARSTRUCT1_OffSet = 52 ''Hex 34
Name_offset = 1648 ''Hex 670
CHARID_Offset = 1152 ''Hex 480
LVL_Offset = 1164 ''Hex 48c
Class_offset = 1656 '' Hex 678
HP_OffSet = 1172 ''Hex 494

So, I don't understand why it not run I use windows 64bit and Visual Studio 2012.
Maybe I have problem with windows 32 bit and windows 64bit? I am not programmer and only gammer.

Thanks you!
oneormore is offline  
Old 09/21/2013, 21:31   #11
 
elite*gold: 75
The Black Market: 165/1/2
Join Date: Aug 2011
Posts: 1,897
Received Thanks: 1,067
Quote:
Originally Posted by ntldr32 View Post
first, make sure the customoffset file are correct for you server,.
before you call any function, you have to load that offset by using code

offsets.loadOffset("Custom_OffSets.ini")

when you call function getAllChar, the return value is an array of all opened char its mean you have to loop it or put it in combobox,.

Perfect_World.client.getAllChar(0) //return the 1st char that are open
Perfect_World.client.getAllChar(1) //return the 2nd char that are open
and so on

look at the example code on the 1st post to see how to use it with combobox

This is compiled with vb 2010, but the code can be copy and use with other version as long you know sure the structure, then recompile it as dll library for your own bot
i used your example in the zip and there i have to add it? ^^ but with only Perfect_World.client.getAllChar(0) the combobox is clear o.O but if im right there must be 1 char already in ^^ and where i get the right offesets? ^^ i have eu server and the offeset finder say the same offesets like the one in your file o.O
DerScreever is offline  
Old 09/26/2013, 06:26   #12
 
elite*gold: 0
Join Date: May 2013
Posts: 14
Received Thanks: 0
I was get info charactor include : HP, MP, Exp...

How i can get time online charactor?

And I can't get item inventory char?
oneormore is offline  
Old 10/11/2013, 12:30   #13
 
elite*gold: 0
Join Date: May 2013
Posts: 14
Received Thanks: 0
To : ntldr32

How I can get skill of charactor with VB.net? Can you help me?


After killing monsters is done, I can not choose to be the next monster. Until recently killed the monster, the monster that it has chosen. Why??? Can't you help me please !!!
oneormore is offline  
Reply




All times are GMT +1. The time now is 01:06.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.