|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
NightFire Newbie cheater Reputation: 0
Joined: 14 Jun 2003 Posts: 11 Location: St. Louis, Missouri
|
Posted: Sat Jun 14, 2003 10:12 am Post subject: Programming |
|
|
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 |
|
|
wh1t3y Advanced Cheater Reputation: 1
Joined: 09 May 2003 Posts: 85 Location: Missouri
|
|
Back to top |
|
|
NightFire Newbie cheater Reputation: 0
Joined: 14 Jun 2003 Posts: 11 Location: St. Louis, Missouri
|
Posted: Sun Jun 15, 2003 8:23 pm Post subject: |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25288 Location: The netherlands
|
Posted: Mon Jun 16, 2003 1:53 am Post subject: |
|
|
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 |
|
|
NightFire Newbie cheater Reputation: 0
Joined: 14 Jun 2003 Posts: 11 Location: St. Louis, Missouri
|
Posted: Mon Jun 16, 2003 9:42 am Post subject: |
|
|
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 |
|
|
NightFire Newbie cheater Reputation: 0
Joined: 14 Jun 2003 Posts: 11 Location: St. Louis, Missouri
|
|
Back to top |
|
|
JimYall Newbie cheater Reputation: 0
Joined: 22 Dec 2005 Posts: 15
|
Posted: Sat Dec 24, 2005 1:06 am Post subject: |
|
|
hey can u tell me wat's a good book to learn Visual Basic for newbie??
|
|
Back to top |
|
|
cparty Expert Cheater Reputation: 0
Joined: 01 Dec 2005 Posts: 219
|
Posted: Sat Dec 24, 2005 4:21 am Post subject: |
|
|
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 |
|
|
Tsongkie Newbie cheater Reputation: 0
Joined: 24 Sep 2005 Posts: 16
|
Posted: Thu Dec 29, 2005 5:58 pm Post subject: |
|
|
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 |
|
|
Zhoul Master Cheater Reputation: 1
Joined: 19 Sep 2005 Posts: 394
|
Posted: Thu Dec 29, 2005 7:01 pm Post subject: |
|
|
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 - 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.
|
|
Back to top |
|
|
|
|
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
|
|