Talk:GetRandomPercent

Revision as of 13:02, 31 August 2006 by imported>JOG

Is this similar to Morrowind's Random100 function, or can it be used in the same manner? The Imperial Dragon 12:58, 11 June 2006 (EDT)


Random100 (as one word) in Morrowind was a global that was set to 0-100 once per frame (in the script "Main")

set variable to GetRandomPercent 

in Oblivion is the same as

set variable to Random 100

in Morrowind and will return a new random number ranging from 0-99 whenever you call it.

--JOG 13:40, 11 June 2006 (EDT)

I see, thank you. The Imperial Dragon 13:44, 11 June 2006 (EDT)


JOG 17:33, 29 July 2006 (EDT): Here's the math behind the first example:

short dice
set dice to 1 + 0.06 * GetRandompercent  


int(1 + 0.06 * 00) = int(1 + 0.00) = int(1.00) = 1

int(1 + 0.06 * 16) = int(1 + 0.96) = int(1.96) = 1 => Chance: 17%

int(1 + 0.06 * 17) = int(1 + 1.02) = int(2.02) = 2

int(1 + 0.06 * 33) = int(1 + 1.98) = int(2.98) = 2 => Chance: 17%

int(1 + 0.06 * 34) = int(1 + 2.02) = int(3.02) = 3

int(1 + 0.06 * 49) = int(1 + 2.94) = int(3.94) = 3 => Chance: 16%

int(1 + 0.06 * 50) = int(1 + 3.00) = int(4.00) = 4

int(1 + 0.06 * 66) = int(1 + 3.96) = int(4.96) = 4 => Chance: 17%

int(1 + 0.06 * 67) = int(1 + 4.02) = int(5.02) = 5

int(1 + 0.06 * 83) = int(1 + 4.98) = int(5.98) = 5 => Chance: 17%

int(1 + 0.06 * 84) = int(1 + 5.04) = int(6.04) = 6

int(1 + 0.06 * 99) = int(1 + 5.94) = int(6.94) = 6 => Chance: 16%


short dice
set dice to 6/99 * GetRandompercent 


Is the loaded variant and returns this:


int(6/99 * 00) = int(0.00) = 0

int(6/99 * 16) = int(0.97) = 0 => Chance: 17%

int(5/99 * 17) = int(1.03) = 1

int(5/99 * 32) = int(1.94) = 1 => Chance: 16%

int(5/99 * 33) = int(2.00) = 2

int(5/99 * 49) = int(2.97) = 2 => Chance: 17%

int(5/99 * 50) = int(3.03) = 3

int(5/99 * 65) = int(3.94) = 3 => Chance: 16%

int(5/99 * 66) = int(4.00) = 4

int(5/99 * 82) = int(4.97) = 4 => Chance: 17%

int(5/99 * 83) = int(5.03) = 5

int(5/99 * 98) = int(5.94) = 5 => Chance: 16%

int(5/99 * 99) = int(6.00) = 6 => Chance: 1%



Seems to me that for Random Numbers up to 50 you can use this Syntax:

short var
Set var to ( GetRandomPercent % <2..50> ) + 1

Where "Percent Sign" is the Modulus Operator...

Should effectively give every value 2 thru 50 an equal chance... Dejunai 13:38, 31 August 2006 (EDT)

Hehe, don't betray all the secrets of the "cryptic" coders :)--JOG 14:02, 31 August 2006 (EDT)
Return to "GetRandomPercent" page.