Rolanmen1

Summon Script for Fire Emblem: Sacred Stones

Jul 4th, 2011
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.26 KB | None | 0 0
  1. Save = savestate.create()
  2. savestate.save(Save)
  3. rngbase = 0x03000000;
  4. local Phase = 0x0202BCFF
  5. local counter = -1
  6. local PhanStr = 0x0202C718
  7. local PhanSpd = 0x0202C71A
  8. local frame = vba.framecount()
  9.  
  10. function nextrng(r1, r2, r3)
  11.     return AND(XOR(SHIFT(r3, 5), SHIFT(r2, -11), SHIFT(r1, -1), SHIFT(r2, 15)),0xFFFF)
  12. end
  13.  
  14. while true do
  15.     savestate.load(Save)
  16.     counter = counter + 1
  17.     while memory.readbyte(Phase) == 0 do
  18.         for n = 1,counter,1 do
  19.         Rtemp = nextrng(memory.readword(rngbase+4), memory.readword(rngbase+2), memory.readword(rngbase+0))
  20.         memory.writeword(rngbase+4, memory.readword(rngbase+2))
  21.         memory.writeword(rngbase+2, memory.readword(rngbase+0))
  22.         memory.writeword(rngbase+0, Rtemp);    
  23.         end;    
  24.         R = {};
  25.         for Rl = 0,4,2 do
  26.             R[Rl/2] = memory.readword(rngbase+Rl)
  27.         end;
  28.         gui.text(0,0,"Burned RNs: " .. counter)
  29.         actframe = vba.framecount()
  30.         if actframe == frame+2 then
  31.             joypad.set(1, {A=1})
  32.         elseif actframe == frame+5 then
  33.             joypad.set(1, {A=1})
  34.         end
  35.         if actframe == frame+30 and memory.readbyte(PhanStr) == 20 and memory.readbyte(PhanSpd) == 20 then
  36.             vba.pause()
  37.         elseif actframe == frame+30 and (memory.readbyte(PhanStr) == 20 or memory.readbyte(PhanSpd) == 20) then
  38.             break
  39.         else
  40.             emu.frameadvance()
  41.         end
  42.     end
  43. end
Advertisement
Add Comment
Please, Sign In to add comment