Register for your free account! | Forgot your password?

You last visited: Today at 00:46

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

Advertisement



pGrind

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

Reply
 
Old 08/25/2011, 21:03   #61
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
Guys, thanks for your feedback, but limiting the language to german will make it hard for others to follow

@Turbo : Water is a *****. Since the last version, flying to emrchant is disabled while your in water. At the current stage, the bot is really not suited yet to grind under water. Use Prophet bot for that in the meantime, they did a good job on their bot.

@zeo :
The bot switches target while its still killing another mob? Strange, this should actually not be, even in beta
It will only add items into the item database if they are lying on the ground. I will make items addable from inventory next update.

So, for now, drop item to floor and then have bot add it to item db, then set the sell option

Cheers
Sᴡoosh is offline  
Old 08/26/2011, 22:47   #62
 
elite*gold: 0
Join Date: Dec 2007
Posts: 14
Received Thanks: 0
really in general its awsome

but the last realease regarding the script which i didnt try yet has some problems with looting i think ,, and targeting mobs too
it sometimes targets far mobs b4 near ones
and some time leave drops for along time b4 coming back to loot it
3aber sabil is offline  
Old 08/26/2011, 23:33   #63
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
Yes, both issues are beeing worked on and will be resolved next update.

Try out the scripting, people tell me its usefull

Cheers
Sᴡoosh is offline  
Old 08/27/2011, 00:53   #64
 
elite*gold: 0
Join Date: Dec 2007
Posts: 14
Received Thanks: 0
ah othere thing ,,, i think we need an option to save profile

so we can save settings to an external file if its easy casue every time i log i set settings from begining ,,, while some times it saves it donno how

and really thanks u r doing a great job
3aber sabil is offline  
Old 08/27/2011, 01:32   #65
 
Zeomak's Avatar
 
elite*gold: 0
Join Date: Aug 2009
Posts: 114
Received Thanks: 12
Update: Target switch passiert nur bei Venos. Habs mit nem Barbteam versucht und da ist nichts derartiges vorgefallen.

Zum Pet Heal:
Habe Pet Heal auf 60% stehen. Der bot heilt aber selbst wenn die HP des Pets noch über 60% sind und dann auch bis 100%. Manches mal wird nachdem 100% erreicht sind noch 2-3 mal gehealed.
Zeomak is offline  
Old 08/27/2011, 08:04   #66
 
elite*gold: 0
Join Date: Apr 2008
Posts: 84
Received Thanks: 5
please added

1. Use pet skills while killing monster or buff pet (phonix n herc)
2. Target monster like MHS or Oracle/NtKid BOT
3. Autologin for DC or login

thx so much
wongfei888 is offline  
Old 08/27/2011, 16:37   #67
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
@Wongfei :
I will consider pet skills.
What do you mean with targeting like mhs/oracle?
I probably will not implement DC stuff.

-----------------------------------------

For all people who may be interested in scripting the bot, I wrote a small tutourial which hopefully outlines all you need to get started a bit. I will strongly improve the scripting next release, and also add definitions.

Anyways, heres my tuturial. It can also be found on my site , .

Lets go

Hey guys,

alright this is for all of you who wish to write their own bot

on pGrind you will find a tab called scripting. It looks pretty bad now, and very unattractive to the eye. I will implement syntax highlighting and other helpfull stuff the next few updates.

Anyways, lets continue.

You have 3 main boxes on this tab, and a few buttons. The box titled "Code" is where your code goes. The box named Output is the log of the interpreter. And finally, the "Installed Scripts" one lists all saved scripts.

pGrind uses a delphi/Pascal dialect for scripting. Hence , the main program flow always looks like this :

Code:
Program pGrind_Demo;
Begin

End.
For this example, ive decided to name the program pGrind_Demo. It does not matter what you choose, but I suggest keeping it the same as the filename. The name may NOT include spaces or special characters, or a number as first character.

Good :
  • lol
  • test
  • killer
  • grinder

Bad :
  • 2lol
  • test program
  • killer$33
  • "grind"r

Alright, lets continue.

Now that we know how a program is built, we can get to the basics. You can use functions and procedure, variables and directives, constants and structs.

Consider the small example program I included in pGrind :

Code:
Program Rest; //Program name
Begin //begin declaration
Rest; //procedure "rest"
End. //end of program
This simply makes your character sit down. "Rest" is a procedure, means that it does not give a return value. Functions pass return values.

Now lets look at said functions.

Code:
Program getinfo;
Begin
writeln(inttostr(gethp));
End.
If you run this, you will get the following output :

Quote:
Syntax check...
Syntax checked successfully
1234 //YOUR HP will be different ofc
Succesfully executed
Lets analyse this.

writeln()
This function writes a STRING to the output window.

IntToStr()
This function typecasts an integer value into a string.

GetHP()
This function retrives the character HP for you.

So basically, the command hirarchy is like this :

GetHP -> returns integer (your hp) -> inttostr() -> converts to string -> writeln() writes this line to output.

Clear so far? If yes, you have pretty much understood the basics

Now to more fun stuff. You will stumble over cases where you must use conditionals.

Code:
Program OneKill; //Creative name, huh?
Begin //Begin of program

SelectClosestMob; //Select the closest mob

If gettarget <>  0 //Was it successfull?
then 
	Killmonster; //Kill it with fire!!11

If Gethp < getmaxhp //Do we need to rest?
then 
	rest; //Yepp, lets chill a bit

end. //End of program
Maybe you recognise this - its the script I wrote already for you guys, it comes with pGrind.

Read the comments I wrote, it should pretty much clarify all.

Quick walkthrough of conditionals :

If [CONDITION] then [DOSHIT];

Pretty much self explinatory

Also, some comparisson operators :

<> - not equal

0 <> 1 = true
0 <> 0 = false

= - equal

0 = 1 = false
0 = 0 = true

< - smaller then

0 < 1 = true
0 < 0 = false
1 < 0 = false

> - smaller then

0 > 1 = false
0 > 0 = false
1 > 0 = true

All comparrison operators can be used with "=" too. For example : <= means "smaller or equal". Its the same as writing (0 < 1) OR (0 = 1). Which brings us to our enxt point :

Logical operators.

OR
If [CONDITION_one] OR [CONDITION_two] then DOSHIT;

AND
see above, it should also be self - explinatory

Now for some more fun.

We need a way to do something for a certain amount of time, or until a certain condition is true or false. Welcome to the world of loops.

For this, we need to declare a counter variable. This is just a place where the interpreter will place the loop index.

Declare a variable like this :

Code:
Program Loopdemo;
Var 
Counter : Integer;
Begin 
//empty for now
end;
This will make our variable "Counter" accessable for our program.

Now to the loop :

Code:
Program Loopdemo;
Var 
Counter : Integer;
Begin 
For Counter := 0 to 3 do
writeln('Hello world!!!11!!');
end.
This will generate the following output :

Quote:
Syntax check...
Syntax checked successfully
Hello world!!!11!!
Hello world!!!11!!
Hello world!!!11!!
Hello world!!!11!!
Succesfully executed
Bingo

Do not wonder why the line is outputted 4 times - the script is 0 indexed, means it starts at 0 and works up to the given delimiter.

0 - 1 - 2 - 3 = 4 lines

Alright, I hope this will help those who are interested in writing scripts. Check out beta 3 - it will offer much more powerful commands and an improved execution model.

Cheers
Sᴡoosh is offline  
Thanks
1 User
Old 08/27/2011, 17:34   #68
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
Killing and grinding doesn't work well on PW MY.

This works:
Quote:
{ pGrind Script file , created @ 4:42:54 PM 8/21/2011}
Program Rest;
Begin
Rest;
End.
This works only after I selected the mob myself. It seems that the SelectClosestMob; procedure doesn't select anything:
Quote:
{This small demo program shows how to use the SelectClosestMob function.
The function returns the closest mobs, depending on your settings in grinding tab.
So a set radius is mandatory, along with a set safe point and selected monster types/names.}


Program OneKill; //Creative name, huh?
Begin //Begin of program

SelectClosestMob; //Select the closest mob

If gettarget <> 0 //Was it successfull?
then
Killmonster; //Kill it with fire!!11

If Gethp < getmaxhp //Do we need to rest?
then
rest; //Yepp, lets chill a bit

end. //End of program
What is the mode parameter in the Gather procedure?:
Quote:
{ pGrind Script file , created @ 13:31:57 27-8-2011}
Program TestADC;
Begin
//Add your code here!
Gather(C01009F2, 1)
End.
msxgames is offline  
Old 08/27/2011, 17:35   #69
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
The SelectClosestMob Procedure selects acording to your settings on grind tab So please define those first.

You need to pass IDs with "$" in front of them, or as decimal representation.

Gather($ID,MODE);

Mode : 0 for items, 1 for mats

Cheers
Sᴡoosh is offline  
Old 08/27/2011, 17:56   #70
 
Zeomak's Avatar
 
elite*gold: 0
Join Date: Aug 2009
Posts: 114
Received Thanks: 12
Ok, nächstes:

Potten funktioniert einwandfrei aber Healskills werden dummerweise nur nach einem Kampf eingesetzt. Das ist aber vor allem für BMs und clerics nicht grade das beste.

Edit:Werden teilweise gar nicht eingesetzt auch nicht nach dem Kampf.
Zeomak is offline  
Old 08/27/2011, 18:04   #71
 
elite*gold: 0
Join Date: Apr 2008
Posts: 84
Received Thanks: 5
MHS and Oracle bot use address monster not by radius, this very help when selected only few monster attacked
wongfei888 is offline  
Old 08/27/2011, 18:05   #72
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
Ah you mean an monster list. Well, while this is certainly possible - you are the only one until now who requested this, and thus I wont add it just now. Maybe if you only add one name to list, it would suit your needs too?
Sᴡoosh is offline  
Old 08/27/2011, 19:50   #73
 
elite*gold: 10
Join Date: Sep 2010
Posts: 400
Received Thanks: 234
Botting isn't really my thing and I haven't tried this out, but I must say... From reading about the features of this thing it sounds like you've done a freaking awesome job on it!
Hats off to you, sir.
dumbfck is offline  
Old 08/27/2011, 20:11   #74
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
Thanks

Its still buggy and needs much work, but from the feedback I have recived it seems like people like it
Sᴡoosh is offline  
Thanks
1 User
Old 08/28/2011, 14:52   #75
 
Zeomak's Avatar
 
elite*gold: 0
Join Date: Aug 2009
Posts: 114
Received Thanks: 12
Quote:
Originally Posted by Sᴡoosh View Post
Ah you mean an monster list. Well, while this is certainly possible - you are the only one until now who requested this, and thus I wont add it just now. Maybe if you only add one name to list, it would suit your needs too?
I think what he actually means is the list to hunt by mob ID not name. As I take it that was a pretty nice feature to hold the Bot in an area, but since this one (as later versions of Oracle and MHS aswell) has a radius option, I think this is solved ^^
Zeomak is offline  
Reply

Tags
perfect world bot, pgrind, pw bot, pw grind bot, surrosoft




All times are GMT +1. The time now is 00:49.


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.