Advertisement
Kaztalek

SoS J Script

Mar 19th, 2015
420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.31 KB | None | 0 0
  1. --"sosscriptJ.lua"
  2. --For use in MM (J) on BizHawk 1.9.1
  3. --Edit of Faschz's script
  4. --movie: http://www.mediafire.com/download/kb3caf153nbq642/sosj.bk2
  5. --state: http://www.mediafire.com/download/fu199xfnk5z4rbm/Zelda_no_Densetsu_-_Mujura_no_Kamen_(Japan).sosj.QuickSave1.State
  6. --
  7. --Memory Address notes
  8. --0x1EF462 is current map and scene
  9. --0x3FD622 is Soar Behavior
  10. --0x3FD8CB is A button
  11. --0x3FD8DB is Return B button value (True or False)
  12. --0x3FDC04 is current inventory screen
  13. --0x3FDC40 is Song of Soaring value
  14. --
  15. --To operate script properly, play movie first then run the script
  16.  
  17. --STARTING POINT HERE
  18. local sosValue = 0
  19. local file = io.open("sos_j_log.txt", "a")
  20.  
  21. while sosValue<32768 and sosValue>-32769 do
  22.   if input.get().V == true then
  23.     break
  24.   end
  25.   savestate.loadslot(1)
  26.   memory.write_s16_be(0x3FDC40, sosValue)
  27.  
  28.   local valueUsed = memory.read_s16_be(0x3FDC40)
  29.  
  30.  
  31. --while loop allows movie to be played out
  32.   while movie.mode() == ("PLAY") do
  33.     emu.frameadvance()
  34.   end
  35.  
  36.  
  37. --if statements to check end result of Index Warp
  38.   if memory.read_u16_be(0x1EF462) ~= 54336 then
  39.     if memory.read_u16_be(0x1EF462) == 26800 then
  40.       message = valueUsed.." warps to Great Bay Coast --- ".. memory.read_u16_be(0x3FD622)
  41.     elseif memory.read_u16_be(0x1EF462) == 27232 then
  42.       message = valueUsed.." warps to Zora Cape --- ".. memory.read_u16_be(0x3FD622)
  43.     elseif memory.read_u16_be(0x1EF462) == 45616 then
  44.       message = valueUsed.." warps to Snowhead --- ".. memory.read_u16_be(0x3FD622)
  45.     elseif memory.read_u16_be(0x1EF462) == 39552 then
  46.       message = valueUsed.." warps to Mountain Village --- ".. memory.read_u16_be(0x3FD622)
  47.     elseif memory.read_u16_be(0x1EF462) == 55440 then
  48.       message = valueUsed.." warps to South Clock Town --- ".. memory.read_u16_be(0x3FD622)
  49.     elseif memory.read_u16_be(0x1EF462) == 15936 then
  50.       message = valueUsed.." warps to Milk Road --- ".. memory.read_u16_be(0x3FD622)
  51.     elseif memory.read_u16_be(0x1EF462) == 34368 then
  52.       message = valueUsed.." warps to Woodfall --- ".. memory.read_u16_be(0x3FD622)
  53.     elseif memory.read_u16_be(0x1EF462) == 33952 then
  54.       message = valueUsed.." warps to Southern Swamp --- ".. memory.read_u16_be(0x3FD622)
  55.     elseif memory.read_u16_be(0x1EF462) == 8256 then
  56.       message = valueUsed.." warps to Ikana Canyon --- ".. memory.read_u16_be(0x3FD622)
  57.     elseif memory.read_u16_be(0x1EF462) == 43568 then
  58.       message = valueUsed.." warps to Stone Tower --- ".. memory.read_u16_be(0x3FD622)
  59.     elseif memory.read_u16_be(0x1EF462) == 7184 then
  60.       message = valueUsed.." Song of time --- ".. memory.read_u16_be(0x3FD622)
  61.     else
  62.       local mapWarp = memory.read_u16_be(0x1EF462)
  63.       message = valueUsed.." warps to "..mapWarp .." --- ".. memory.read_u16_be(0x3FD622)
  64.     end
  65.   elseif memory.read_u16_be(0x3FD8DB) == 1 then
  66.     message = valueUsed.." Crash --- ".. memory.read_u16_be(0x3FD622)
  67.   elseif memory.read_u16_be(0x3FD8CB) == 10 and memory.read_u16_be(0x3FDC04) == 1 then
  68.     message = valueUsed.." Softlock --- ".. memory.read_u16_be(0x3FD622)
  69.   else
  70.     message = valueUsed.." unknown result --- ".. memory.read_u16_be(0x3FD622)
  71.   end
  72.   print(message)
  73.   file:write(message .."\n")
  74.   file:flush()
  75.  
  76. --DIRECTION OF SCRIPT HERE
  77.   sosValue = sosValue + 1
  78.   emu.frameadvance()
  79. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement