Advertisement
Jimmie1717

Majora's Mask: Deku Palace SRM Location

Dec 3rd, 2019
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.17 KB | None | 0 0
  1. console.clear();
  2.  
  3. local location="(not set)";
  4. local flag=false;
  5. function check()
  6.     local pot={
  7.         bit.rshift(bit.band(memory.read_u16_be(0x410FA6),0x0F00),0x8),
  8.         bit.rshift(bit.band(memory.read_u16_be(0x410FA6),0x00F0),0x4),
  9.         bit.band(memory.read_u16_be(0x410FA6),0x000F),
  10.     }
  11.     -- Link not holding pot anymore.
  12.     if(memory.read_u32_be(0x3FFDB0+0x124)==0x00000000)then
  13.         -- 0xX2XX
  14.         -- 0xX3XX
  15.         -- 0xX6XX
  16.         -- 0xX7XX
  17.         if(pot[1]==0x2 or pot[1]==0x3 or pot[1]==0x6 or pot[1]==0x7)then
  18.             -- 0xXX15
  19.             -- 0xXX65
  20.             -- 0xXX2D
  21.             -- 0xXX4B
  22.             -- 0xXX80
  23.             if( ((pot[2]==0x1 or pot[2]==0x6) and pot[3]==0x5) or (pot[2]==0x2 and pot[3]==0xD) or (pot[2]==0x4 and pot[3]==0xB) or (pot[2]==0x8 and pot[3]==0x0))then
  24.                 location="Goht Trial";
  25.                 return true;
  26.             -- 0xXX01
  27.             elseif(pot[2]==0x0 and pot[3]==0x1)then
  28.                 location="Pirate's Fortress";
  29.                 return true;
  30.             end
  31.         end
  32.     end
  33.     return false;
  34. end
  35.  
  36. -- Reset on loading savestate.
  37. function reset()
  38.     if(flag)then
  39.         flag=false;
  40.     end
  41. end
  42.  
  43. while true do
  44.     event.onloadstate(reset);
  45.     if(check() and flag==false)then
  46.         gui.addmessage(location);
  47.         gui.addmessage("");
  48.         flag=true;
  49.     end
  50.     emu.frameadvance();
  51. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement