|
You last visited: Today at 00:00
Advertisement
PWI - Resources/Loot Structure
Discussion on PWI - Resources/Loot Structure within the Perfect World forum part of the MMORPGs category.
04/25/2012, 13:32
|
#16
|
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 575
|
try this:
Code:
public void moveTo(float X, float Y, float Z, float height = -1.0F)
{
int actionStruct = MemFunctions.MemReadInt(processHandle, getPlayerAddress() + off_player_actStruct);
int actionList = MemFunctions.MemReadInt(processHandle, actionStruct + off_player_actStruct_list);
int moveAction = MemFunctions.MemReadInt(processHandle, actionList + off_player_actStruct_list_move);
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_finished, 0); //action finished = 0
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_started, 1); //Action start = 1
MemFunctions.MemWriteFloat(processHandle, moveAction + off_player_actStruct_list_move_X, X); // Set X coord
MemFunctions.MemWriteFloat(processHandle, moveAction + off_player_actStruct_list_move_Y, Y); // Set Y coord
MemFunctions.MemWriteFloat(processHandle, moveAction + off_player_actStruct_list_move_Z, Z); // Set Z coord
MemFunctions.MemWriteFloat(processHandle, moveAction + off_player_actStruct_list_move_height, height); // Set height
if (height >= 0.0)
{
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_var1, 26625); //Set 1st var for flying up
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_var2, 256); // Set 2nd var for flying up
}
else
{
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_var1, 26624); //Set 1st var for not flying up
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_var2, 65536); // Set 2nd var for not flying up
}
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_type, 0); // Set moveType
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_error1, 0); // Set error
MemFunctions.MemWriteInt(processHandle, moveAction + off_player_actStruct_list_move_error2, 0); // Set error
MemFunctions.MemWriteInt(processHandle, actionStruct + off_player_actStruct_newAction, moveAction); // Set new actionType
MemFunctions.MemWriteInt(processHandle, actionStruct + off_player_actStruct_startNext, 1); // Set next action position to 1
MemFunctions.MemWriteInt(processHandle, actionStruct + off_player_actStruct_nextAction, moveAction); // Set new actionType
}
where the offsets are as follows:
|
|
|
04/25/2012, 13:37
|
#17
|
elite*gold: 10
Join Date: Sep 2010
Posts: 400
Received Thanks: 233
|
Quote:
Originally Posted by Sᴡoosh
Interest, do pass me one of those fluffy, white jackets though, will you?
|
Prepare for mad photoshop skillz...
|
|
|
04/25/2012, 13:50
|
#18
|
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 325
|
Quote:
Originally Posted by dumbfck
Prepare for mad photoshop skillz...
|
LOL
That's actually pretty decent man
Nice!
|
|
|
04/25/2012, 14:13
|
#19
|
elite*gold: 0
Join Date: Jun 2010
Posts: 73
Received Thanks: 2
|
Wow those offsets are different from the offsets I was using
Was using outdated stuff i guess
Edit, with those offsets the char is moving, but he isn't going to the coords I want lol
|
|
|
04/25/2012, 14:39
|
#20
|
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 575
|
Quote:
Originally Posted by Subzero12
Wow those offsets are different from the offsets I was using
Was using outdated stuff i guess
Edit, with those offsets the char is moving, but he isn't going to the coords I want lol
|
You do realise that the coords showing ingame are different from those used internally (by for example functions such as this) I hope. Where is your character going? If it's in the general direction of heavens tear, that means its going to (0, Y, 0)
@dumbfck lmao that's exactly what i had in mind!! Mad photoshop skillz there :chuckles:
|
|
|
04/25/2012, 14:45
|
#21
|
elite*gold: 0
Join Date: Jun 2010
Posts: 73
Received Thanks: 2
|
Yes I know it *.*
Found the problem there was an error storing a position in one of my classes
Thx for the help
|
|
|
04/25/2012, 14:50
|
#22
|
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 575
|
Quote:
Originally Posted by Subzero12
Yes I know it *.*
Found the problem there was an error storing a position in one of my classes
Thx for the help
|
grats! glad you got it working
|
|
|
04/25/2012, 15:04
|
#23
|
elite*gold: 0
Join Date: Jun 2010
Posts: 73
Received Thanks: 2
|
It moves, it gathers resources and it attacks =) (pick loot should be easy too)
Time to start putting things into places and working on the bot logic
---- Edit.
One thing, its possible to know when my char is gathering?
For now I'm using a bad approach of using a sleep while gathering, but I wanted a more optimal approach of knowing when the action ends (to help me with the defend section).
Its getting nicer already have a neat radius farm bot (will post a small clip tomorrow)
|
|
|
04/27/2012, 00:39
|
#24
|
elite*gold: 0
Join Date: Jun 2010
Posts: 73
Received Thanks: 2
|
I have some questions for the next steps I want to take:
How to unfreeze window? I just need to write in a certain address?
How can I 'see' if my harvest action has stopped? (to make the bot faster and implement a defend action)
Thx for all the help guys.
|
|
|
04/27/2012, 07:53
|
#25
|
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 575
|
Quote:
Originally Posted by Subzero12
I have some questions for the next steps I want to take:
How to unfreeze window? I just need to write in a certain address?
How can I 'see' if my harvest action has stopped? (to make the bot faster and implement a defend action)
Thx for all the help guys.
|
You can use the action struct to see if the char is idle. The first action in the list (move ix 0x8 for example) is idle, so if current action is a pointer to the first action in the list your char is doing nothing.
for example:
Code:
public bool isIdle()
{
int actionStruct = MemFunctions.MemReadInt(processHandle, getPlayerAddress() + off_player_actStruct);
int actionList = MemFunctions.MemReadInt(processHandle, actionStruct + off_player_actStruct_list);
int idleAction = MemFunctions.MemReadInt(processHandle, actionList);
return MemFunctions.MemReadInt(processHandle, actionStruct + off_player_actStruct_nextAction) == idleAction; // Set new actionType
}
I wouldn't suggest unfreezing your client, it's a huge resource hog and doesn't benefit a properly built bot. If you insist the way to do it would be something like this, but at the correct address instead of 0x430d98. It basically adjusts the opcode to always render the screen and removes the check. I never used it myself though, so I haven't updated the correct address ever.
Code:
public void unfreeze()
{
byte[] buffer = new byte[] { 0xb0, 1, 0x90 };
MemFunctions.MemWriteBytes(this.pr_processHandle, 0x430d98, buffer);
}
|
|
|
04/27/2012, 12:33
|
#26
|
elite*gold: 0
Join Date: Jun 2010
Posts: 73
Received Thanks: 2
|
Hmmm I see, then if I want to see if i'm gathering anything I can also see what action I'm making, action type and item ID? (Reading the correct memory addresses)
I will put this to use later and start creating a record farm pattern algorithm
Thx
|
|
|
04/27/2012, 19:08
|
#27
|
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 575
|
Quote:
Originally Posted by Subzero12
Hmmm I see, then if I want to see if i'm gathering anything I can also see what action I'm making, action type and item ID? (Reading the correct memory addresses)
I will put this to use later and start creating a record farm pattern algorithm
Thx
|
Yeah, pretty much
|
|
|
|
|
Similar Threads
|
Xml Database Structure
02/28/2012 - CO2 PServer Guides & Releases - 11 Replies
Alright, this is still unfinished, At the moment it only supports MYSQL, but I will finish rest later, if I get time. It's untested so far and so, but looks like it would work.
Anyways, when I get home I will test it and fix whatever I find of bugs etc.
It also still contains the xml converter as it's under solution.
The XmlLib is a DLL, which you just add as reference to your project, however there is some major things you need to do, before you actually use it.
First of all you...
|
SQL-DB structure
05/29/2010 - Silkroad Online - 0 Replies
Hey folks,
does anyone happen to have the structure of the official SRO SQL-DB? I need no more than the column names and their associated table names (usually located in the DB "INFORMATION_SCHEMA").
|
[C] Player Structure [PW-MS]
03/16/2010 - PW Hacks, Bots, Cheats, Exploits - 5 Replies
Hi everyone. Just wanna share the stuff i found out when reversing the game.
Assuming you are using dll injectiong and you have the base pointer to all player stats, you can simply access all the data from a nice and userfriendly structure.
Here how to read from memory:
VARBASE *Stats = 0xBASEPOINTER;
printf("Player HP: %d/%d", Stats->p_Player->Current_HP, Stats->p_Player->Maximum_HP);
And here the structure you need to make this available:
typedef unsinged char BYTE;
|
packet structure
03/09/2008 - Conquer Online 2 - 16 Replies
For what I'd like to do, I think packets are the place to start. After that, probably java then C and VB. This is a question for the people here who are self-taught... what resources would you recommend for...
1. understanding packet structure
2. learning some programming language without enrolling at the local university
I'm mainly interested in packet structure and how to capture/decipher/edit/send them, and eventually I'd like to "automate" these functions by writing some programs. ...
|
Drop-Loot bug (Loot sichtbar vor dem kill)
03/28/2006 - WoW Exploits, Hacks, Tools & Macros - 1 Replies
So hi
und zwar für alle die gerne mal etwas farmen aber kaum zeit haben ein kleiner Tipp der immo noch auch allen EU realms (ja auch auf Blizz-Servern) ghet. und zwar gibt es in den Blasted Lands den Altar of the Storms dort laufen mobs der LVL ca. 54 rum.
Das geniale kommt est noch man sihet an den mobs bevor man sie killt, angreift was auch immer ob und welche Waffe sie droppe.
Das system ist ganz einfach: es laufen dort z.B. Walocks rum diese habven immer so nen schwarzen staff in...
|
All times are GMT +2. The time now is 00:00.
|
|