Difference between revisions of "Talk:GetRandomPercent"
imported>JOG |
imported>JOG m |
||
Line 96: | Line 96: | ||
[[User:Dejunai|Dejunai]] 13:38, 31 August 2006 (EDT) | [[User:Dejunai|Dejunai]] 13:38, 31 August 2006 (EDT) | ||
:Hehe, don't betray all the secrets of the "cryptic" coders :) | :Hehe, don't betray all the secrets of the "cryptic" coders :)--[[User:JOG|JOG]] 14:02, 31 August 2006 (EDT) |
Revision as of 13:02, 31 August 2006
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)