Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Programming

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
NightFire
Newbie cheater
Reputation: 0

Joined: 14 Jun 2003
Posts: 11
Location: St. Louis, Missouri

PostPosted: Sat Jun 14, 2003 10:12 am    Post subject: Programming Reply with quote

I have "Learn to Program with C++ by John Smiley". I was wondering if I should learn another language such as Delphi or Visual Basics which is easyer to make GUI's and stuff. Isnt Cheat Engine made in Delphi? Should I learn Delphi or Vb .Net and get Delphi 7.0 or Vb .Net off Kazaa Lite?
Back to top
View user's profile Send private message AIM Address
wh1t3y
Advanced Cheater
Reputation: 1

Joined: 09 May 2003
Posts: 85
Location: Missouri

PostPosted: Sat Jun 14, 2003 8:05 pm    Post subject: Reply with quote

well... right now i can tell you that vb is pretty easy to learn and to get the basics of programing down.. then after that you can move on to more advanced languages.. delphi is somewhat like vb but is more powerful and sometimes a little more difficult to use in my opinion. and for the downloading off of kazaa lite thing... dont do it because that is stealing Wink.. even though microsoft is money hungry
_________________
(( / wh1t3y / ))
...yeah i guess that's cool...
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
NightFire
Newbie cheater
Reputation: 0

Joined: 14 Jun 2003
Posts: 11
Location: St. Louis, Missouri

PostPosted: Sun Jun 15, 2003 8:23 pm    Post subject: Reply with quote

Should I even bother learning and getting VB.NET 2003 or should I just keep up w/ learning C++? Im already pretty good at C++, its just hard as hell to make programs, where in other languages can make them fast and easy but there not as good "quality" as C++.
_________________
~NightFire~
Back to top
View user's profile Send private message AIM Address
Dark Byte
Site Admin
Reputation: 457

Joined: 09 May 2003
Posts: 25262
Location: The netherlands

PostPosted: Mon Jun 16, 2003 1:53 am    Post subject: Reply with quote

quality: I can't say for VB because I never used/compared it, but Delphi and C++ programs are about the same in efficiency. (The assembler code they generate is about the same)

Of course, if you're a better programmer in C++ that means better 'quality' if you program in C++. But, this is no reason to stop learning other languages. You can for example write your C++ code and put it in DLL's and use those with the other languages.

If you seperate the userinterface from the code this method works very well. (even easier to manage the project that way)
You could for example write a great looking userinterfacein VB/delphi, but the underlying code is in c++. (of course, you will need to write some commands in the language your userinterface is in to control some of those controls)
Back to top
View user's profile Send private message MSN Messenger
NightFire
Newbie cheater
Reputation: 0

Joined: 14 Jun 2003
Posts: 11
Location: St. Louis, Missouri

PostPosted: Mon Jun 16, 2003 9:42 am    Post subject: Reply with quote

Will I guess i'll get a Delphi7 book at the library today, cause its alot easyer to make GUI's in Delphi. But I really dont know how to combine languages! Should Delphi be pretty simple to learn?
_________________
~NightFire~
Back to top
View user's profile Send private message AIM Address
NightFire
Newbie cheater
Reputation: 0

Joined: 14 Jun 2003
Posts: 11
Location: St. Louis, Missouri

PostPosted: Mon Jun 16, 2003 9:55 am    Post subject: Reply with quote

Wow, Delphi 7 Personal is like a 100 dollers Shocked
*Thank God For Cracks*

_________________
~NightFire~
Back to top
View user's profile Send private message AIM Address
JimYall
Newbie cheater
Reputation: 0

Joined: 22 Dec 2005
Posts: 15

PostPosted: Sat Dec 24, 2005 1:06 am    Post subject: Reply with quote

hey can u tell me wat's a good book to learn Visual Basic for newbie??
Back to top
View user's profile Send private message
cparty
Expert Cheater
Reputation: 0

Joined: 01 Dec 2005
Posts: 219

PostPosted: Sat Dec 24, 2005 4:21 am    Post subject: Reply with quote

JimYall wrote:
hey can u tell me wat's a good book to learn Visual Basic for newbie??

Looking for one myself and I was wondering if I should go for VB.NET or stay with the VB6 I just had gotten into.
A friend recommended Walter Doberenz & Thomas Kowalski "Visual Basic Kochbuch".. its in german though, they have also written Books for Delphi.
Back to top
View user's profile Send private message
Tsongkie
Newbie cheater
Reputation: 0

Joined: 24 Sep 2005
Posts: 16

PostPosted: Thu Dec 29, 2005 5:58 pm    Post subject: Reply with quote

I think u guys are missing the power of asm.. most trainer authors write in masm/fasm/tasm

win32asm.cjb.net

its free and its fucking fast
Back to top
View user's profile Send private message
Zhoul
Master Cheater
Reputation: 1

Joined: 19 Sep 2005
Posts: 394

PostPosted: Thu Dec 29, 2005 7:01 pm    Post subject: Reply with quote

VB Prog-mammer here... (and C, and HTML, Java, SQL, Shell, ASP, PHP, ASM (thanks to DB), and whatever other languages i've gotten myself into in the many years).

First, I'd like to say that, hands down, the fastest way I learn, is to pick some kind of project to tackle... One where I don't know everything Smile - Then use google and/or O'Reiley books as reference material. Going through a book, that contains exercises/etc bores me to tears, because I'm usually ready for page 101 by the time I'm on page 12. So: Give it a try.. Pick a project... don't let it go until you're done, and you'll learn more then 100 genetically enhanced monkey's who read teh books from cover to cover. (Experience > Someone telling you theirs).


NightFire wrote:
C++, its just hard as hell to make programs

I surely agree with your first point there. In C++, you have to define every damn thing, to extents which are tedious, if you're just trying to whip something up.
NightFire wrote:
where in other languages can make them fast and easy but there not as good "quality" as C++.

I both agree and disagree with this statement. When making a trainer, you only have so much steam before you say 'fuck it, here, it's done'. With other languages that are 'faster to create with' - the quality of the trainer can indeed be expanded far faster usually, meaning, more content. Take a look at my sig when done reading this... I'm currently offering a full blown VB trainer, based on Black & White 2. Here in a week or two, the Need for Speed trainer will also go open-source.

With each new trainer I create, the TrainerAPI.bas expands to support more and more features.

Here are some of the things you'll get in the module:
Code:

'Used to connect to a game's EXE, based on WMI returned PID
Public Function GamePID() As Long

'If for any reason GamePID fails to secure a handle, it will fail over to
'this function which uses FindWindow
Public Function GamePID2() As Long

w00t, 2 ways, with auto-fail over, to get a process handle.

'Automatically executed by GamePID or GamePID2, when a connection is either made
'or not made.
Public Function SetConnected()

'Yay - Numlock control.  No more users complaining that the trainer doesn't work
'Simply because they forgot to enable numlock.
Public Sub ToggleNumLock(TurnOn As Boolean)

'An odd function in a trainer eh?  Many uses.  Primarily, to make a 'link' to the game
'or .bat or whatever you want to execute, so that when the ShellExec function calls it
'the game does not become a child process.
'I know there's gotta be another way, but hey - whatever works!
Public Function Create_Shortcuts(stFilePathOnly As String, stFileNameRef As String, stLocation As SHORTCUT_LOCATIONS, stLinkName As String) As String

'One of my own creations, which takes string input and determines if the characters are
'"Hex" like.  I.e. 0-F
'It's not actually checking for a value type of hex... simply checking to see
'if text input 'looks like hex'.  Like the IsNull() function.
Public Function IsHex(strValue As String) As Boolean

'These 3 functions deal directly with the registry.  Notice how all the inputs are Variants?
'You can send null values, instead of having to define your group, or sub group, etc.
'These were originally ganked from a VB 'examples' site, but highly modified to be
'very programmer friendly.
Public Function RegRead(KeyGroup As Variant, subGroup As Variant, Key1 As Variant) As String
Public Function RegWrite(KeyGroup As Variant, subGroup As Variant, Key1 As Variant, SValue As Variant)
Public Function RegDelete(KeyGroup As Variant, subGroup As Variant, Key1 As Variant) As Boolean

'This one automatically deletes the keys/sub-keys your trainer has created.
'I usually include a "Reset all options" feature in the trainers, as they offer
'way too much power, and end-users can sometimes botch it up.
Public Function RegReset()


'FltToLng takes a game read Float (as double), turns it into a 4 byte - game readable/writeable "Float", in Double form.
'You cant simply convert a VB Single or Double into a Long then write it, because VB uses signed floats.
'FltToLng and LngToFlt are for converting floats from/to a game.
Public Function FltToLng(fltData As Double) As Long
Public Function LngToFlt(lngData As Long) As Double


'The Normalise function was created to ensure that values lower or higher then acceptible were not written to the slider bars.
'Essentially: You can feed it the value (as double), the lowest and highest numbers possible (as doubles) and if it is below or above, it will return the lowest/highest possible number.
'Not the same as Normalize, which is a calculus kinda thing.. ;) simply my way of describing the functionality.
Public Function Normalise(dblVal As Double, dblLow As Double, dblHigh As Double) As Double


'I think the next few are a bit obvious.
'Ex: lngRValue = ReadBytes (&H00912345, 4)
'That would read 4 bytes of memory, from address 00912345, and place it in lngRValue (which is a long)
'See the LngToFlt and FltToLng functions, to convert floats being read from, and written to the game.
'If you simply convert a single or double, in VB, to a long, games will NOT read them right.
Public Function ReadBytes(Offset As Long, ReadLen As Long) As Long

Public Function Write4Bytes(Offset As Long, Value As Long) As Boolean

Public Function WriteBytes(Offset As Long, Value As Long, WriteLen As Long) As Boolean


This module has come a long way since I first created it using THIS spectacular "n00b to VB trainer makin'" tutorial.
http://www.extalia.com/home/index.php?sel=guides&view=40

I highly recommend walking through the 5-10 minutes it'll take you to finish the tutorial simply so you can see how TrainerAPI.bas came to be... Watch out though. Some of the things they suggest are *wrong*, or not the best idea when it comes to making a smooth trainer (i.e. setting your hotkey timer to 1 millisecond..) - which is why I'm inculding my most recent TrainerAPI.bas with this post. I have also ripped out the form specific code, left a little commented out as example, and commented on every single function/sub in it, giving examples (in comments) where possible. (yes, my girlfriend is out of town right now...)

Lastly, I highly suggest you snag the B&W2 OpenSource trainer, even if you don't or never will own the game. Its a great example of how to interact with the TrainerAPI module. It also contains the hot-key handling on frmMain, which has not been 'ported' to the TrainerAPI just yet. Furthermore: The hot-key handling in the tutorial link = TEH SUKKK..

If you want to dive right in...
- Snag the B&W2 trainer
- Rename frmMain to frmOldMain
- Create a new frmMain
- Use the old frmMain as direct example.

Each generation of a trainer, this is what I do, with the one before it, until I remove frmMainOld and press on.

p.s. VB.net sux bawlz... no matter how 'good' it is.
How many ppl want to distribute a trainer that requires a heafty .NET framework download? Pfft... .Net was created for 2 kinds of people. People who want to combine a shitload of languages into one big cluster-fuck of a program and lazy bitches who want to use the 50? some odd megs of over-processor-intensive API because they dont really know how to code themselves. IMHO

Keep it simple! The simplest answer is always the best.

And to the guy that said 'the really good coders who code trainers now adays , code them in assembly'

heh..

That's worse then C.

The good coders USE assembly mods in their trainers, but to pump em out quick, you sure aren't going to get there by pushing and popping all day long.



The Extension 'zip' was deactivated by an board admin, therefore this Attachment is not displayed.

Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites