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


Joined: 27 Nov 2010 Posts: 107 Location: Quebec City  |
Posted: Sat Nov 27, 2010 6:42 am Post subject: Randomness to Perform Different Actions |
 |
|
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 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 |
|
|
|
|
|
 |
 |
 |
 |
 |
jim102 Agent


Joined: 27 Nov 2010 Posts: 107 Location: Quebec City  |
|
|
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6173
 |
Posted: Sat Nov 27, 2010 7:11 am Post subject: |
 |
|
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. |
|
|
|
|
|
 |
 |
 |
 |
 |
jim102 Agent


Joined: 27 Nov 2010 Posts: 107 Location: Quebec City  |
Posted: Sat Nov 27, 2010 7:15 am Post subject: |
 |
|
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 |
|
|
|
|
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Sat Nov 27, 2010 4:48 pm Post subject: |
 |
|
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 )
Trev _________________
   |
|
|
|
|
|
 |
 |
 |
 |
 |
jim102 Agent


Joined: 27 Nov 2010 Posts: 107 Location: Quebec City  |
Posted: Sat Nov 27, 2010 6:36 pm Post subject: |
 |
|
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,
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, I would need to understand that if I want to use correctly an action block |
|
|
|
|
|
 |
 |
 |
 |
 |
oldyz 007

Joined: 02 Dec 2009 Posts: 607
 |
Posted: Sat Nov 27, 2010 7:44 pm Post subject: |
 |
|
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. |
|
|
|
|
|
 |
 |
 |
 |
 |
Wreck Administrator


Joined: 14 Dec 2005 Posts: 7252 Location: Ontario, Canada  |
|
|
|
|
|
 |
 |
 |
 |
 |
jim102 Agent


Joined: 27 Nov 2010 Posts: 107 Location: Quebec City  |
Posted: Sun Nov 28, 2010 11:47 am Post subject: |
 |
|
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. |
|
|
|
|
|
 |
 |
 |
 |
 |
Trevor 007


Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest  |
Posted: Sun Nov 28, 2010 4:05 pm Post subject: |
 |
|
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 _________________
   |
|
|
|
|
|
 |
 |
 |
 |
 |
jim102 Agent


Joined: 27 Nov 2010 Posts: 107 Location: Quebec City  |
Posted: Sun Nov 28, 2010 6:38 pm Post subject: |
 |
|
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 |
|
|
|
|
|
 |
 |
 |
 |
 |
Camaro Secret Agent

Joined: 10 Aug 2009 Posts: 308 Location: Indiana  |
Posted: Sun Nov 28, 2010 6:45 pm Post subject: |
 |
|
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 |
|
|
|
|
|
 |
 |
 |
 |
 |
jim102 Agent


Joined: 27 Nov 2010 Posts: 107 Location: Quebec City  |
Posted: Sun Nov 28, 2010 6:50 pm Post subject: |
 |
|
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? |
|
|
|
|
|
 |
 |
 |
 |
 |
Camaro Secret Agent

Joined: 10 Aug 2009 Posts: 308 Location: Indiana  |
Posted: Sun Nov 28, 2010 6:55 pm Post subject: |
 |
|
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 |
|
|
|
|
|
 |
 |
 |
 |
 |
Wreck Administrator


Joined: 14 Dec 2005 Posts: 7252 Location: Ontario, Canada  |
Posted: Sun Nov 28, 2010 11:26 pm Post subject: |
 |
|
Trevor wrote: | what is the HEX for 20?"?, 15. |
Errr, is it not 14? Unless you are counting zero as one, 20 = 0x14. _________________
YOUTUBE | TWITTER/X | FACEBOOK | VAULT | MOD DB | RHDN |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
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
|
|
|
 |