ShootersForever.com Forum Index

GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion
GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community


hacking

 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
zerojett
00 Agent
00 Agent


Joined: 01 Feb 2006
Posts: 434
Location: Saskatchewan, Canada.

 PostPosted: Wed Jun 07, 2006 2:05 pm    Post subject: hacking Reply with quote Back to top

okay... i know there are plenty of faqs out there on how to hack, but i find it better if someone real teaches. i want to know the basics, and then level mods.

oh, check out my new site! if you have sugguestions, pm me. http://www.zerojett.tk or http://ca.geocities.com/mikelwnrt
_________________
zerojett lives on!
 
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
technoPP7
Secret Agent
Secret Agent


Joined: 07 May 2006
Posts: 266
Location: Boston

 PostPosted: Wed Jun 07, 2006 2:25 pm    Post subject: Reply with quote Back to top

nice little N64 moblie...
_________________
 
View user's profile Send private message Visit poster's website MSN Messenger
zerojett
00 Agent
00 Agent


Joined: 01 Feb 2006
Posts: 434
Location: Saskatchewan, Canada.

 PostPosted: Wed Jun 07, 2006 7:13 pm    Post subject: Reply with quote Back to top

i wish it was mine... ive got ideas to mod it... smaller case, top cart feed, possible wireless capabilities. hmm... really hoping that wreck and kc would be here.
_________________
zerojett lives on!
 
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
kcghost
Hacker
Hacker


Joined: 18 Jan 2006
Posts: 551

 PostPosted: Wed Jun 07, 2006 7:43 pm    Post subject: Reply with quote Back to top

*ahem* specific.
 
View user's profile Send private message Send e-mail
zerojett
00 Agent
00 Agent


Joined: 01 Feb 2006
Posts: 434
Location: Saskatchewan, Canada.

 PostPosted: Wed Jun 07, 2006 7:51 pm    Post subject: Reply with quote Back to top

*rolls eyes* like... offset value, the vocabulary. values... how to find co-ordinates. object data type, what float means. anything at all
_________________
zerojett lives on!
 
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Erevan
Secret Agent
Secret Agent


Joined: 04 Feb 2006
Posts: 336
Location: Saguenay, Canada

 PostPosted: Wed Jun 07, 2006 9:38 pm    Post subject: Reply with quote Back to top

I like your website Zerojett Very Happy
 
View user's profile Send private message Send e-mail
doctornull
Agent
Agent


Joined: 18 Mar 2006
Posts: 75

 PostPosted: Thu Jun 08, 2006 3:52 am    Post subject: Reply with quote Back to top

If you get taught the specifics, you would not understand it, you have to get right back to the basics first.
 
View user's profile Send private message
kcghost
Hacker
Hacker


Joined: 18 Jan 2006
Posts: 551

 PostPosted: Thu Jun 08, 2006 5:55 am    Post subject: Reply with quote Back to top

No such thing as basics. The best way to know the basics is in a quest to modify something specific. "Basics" questions are endless, a beginer must figure most of them out himself, and it is not as hard as it sounds.
 
View user's profile Send private message Send e-mail
doctornull
Agent
Agent


Joined: 18 Mar 2006
Posts: 75

 PostPosted: Thu Jun 08, 2006 8:05 am    Post subject: Reply with quote Back to top

kcghost wrote:
No such thing as basics. The best way to know the basics is in a quest to modify something specific. "Basics" questions are endless, a beginer must figure most of them out himself, and it is not as hard as it sounds.


Well thats what happened to me, when some people tried to explain offset values or pointers etc.. i had no idea what they were talking about because I didn't know the first thing about hex. Once you know just a few simple points, most hacking becomes much easier. You should start with changing amo values or health before you try and worry about offset values.
 
View user's profile Send private message
kcghost
Hacker
Hacker


Joined: 18 Jan 2006
Posts: 551

 PostPosted: Thu Jun 08, 2006 8:15 am    Post subject: Reply with quote Back to top

I meant more towards specific goal. Now im getting confused, lol. Well, yeah, start with basic goals. Zerojett, come up with a specific basic goal. Dont ask general questions.
 
View user's profile Send private message Send e-mail
zerojett
00 Agent
00 Agent


Joined: 01 Feb 2006
Posts: 434
Location: Saskatchewan, Canada.

 PostPosted: Thu Jun 08, 2006 8:56 pm    Post subject: Reply with quote Back to top

umm... a minimum health, full body armor code. i can do ammo with artmoney, so it should be no harder with mem edit.

edit: how do you find health values? oh, 200th post.
_________________
zerojett lives on!
 
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
MultiplayerX
007
007


Joined: 29 Jan 2006
Posts: 1210
Location: USA

 PostPosted: Fri Jun 09, 2006 11:22 am    Post subject: Reply with quote Back to top

The most important thing is KNOWING the games setup addresses located in memory editor. Below is a FULL explanation a child could follow laid out by Zoinkity and Wreck.

Scotch,

    Awesome to see you hacking again, man.  I'll try and help you out the best I can.  You'll be using the Stack setup for Surface, right?  Well, I guess it wouldn't matter what setup you've selected, since the method for hacking presets is the same.  To determine where the preset list starts, you're going to have to start the stage up.  When the music kicks in, go into the Memory Editor.  Go to address 80075D18 to locate where the basic presets are listed.  Write down / type out that address, then go there. You'll be looking at the first "000" preset in the stage.  Get out your computer calculator.  It's located under your accessories folder, or in the Start window > All Programs > Accessories > Calculator.  Once opened, click View > Scientific.  Change it to Hex and Qword, either under the view tab or or under the input / output field.  Each preset is "2C" long.  The address located at 80075D18 is your first basic preset "000".  Let's say that it is 801ED000.  So you want to know where preset number "16" is.  You type "16" x "2C" in your calculator.  You'll end up with "3C8".  Now, add the first preset address to that.  It'll calculate that preset "16" (which is actually the 22nd preset, because it's in Hex [ you know it considers A-F as presets, too] ) is at 801ED3C8.  That is where you're coordinates would be.  You probably have a list of all the presets for Stack.  Just enter in the preset ID, multiply it by 2C, then add it to the first preset address.  Hopefully that's easy enough to understand.  I just came up with that method a few days ago while working on the Bunker i Multi setup file.  I did it backwards though, subtracting from the final preset.  This should be even easier, though.

    An easy way to find where your current coordinates are, is to stand somewhere you like and go into Memory Editor.  Scan the address "80079C28", which is where your respawns are located.  Scroll down a bit, until you get to about 80079E00 - 80079F80.  You should come across a few pointers (addresses in memory).  If you are playing two-player, there will be two side-by-side.  4-Player will have four grouped together.  Write down / type out those addresses.  The first one is player one, second one player two, etc, etc.  If you want to grab player two's coords, go to their address. When you have gone to that address, click the R shoulder button once, to skip down a whole screen length.  Right near the bottom, you'll find a pointer to a place in memory.  It should look something like "8006xxxx". Write it down and go there.  You should highlight "0604" or "0606", which is the indicator that it's a human controlled character.  Next to it is a pointer to the players in-level data.  Transparency, ID tag, other pointers to size and what not.  After that is your coordinates.  You already know how to use these, so there is no point in explaining them.  Just note that player coordinates can change place as you modify the level.  As you switch around the setup file, making the glass into other objects, it might either increase or decrease where in the memory a players coordinates are. Remember to re-check where they are stored if you run into problems.

If you need to find out where the item / object programming starts, go into the memory while the stage is loading and check out 80075D0C.  The pointer there will send you straight to the Flag Tag Token, which is always the first item to appear in a multiplayer setup file.  Weapons usually follow afterwards, in the order of weapon, ammo #1 & ammo #2, repeat. However, the Basement / Library setup has a weapon set with only one ammo box.  Armour comes next most of the time, looking like "01 80 00 15 00 73 XX XX" (01 80 size, 15 type, 073 image, XX XX preset).  I've probably explained it better in a previous e-mail.  You should have no trouble figuring it out.
As far as the advanced "2xxx" presets go, you won't really need to worry about using them.  The base codes you've been using for most of your stages, since they all use the Stack's setup file, modify the twelve glass presets into the basic "0xxx" type.  They range from "025" to "030" and use the same formula as the respawns.  As long as you use the serial to change the positions to basics, you'll be fine.  Use the same exact formula I wrote up for you.  If you need to find the first preset for the glass in the "025" preset, just multiply it by "2C" and add it to the first "000" preset address.  We pretty much have to do it this way, since using the "2xxx" presets are nearly out of the question.  They are specially designed for specific items.  Say you were to modify the glass image into a door, but keep it in it's advanced preset location.  You end up with a door that has the same shape and size as a pane of glass.  This can be interesting in very rare instances, such as the Facility.  Other than that, it's something we'd rather like to avoid.  Basic presets only use coordinates, rotation (what direction it is looking in), and room pointers (as well as a pointer to a place in the setup file that tells where the room pointer comes from, but isn't even usable when switching a stages file, so don't even worry about trying to figure out what I'm talking about here).  The advanced type incorporates all of that, but includes more specific data for sizing. Height, width, thickness, etc.  They are mainly used for glass and doors, but other things apply, too.  You can not set a door to a basic preset, it has to be advanced.  Although you can't set it to the "2xxx" ID, it has to be changed to look like a basic.  If it uses the position "2715", it reads it as "005".  Strange at first, but it becomes very simple after you use it a few times.  Once again, you can avoid it if you don't understand it. We're only focusing on getting those presets working, right now.  I've gotten off track, anyhow.

    Basic presets are "2C" in length each, but Advanced are "44".  Don't bother with them, though.  You'll end up with paper thin items.  That's if they even load into that spot.  But if you're curious and would like to check out the "2xxx" presets, here's how.  Start up the stage, hit the GS button when the music starts, then look up the address "80075D1C" - which is next to where the "000" type presets are.  Have fun!

   The glass in Stack is object type "2A".  After the "2A" you'll see its image as "068".  Then it's preset, which is between "2710" and "271B". You'll be modifying all of that, though.  So the object type for most generic objects is "03".  Image is whatever you like.  Presets are "025"-"030".  Object type for a driving vehicle is "27" and an aircraft is "28".  When you get to making them, I'll help out in better detail.
,Wreck

There are a few life-saving addresses to know, and
the one with setup pointers is most important for
editting stages.

The setup pointers are always at 80075D00. If you
jump there while a stage is loaded you will see 11
pointers. Each one is to a different part of setup
data.
I'm only going to list a few of them here - the ones
for spawns, objects, and the two type of presets. The
others are single player only and are for complex
things like paths, enemy spawning, and certain
objectives. (changing them, even when you know how
they work, can be a really bad idea)

setup pointers. Anything with an - don't worry about.
- - spawn points objects
- - 0xxx presets 2xxx presets
- - start of preset file (these offsets!)
_____________________
so you aren't confused, a byte is a set of two
numbers, like this:
FF
four bytes would look like this:
3F 80 00 00

a byte is a number from 0(00) to 255(FF)
Everything you see is in hexadecimal. When you count
in hexadecimal, you count like so:
0 1 2 3 4 5 6 7 8 9 A B C D E F

So, if you're adding remember:
9 + 1 = A
and
F + 1 = 10

You'll get used to it soon.
_____________________
there are two kinds of preset positions. Type 0xxx
start counting at 0000. If you see any object with a
preset 0000, 0001, 0002, etc THAT ISN'T A DOOR that
uses one of these. They are 44 bytes long and follow
this format:
x position
y position (not needed)
z position
x offset (don't mess with it)
y offset (don't mess with it)
z offset (don't mess with it)
x rotation
y rotation
z rotation
p--- pointer (points at a value like p123a, but isn't
useful for this stuff)
room pointer (pointer to the tile the object should
stand on - very important)

The only things you need to set are the x position, z
position, and room pointer. That's 4 codes per
preset.

These use a very special kind of number called a float
or IEEE number. These are fractions, like 3.14157.

Thankfully, you don't have to convert them to place
things if you can find bond's coordinates. Bond's
coordinates are the last listing in a table starting
at 80069C00 (don't fire though, because that adds
things on the end of the table and makes everything
much more difficult). Each one starts with a number;
You want one that starts 00000608. When you move, it
changes, so if you can't figure it out try that
method.

An example would be:
00000608 -------- 3E000000 3F800000 40000000 8014234C

In the example, the x position is 3E000000, the z
position is 40000000, and the room pointer is
8014234C.
If you stick these into a preset, that will change
whatever point you had into this position.
_____________________
2xxx presets are far more complicated. They are used
by doors, glass, etc. 2710 is the first entry on the
chart, then 2711, 2712, 2713, etc. Doors, though,
start counting at 0000, which is bloody annoying.

They are 68 bytes long. They store all the same stuff
as the 0xxx types as well as stuff to tell the object
how wide, tall, and long to be. They also appear at
exactly the height you set them to, unlike 0xxx where
gravity pull sthem to the floor.

You don't really want to try to set these, as they
take a lot of code and are touchy at best. However,
you probably do want to set objects to them, and
that's in the next section.
_____________________
Object list
These are the objects loaded into the stage. I should
probably send you the full object doc Sub and I have
worked on, but the most important things are all in
the first 8 bytes

ss ss -- tt MM MM pp pp
[s]cale: you can set how large the object is
[t]ype of object: there's a slew of types, listed
below
[M]odel: the object used. I attached Krijy's object
chart there. stick in a new model number and boom!
different object
[P]reset: you can use either kinds of presets. 0xxx
starts at 0000 and 2xxx starts at 2710. Not all
stages have 2xxx types, so watch out.

some common kinds of objects are:
01 doors. 0x100 bytes.

03 normal objects, such as crates, etc. 0x80 bytes
long

08 weapon pickups. 0x88 large. If you set the value
at 0x80 you can change the weapon you get on pickup.
What it looks like is set by the [m]odel though, so
don't forget to change one and not the other.
weapon digits are:
weapon model name
02 BA Hunting Knife
03 D1 Throwing Knife
04 BF PP7
05 CC PP7 (Silenced)
06 CD DD44 Dostovei
07 C1 Klobb
08 B8 KF7 Soviet
09 C3 ZMG 9mm
0A BD D5k Deutsche
0B CE D5k (Silenced)
0C C2 Phantom
0D BC AR33 Assault Rifle
0E C5 RC-P90
0F C0 Shotgun
10 CF Automatic Shotgun
11 D2 Sniper Rifle
12 BE Cougar Magnum
13 D0 Golden Gun
14 BF Silver PP7
15 BF Gold PP7
16 BB Moonraker Laser
17 C6 Watch Laser
18 B9 Grenade Launcher
19 D3 Rocket Launcher
1A C4 Hand Grenade
1B C9 Timed Mine
1C C8 Proximity Mine
1D C7 Remote Mine
1F C6 Tazer Boy
20 CA Tank Weapon

14 ammo boxes. 0xB4 large. You see the FFFF stuff?
If you set the 0000s after it to a number you pick up
that amount of ammo. The ammo types go in order, so
first FFFF0000 is type 1 ammo.
ammo types are:
1 9mm Ammo
2 (beta) also 9mm Ammo
3 Rifle Ammo
4 Shotgun Cartridges
5 Hand Grenades
6 Rockets
7 Remote Mines
8 Proximity Mines
9 Timed Mines
A Throwing Knives
B Grenade Launcher Rounds
C Magnum Rounds
D Golden Bullets

15 body armour. 0x88. the value at 0x80 is the
amount of health you get. Its a percentage, so if you
change the 0100 to 0200 you get double. It is really
easy to change body armour into a weapon. Just change
the type and set 0x80 to the weapon type.

2A normal glass
2F tinted glass, but setting the tint is kinda silly
30 ends the object list. you can stop the object list
early if you set an object type to this.
_____________________
The spawn points are the preset values characters
spawn at. Its different in solo, but in multiplayer
each one is listed like this:
0000 0xxx 0000
the xxx's are a 0xxx type preset. For instance, if
you wanted to start at the second preset you would
type in:
0000 0001 0000
(that's the second preset. They start counting at 0)

You really don't want to mess with the code after it.
It tells the spawn list to stop, and if you don't have
it the whole game crashes.

Naturally this should utterly confuse you long enough
to put together something more helpful. The master of
delay tactics strikes again. You feel strange.

-Zoinkity
_________________
http://codelegends.proboards.com/
 
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department All times are GMT - 8 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

Cobalt 2.0 BB theme/template by Jakob Persson.
Copyright © 2002-2004 Jakob Persson


Powered by BB © 01, 02 BB Group

 


Please Visit My Other Sites: GoldenEyeForever.com | GrandTheftAutoForever.com

Got kids? Check out my Dora The Explorer site with games and coloring pages!

Our forums feature Nintendo 64 games, GoldenEye 007 N64 New Maps and Missions, GoldenEye Cheats, N64 Emulator, Gameshark, GoldenEye Multiplayer and more!

[ Privacy Policy ]