SHARE
TWEET

PiTRNG.lua

Miguzepinu Apr 25th, 2017 (edited) 166 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. rng_address = 0x02060E06
  2. lucky_chance = 3 --(out of 100)
  3. lucky_chance_high = 6
  4. v_space = 9
  5. base = 6 --value x to display rng % x (number of enemies)
  6. Mario_target = 7 --#RNG value that determines Mario's target
  7. Luigi_target = 6 --#RNG value that determines Luigi's target
  8. target = 1 --# of target enemy (0-5)
  9. yorng = 43653
  10.  
  11. function BitAND(a,b)--Bitwise and
  12.     p,c = 1,0
  13.     while a>0 and b>0 do
  14.         local ra, rb = a%2, b%2
  15.         if ra+rb > 1 then
  16.             c = c+p
  17.         end
  18.         a, b, p = (a-ra)/2, (b-rb)/2, p*2
  19.     end
  20.     return c
  21. end
  22.  
  23. function nextRNG(seed)--RNG algorithm
  24.     return BitAND(math.floor(seed*20.5), 0x7fff) + seed%2*0x8000
  25. end
  26.  
  27. function fn()
  28.     rng = memory.readword(rng_address)--get current (most recently used) RNG
  29.     gui.text(0, -190, rng, "red")--display current RNG
  30.     frameFoundM = false
  31.     frameFoundL = false
  32.     for i = 1,20 do --for each next 20 RNG values
  33.         rng = nextRNG(rng)-- find next RNG value
  34.        
  35.         color = ""
  36.         if rng%100 < lucky_chance then
  37.             color = "#FFFF00"
  38.         elseif rng%100 < lucky_chance_high then
  39.             color = "#FFAA00"
  40.         end
  41.         gui.text(0, i*v_space-190, rng, color)
  42.         if rng == yorng then
  43.             gui.text(69, i*v_space-190, "yoooo")
  44.         end
  45.        
  46.         if base == 2 then
  47.             rngmod = rng%8/4
  48.         else
  49.             rngmod = rng%base
  50.         end
  51.         gui.text(250, (i-1)*v_space-190, rng%base)
  52.         gui.text(240, (Mario_target-1)*v_space-190, "M", "red")
  53.         if i >= Mario_target and rng%base == target and frameFoundM == false then
  54.             frameFoundM = true
  55.             gui.text(244, 0, i-Mario_target, "red")
  56.         end
  57.         gui.text(240, (Luigi_target-1)*v_space-190, "L", "green")
  58.         if i >= Luigi_target and rng%base == target and frameFoundL == false then
  59.             frameFoundL = true
  60.             gui.text(244, 10, i-Luigi_target, "green")
  61.         end
  62.     end
  63. end
  64.  
  65. gui.register(fn)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top