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


Randomness to Perform Different Actions
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
jim102
Agent
Agent


Joined: 27 Nov 2010
Posts: 107
Location: Quebec City

 PostPosted: Sat Nov 27, 2010 6:42 am    Post subject: Randomness to Perform Different Actions Reply with quote Back to top

Hello, since few days I have a problem to understand that thing. My first language is not english but I can speak english. I have seen that subdrag had post only 2 tutorials in french for me but I try to make my own in translating.

As I saw, Randomness is useful for spawn guards or something in the level or display text and what are others?

But in the exemple of subdrag on how to use action blocks, it talks about a display text.

LTitleE and LMiscE tells me nothing.

Here is the hardest part to understand:

The main important commands are 33 (seed random byte), and 34, a return value loop
function for whether the seeded random byte is <a> a value.

Basically, what is done is a random byte is generated, and then it is checked whether it is
below a value. In this example, there are four checks, to see whether it’s below 0x40,
0x80, 0xC0, and then the else clause (above 0xC0).


I am gonna tell you what I understand:

In the board I will post after this, we must add 33 seed random byte at first on the action block. A random byte is generated using that code and we need to know if that byte is inferior or superior(using 35) of a ceratin value.

But how can I see that random byte? Is it a command value like 34 etc...?

What is the certain value?

are they? 0x40, 0x80, 0xC0

(0210<40)?

What are the meanings of a simple 0,x,40,80 or CO or other weird CO

There are 4 checks 0x40,0x80 and two 0xC0


< 0x10, if so Return Value Loop Confused A stupid non sense 10 not 40,80 or C0

How work the other 0xC0?

Subdrag is not enough specific! He do not think we start understanding form nothing!


Last edited by jim102 on Mon Dec 06, 2010 5:04 pm; edited 5 times in total
 
View user's profile Send private message Send e-mail MSN Messenger
jim102
Agent
Agent


Joined: 27 Nov 2010
Posts: 107
Location: Quebec City

 PostPosted: Sat Nov 27, 2010 6:48 am    Post subject: Randomness to Perform Different Actions Reply with quote Back to top

So here is the thing we need to use:

http://www.servimg.com/image_preview.php?i=39&u=13036244

And i have seen that there is a subdrag in here. If it is him, get here!
 
View user's profile Send private message Send e-mail MSN Messenger
SubDrag
Administrator
Administrator


Joined: 16 Aug 2006
Posts: 6121

 PostPosted: Sat Nov 27, 2010 7:11 am    Post subject: Reply with quote Back to top

It's hexadecimal, so that's probably where confusion lies. Do a quick google search, it's a different number base.

Otherwise it just seeds a random value from 00 to FF and then checks whether it's lower than different spots.
 
View user's profile Send private message
jim102
Agent
Agent


Joined: 27 Nov 2010
Posts: 107
Location: Quebec City

 PostPosted: Sat Nov 27, 2010 7:15 am    Post subject: Reply with quote Back to top

hexadecimal, so how should I understand the tutorial and the checks and the last clause 0xC0?

Different base, all I know is for colors


Your exemple was for a display text. Without spawning guards or objects what are other utilities for randomness.

Resume return value and GOTO, anything!

Check if value is < 0x40. How to check?

Your value is it a number 0-40?

39<40
 
View user's profile Send private message Send e-mail MSN Messenger
Trevor
007
007


Joined: 15 Jan 2010
Posts: 926
Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest

 PostPosted: Sat Nov 27, 2010 4:48 pm    Post subject: Reply with quote Back to top

Ok, try this;

First Hexadecimal is 16 to the unit instead of 10
(base 10 - Decimal)
0 1 2 3 4 5 6 7 8 9 ... 20-29 30-39 40-49... 100 200

(base 16 - Hexidecimal)
0 1 2 3 4 5 6 7 8 9 A B C D E F ... 20-2F 30-3F 40-4F ... 100-1FF 200-2FF

Second, the equasion as I read is goes (VB Style)

RandomByte = RND*(16*16)
IF RandomByte < 64 THEN ' where 64 is 0x40
'do something
ELSE IF RandomByte < 128 THEN ' where 128 = 0x80
'do domething else
ELSE IF RandomByte < 190 THEN ' where 190 = 0xC0
'do yet something else
ELSE
'if non of these work do this
END IF

Hope this helps (And I hope its correct Smile )

Trev
_________________
 
View user's profile Send private message
jim102
Agent
Agent


Joined: 27 Nov 2010
Posts: 107
Location: Quebec City

 PostPosted: Sat Nov 27, 2010 6:36 pm    Post subject: Reply with quote Back to top

First Hexadecimal is 16 to the unit instead of 10
(base 10 - Decimal)
0 1 2 3 4 5 6 7 8 9 ... 20-29 30-39 40-49... 100 200

0 to 20 and after 20-29, 30-39,40-49,50-59,60-69,70-79,80-89,90-99,100-109...

But 0-9,10-19 don`t work?

(base 16 - Hexidecimal)
0 1 2 3 4 5 6 7 8 9 A B C D E F ... 20-2F 30-3F 40-4F ... 100-1FF 200-2FF

0-9, where is 10? 9+A?

0-9, A B C D E F G = 16 VALUES

What is the logic until 20?

50-5F,60-6F,80-8F,90-9F,100-11FF

20-2A,30-3A,40-4A,50-5A,60-6A

20,2A,2B,2C,2D,2E,2F,2G,30,3A,3B,3C,3D,3E,3F,3G,40,4A,4B,4C,4D,4E,4F,4G,

Shocked WTF

What is RND?

ELSE IF RandomByte < (?*?)128 THEN ' where 128 = 0x80
'do domething else
ELSE IF RandomByte <(?*?) 190 THEN ' where 190 = 0xC0
'do yet something else (what does it do?)
ELSE
'if non of these work do this
END IF

If works alone just a end

No, I get confuse, Confused I would need to understand that if I want to use correctly an action block
 
View user's profile Send private message Send e-mail MSN Messenger
oldyz
007
007


Joined: 02 Dec 2009
Posts: 606

 PostPosted: Sat Nov 27, 2010 7:44 pm    Post subject: Reply with quote Back to top

if you speak spanish post spanish versions of posts too -

the hex numbers i have problems too - there is converters that are very helpful, i just hope that some values are not like some mystery values
(like zoom values) that don't make sense even if you input
the right hex Numbers they give random results of sorts.

EDIT -
oops no spanish - french
captain canada knows some french but his is elementary school grade since he left canada at about 10 yrs old-
still if it helps post it like that too.
 
View user's profile Send private message
Wreck
Administrator
Administrator


Joined: 14 Dec 2005
Posts: 7198
Location: Ontario, Canada

 PostPosted: Sun Nov 28, 2010 12:11 am    Post subject: Reply with quote Back to top

Just going to move this to a more appropriate forum...
_________________

YOUTUBE | FACEBOOK | VAULT | MOD DB | RHDN
 
View user's profile Send private message Visit poster's website
jim102
Agent
Agent


Joined: 27 Nov 2010
Posts: 107
Location: Quebec City

 PostPosted: Sun Nov 28, 2010 11:47 am    Post subject: Reply with quote Back to top

Is there an easy way to use random effects without using those hexadecimal non understandable.

Maybe this is just a theory and I can ignore it.

If I use 33,34 or 35, maybe the action blocks will automatically add the values. Just simply need to insert what I want without using hexadecimal and the action block will do the job for me.

I do not have any idea about that but I wanna finish my new tutorial about action blocks.

If I really need to understand, I have to find an easy way because I`m still not an expert hacker.
 
View user's profile Send private message Send e-mail MSN Messenger
Trevor
007
007


Joined: 15 Jan 2010
Posts: 926
Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest

 PostPosted: Sun Nov 28, 2010 4:05 pm    Post subject: Reply with quote Back to top

OK, let me put this simple.

Action Blocks are programming.
If you have no experiance programming (as you obviously dont) then you will not understand these conceps.

I know some will dissagree but above is the proof.



GoldenEye uses HEX, there is no getting away from it.



"0 to 20 and after ... "

NO! 0-9 THEN 10-19 THEN 20-29...


"But 0-9,10-19 don`t work? "

For What? Its Maths!

(Ok, Im calming down...)

"0-9, where is 10? 9+A? "

Its base 16, there is no 10 as you know it. if you write 10 the its decimal equivelant is 16.
Decimal 10 is A in HEX.
11 = B, 12 = C, 13=D, 14=E, 15=F


"0-9, A B C D E F G = 16 VALUES "

There is no G! F is last and for the record, start counting 0. So 0-F is 16 (hence base '16')

"What is the logic until 20?"

... ... hhhh... By that you mean "what is the HEX for 20?"?, 15.

"What is RND? "

A function of VB to produce a random value between 0 & 1 (i.e. a fraction/decimal/float)

"ELSE IF RandomByte < (?*?)128 THEN ' where 128 = 0x80
'do domething else
ELSE IF RandomByte <(?*?) 190 THEN ' where 190 = 0xC0
'do yet something else (what does it do?)
ELSE
'if non of these work do this
END IF "


What have you done to my If statement!!!???
Why have you put (?*?)'s in it?
I put a comment after each line saying the hex value (0x80,0xC0...)

See what I mean, you have no clue... I cant think of a better way to describe the weird functions of GE than to use a more readable equivenant as I posted, I mean its baisicly English.

If number less than anothernumber then go here. (where number and anothernumber are = to 0x40)



...Oh well, I tried to help... At least I didnt answere "google it", I HATE those answeres because google then points to those answeres when someone does 'google it'.

Trev
_________________
 
View user's profile Send private message
jim102
Agent
Agent


Joined: 27 Nov 2010
Posts: 107
Location: Quebec City

 PostPosted: Sun Nov 28, 2010 6:38 pm    Post subject: Reply with quote Back to top

Nice, I really understand until:

ELSE IF RandomByte < (?*?)128 THEN ' where 128 = 0x80
'do domething else
ELSE IF RandomByte <(?*?) 190 THEN ' where 190 = 0xC0
'do yet something else (what does it do?)
ELSE
'if non of these work do this
END IF "

You said before:

RandomByte = RND*(16*16)
IF RandomByte <64> RandomByte= RND*(X*X=128).

I know that 128 is 0x80 ok? But I do not know the base like it was 16 so it is another number multiplicated = 128.

It is the same thing with the 190.

And if a base value give an another form than ox40,0x80 or 0xC0, it`s just nothing else.

I believe I can find the base with a pocket calculator.

The square of 128 is 11.31, so the random value is 11.31

For 190 it is 13.78

Nice! So the check 0x40 is 64, 0x80 is 128,0xC0 is 190.

But 0x40 form means what?, except the 64. 0 to 40,0*40, is x a value?

I suppose it exists other checks like 0x70,0x50 or totally different like 13x50 or 200x400 but in GE it has only 4 checks and not more.

So I will need those 4 checks and a random value cannot be created by random?

Thanks for your help until now.

In the subdrag`s tutorial, the check is < 0x10 so maybe it does nothing not sure because I do not know the random value and the value of that check.


Last edited by jim102 on Sun Nov 28, 2010 6:46 pm; edited 1 time in total
 
View user's profile Send private message Send e-mail MSN Messenger
Camaro
Secret Agent
Secret Agent


Joined: 10 Aug 2009
Posts: 308
Location: Indiana

 PostPosted: Sun Nov 28, 2010 6:45 pm    Post subject: Reply with quote Back to top

Trevor, all of your post have confused me even, and I already know how to use action blocks and what hex is. He was confused to begin with and you probably confused him more by using an example in a different programming language.

As for jim...You will have to use Hex numbers if working with Goldeneye. Hexidecimal is just a numbering system that is different than the one that you are used to. It uses the letters A-F in addition to numbers.

For example, hex numbering goes like this --> 01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20.... and it keeps going. You can use a hex converter online if you need to know the decimal equivalent.

The 33 command seeds a random byte while the game is running, so you will not be able to know what the random byte is. The 34 command checks whether the random byte is less than a number that you pick. If it is then the 34 command will go to the action for that condition, otherwise if the random byte is not less the action block will keep going. I circled the box where you put the number to check against in blue in this picture --> http://i53.tinypic.com/w6xs2e.jpg the box circled in red is the loop that the 34 command will go to if the random number is lower than the number in the blue circled box.

So for example, you put the 33 command in an action block and it generates a random number. Let's pretend the random number is 0x9D. Then you put a 34 command that will check if the random number is less than 0x40. Since 0x9D is more than 0x40 then the 34 won't do anything. Then you put another 34 after that one that checks if the random byte is less than 0x80. 0x9D is not less than 0x80 so we keep going again. Then you put a 34 command that checks if the random byte is less than 0xC0. Since 0x9D IS less than 0xC0 the 34 command will go to whatever loop you specified for that 34.

Hopefully this will help you understand a little bit better.
_________________
304 HP
 
View user's profile Send private message
jim102
Agent
Agent


Joined: 27 Nov 2010
Posts: 107
Location: Quebec City

 PostPosted: Sun Nov 28, 2010 6:50 pm    Post subject: Reply with quote Back to top

Camaro wrote:
For example, hex numbering goes like this --> 01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20.... and it keeps going.


He talked about hex with 16 as base.

0 to 9, A,B,C,D,E,F

Maybe you talk about another hex base value.

You can see that thing in your page:

Return Value Loop (40)

The 40 means what?

0x40?
 
View user's profile Send private message Send e-mail MSN Messenger
Camaro
Secret Agent
Secret Agent


Joined: 10 Aug 2009
Posts: 308
Location: Indiana

 PostPosted: Sun Nov 28, 2010 6:55 pm    Post subject: Reply with quote Back to top

Sorry for double post but when you see '0x' all that means is the number after it is a hexidecimal number. It's to help distinguish the hexidecimal number 20 from the decimal number 20. 0x20 is 36 in decimal. So if you don't put the '0x' in front of the 20 then you don't know if you are talking about the value 20 or 36.

Edit: I was talking about hexidecimal numbers in my post you are referring to. Hexidecimal numbers are base-16. And yes, the 40 is 0x40, the hexidecimal number you are checking the random byte against.
_________________
304 HP
 
View user's profile Send private message
Wreck
Administrator
Administrator


Joined: 14 Dec 2005
Posts: 7198
Location: Ontario, Canada

 PostPosted: Sun Nov 28, 2010 11:26 pm    Post subject: Reply with quote Back to top

Trevor wrote:
what is the HEX for 20?"?, 15.

Errr, is it not 14? Unless you are counting zero as one, 20 = 0x14.
_________________

YOUTUBE | FACEBOOK | VAULT | MOD DB | RHDN
 
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
Goto page 1, 2, 3  Next
Page 1 of 3

 
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 ]