 |
WiiLi.org a new revolution
|
| View previous topic :: View next topic |
| Author |
Message |
CarlKenner Site Admin
Joined: 29 Nov 2006 Posts: 614
Digg It |
Posted: Fri Jan 12, 2007 5:03 am Post subject: Best Zelda OOT Script ever! Guaranteed! |
|
|
I have finally finished the ultimate script for Zelda Ocarina Of Time, with almost perfect Twilight Princess controls.
You can even use the Classic Controller as a Nunchuk if you don't have a Nunchuk.
The only thing missing is rumble and sound, but they can wait until the next version.
Don't forget to set your emulator up as described in the script below, because I changed the keys I was using to the Project64 defaults (but with the analog joystick).
It is so good that you should read the Twilight Princess instruction manual here, and use the exact control system it describes:
http://media.nintendo.com/mediaFiles/mzs8X4E07ZfOrr5eYY2feDCbcUbUOGa3.pdf
You can aim your bow or look around with the Wiimote IR, you can swap items onto the B trigger, you can do four different sword moves by slashing with the Wiimote, you can access individual subscreens with buttons on the wiimote, you can do spin attacks with the nunchuk, you can throw things with the Nunchuk, you can toggle the on-screen map, you use your shield automatically when Z-Targetting, and you can even press Home to go to the Home menu, where you can control the cursor with the Wiimote and change the emulator settings.
Note: The first 3 LEDs on the Wiimote show which item is currently assigned to the B trigger.
There are also some new controls to allow you to do things that can't be done in Twilight Princess. See the comments in the script below for details. Basically you roll your Nunchuk left or right.
Note, you may need to change the frame rate, and the spin time near the top of the script to get Link to do the spin attack the quick way. This is very time sensitive and depends on your emulator's speed. Whenever Link fails to do the spin attack the quick way, don't worry, he will automatically do it the slow way.
There are also some really cool side effects. Because shaking the Nunchuk vertically presses the A button, you can do jumping gestures, rolling forward gestures, knocking on doors gestures, picking things up gestures, putting things away gestures, etc. That is in addition to the intended rock throwing gesture. The other cool side effect is shaking the Wiimote to cancel things, or to flip the subscreens over, or to skip really boring speeches by people you talk to.
Let me know if I got any of the controls wrong.
| Code: |
/* For instructions on using these controls, see:
http://media.nintendo.com/mediaFiles/mzs8X4E07ZfOrr5eYY2feDCbcUbUOGa3.pdf
*/
// Zelda: Ocarina of Time, with EXACT Twilight Princess controls!
// By Carl Kenner, special thanks to bomboy02
// You need to have installed PPJoy and added a Virtual Joystick 1
// Version 2.0:
// Emulator keys changed to default Project64, but with
// analog joystick instead of arrow keys.
// Classic Controller can be used as a nunchuk (DPad does forces)
// Everything now works EXACTLY like in Twilight Princess,
// including: Items on B trigger, Wiimote aiming, Wiimote looking,
// nunchuk throw, nunchuk spin attack, automatic shield,
// subscreen buttons, onscreen map button, talk to Midna/Navi,
// first person view, action button, and Home Menu (with cursor).
// Additional Controls:
// Ocarina Mode: You must tilt the Nunchuk left to get out or play
// the Ocarina. Or to use the buttons OOT tells you without them
// activating their Twilight Princess functions.
// Crouch with Shield: Tilt the Nunchuk right to crouch and use
// your shield without Z-Targetting. You can only stab while in
// this mode.
// Fix Invalid State: If first/third person is backwards, press
// up on the D-Pad. But if the menu is in an invalid state,
// go to the map subscreen and DOUBLE CLICK Home.
// Home menu keys: Access the Home menu like in Twilight Princess,
// then you can use these keys: point = mouse, A = LMB, B = RMB,
// d-pad or nunchuk = arrow keys, - = Escape, Z/+ = Enter
// C = Alt (or Alt-Tab if pressed multiple times)
// Missing Controls:
// Fishing, and other things later in the game are not implemented
// because I haven't got that far in the game.
// Shield Thrust (because it doesn't exist in this game)
// IMPORTANT!
// Please set Z-Targetting to HOLD, instead of TOGGLE in the options
// menu of Ocarina of Time! This script only sort-of works in TOGGLE
// mode.
//Set your emulator to these values:
// Analog Stick = PPJoy Virtual Joystick
// A-Button = X, B-Button = C, Start = Enter
// L-Button = A, R-Button = S, Z-Button = Z
// C-Left = Delete, C-Up = Home
// C-Right = PageDown, C-Down = End
// adjust these to make spin attacks work on first swing
pie.FrameRate = 60Hz
var.SpinTime = 30ms
// Find pointer coordinates 1024x768
var.IRCount = 1
if var.IRCount = 1 then
if wiimote.dot1vis then
Var.IRx = (1023-wiimote.dot1x)
Var.IRy = Wiimote.dot1y
Var.IRvis = true
else
Var.IRvis = false
end if
else
if wiimote.dot1vis and wiimote.dot2vis then
Var.IRx = 1023-(wiimote.dot1x+wiimote.dot2x)/2
Var.IRy = (Wiimote.dot1y+Wiimote.dot2y)/2
Var.IRvis = true
else
Var.IRvis = false
end if
end if
// Change in pointer position is mapped to "IR Joystick"
var.IRJoyX = MapRange(Smooth(Delta(Var.IRx),2), -20,20, -1,1)
var.IRJoyY = -MapRange(Smooth(Delta(Var.IRy),2), -20,20, -1,1)
// Keep holding "IR Joystick" when aiming with pointer off the screen
if var.IRvis then
Var.Above = Var.IRy < 60
Var.Below = Var.IRy > 710
Var.ToLeft = Var.IRx < 60
Var.ToRight = Var.IRx > 960
else
if var.Above then
var.IRJoyY = 1
else if var.Below then
var.IRJoyY = -1
end if
if var.ToLeft then
var.IRJoyX = -1
else if var.ToRight then
var.IRJoyX = 1
end if
end if
if Pressed(Wiimote.Nunchuk.CButton or Wiimote.Classic.ZL) and (not Var.Menu) and (not Var.MenuWaiting) and (not var.FirstPerson) then
Say("First Person")
Var.FirstPerson = true
elseif (var.FirstPerson) and Pressed(Wiimote.Nunchuk.CButton or Wiimote.Classic.ZL or X or C or S or Home or End or PageUp or PageDown) and (not Var.Menu) and (not Var.MenuWaiting) then
Say("Third Person")
Var.FirstPerson = false
end if
// Roll nunchuk left to use ocarina
var.Ocarina = -135 < Wiimote.Nunchuk.Roll < -60 degrees or Wiimote.Classic.Left
// Z-Button = Z Targetting
var.ZTargetting = (Wiimote.Nunchuk.ZButton or (Wiimote.Classic.L > 50%)) and (var.Ocarina or ((not var.Menu) and (not var.MenuWaiting)))
// Roll nunchuk right to use your shield
// Z-Targetting also uses shield when not in Ocarina Mode
var.Shield = ((135 > Wiimote.Nunchuk.Roll > 60 degrees) or (Wiimote.Classic.Right) or (var.ZTargetting and (not var.Ocarina))) and (not var.Menu) and (not var.MenuWaiting)
S = var.Shield and (not var.HomeMenu)
// Aim when shooting, in first person, or crouching and blocking
var.Aiming = ((Wiimote.B and not var.Ocarina) or var.FirstPerson or (var.Shield and (not var.ZTargetting))) and (not var.HomeMenu)
// analog = movement
if not var.Swinging then
// When aiming, add IR Joystick to real joystick
// If trying to set it to more than 1, keep track of the leftovers
// and add them on next time.
if var.Aiming then
var.jx = Wiimote.Nunchuk.JoyX + Wiimote.Classic.Joy1X + var.IRJoyX + var.LeftOverX
var.LeftOverX = 0
if var.jx > 1 then var.LeftOverX = Var.jx - 1
if var.jx < -1 then var.LeftOverX = Var.jx + 1
var.jy = Wiimote.Nunchuk.JoyY + Wiimote.Classic.Joy1Y + var.IRJoyY + var.LeftOverY
var.LeftOverY = 0
if var.jy > 1 then var.LeftOverY = Var.jy - 1
if var.jy < -1 then var.LeftOverY = Var.jy + 1
debug = var.LeftOverX+', '+var.LeftOverY
ppjoy.analog0 = EnsureRange(var.jx, -1, 1)
ppjoy.analog1 = EnsureRange(var.jy, -1, 1)
else
// When not aiming, just use joystick
ppjoy.analog0 = EnsureRange(Wiimote.Nunchuk.JoyX+Wiimote.Classic.Joy1X, -1, 1)
ppjoy.analog1 = EnsureRange(Wiimote.Nunchuk.JoyY+Wiimote.Classic.Joy1Y, -1, 1)
// and remember direction Link is facing
if abs(Wiimote.Nunchuk.JoyX)>0.1 or abs(Wiimote.Nunchuk.JoyY)>0.1 then
var.JoyDirX = Wiimote.Nunchuk.JoyX
var.JoyDirY = Wiimote.Nunchuk.JoyY
end if
end if
end if
// A = Talk / open doors / interact
X = Wiimote.A and (not var.HomeMenu)
C = (var.Ocarina or var.Menu) and Wiimote.B and (not Var.HomeMenu)
// B = trigger
// swing wiimote = sword
//C = Wiimote.B
// left, right, down = items
if pressed(Wiimote.Left) and (not var.Ocarina) and (not var.HomeMenu) then
release(S)
var.item = 1
var.leds = 1
wait 20ms
press(Delete)
wait 50ms
release(Delete)
wait 1000ms
press(X)
wait 50ms
release(X)
if var.Shield then press(S)
end if
if pressed(Wiimote.Down) and (not var.Ocarina) and (not var.HomeMenu) then
release(S)
var.item = 2
var.leds = 2
wait 20ms
press(End)
wait 50ms
release(End)
wait 1000ms
press(X)
wait 50ms
release(X)
if var.Shield then press(S)
end if
if pressed(Wiimote.Right) and (not var.Ocarina) and (not var.HomeMenu) then
release(S)
var.item = 3
var.leds = 4
wait 20ms
press(PageDown)
wait 50ms
release(PageDown)
wait 1000ms
press(X)
wait 50ms
release(X)
if var.Shield then press(S)
end if
Wiimote.Leds = var.Leds
if pressed(Wiimote.B) and var.Shield and (not var.Ocarina) and (not var.Menu) and (not var.MenuWaiting) then
var.MenuWaiting=True
release(S)
wait 40ms
var.MenuWaiting=False
end if
if var.Ocarina or var.Menu then
var.LeftItem = Wiimote.Left
var.DownItem = Wiimote.Down
var.RightItem = Wiimote.Right
else if var.item = 1 then
var.LeftItem = Wiimote.B
var.DownItem = False
var.RightItem = False
else if var.item = 2 then
var.LeftItem = False
var.DownItem = Wiimote.B
var.RightItem = False
else if var.item = 3 then
var.LeftItem = False
var.DownItem = False
var.RightItem = Wiimote.B
end if
Delete = var.LeftItem and not var.MenuWaiting
End = var.DownItem and not var.MenuWaiting
PageDown = var.RightItem and not var.MenuWaiting
if released(Wiimote.B) and var.Shield and (not var.Ocarina) and (not var.Menu) then
var.MenuWaiting=True
press(S)
wait 40ms
var.MenuWaiting=False
end if
var.SwingDiagonal = abs(Wiimote.RelAccX) >= 11 and abs(Wiimote.RelAccY) >= 11 and Sign(Wiimote.RelAccX) <> Sign(Wiimote.RelAccY) and (not var.Menu) and (not var.MenuWaiting)
var.SwingSideways = abs(Wiimote.RelAccX) >= 15 and abs(Wiimote.RelAccY) < abs(Wiimote.RelAccX)*0.6
var.SwingVertical = abs(Wiimote.RelAccY) >= 15 and abs(Wiimote.RelAccX) < abs(Wiimote.RelAccY)*0.6 and (not var.Menu) and (not var.MenuWaiting)
var.SwingForwards = abs(Wiimote.RelAccZ) >= 15 and abs(Wiimote.RelAccX) < abs(Wiimote.RelAccZ)*0.6 and abs(Wiimote.RelAccY) < abs(Wiimote.RelAccZ)*0.6 and (not var.Menu) and (not var.MenuWaiting)
if var.SwingDiagonal and (not var.Swinging) and (not var.Shield) and (not var.ZTargetting) then
var.Swinging = true
press(Z)
ppjoy.analog0 = 1 // right + z = swing diagonal
ppjoy.analog1 = 1
wait 50 ms
var.Swinging = true
press(C)
wait 100 ms
release(C)
release(Z)
wait 100 ms
var.swinging = false
end if
if var.SwingDiagonal and var.ZTargetting and (not var.Swinging) and (not var.Shield) then
var.Swinging = true
ppjoy.analog0 = 1 // Right + Z = diagonal
ppjoy.analog1 = 1
wait 100 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
end if
if var.SwingDiagonal and var.ZTargetting and var.Shield and (not var.Swinging) then
var.Swinging = true
release(S)
ppjoy.analog0 = 1 // Right + Z = diagonal
ppjoy.analog1 = 1
wait 50 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
press(S)
end if
if var.SwingSideways and (not var.Swinging) and (not var.Shield) and (not var.ZTargetting) then
var.Swinging = true
ppjoy.analog0 = 0
ppjoy.analog1 = 0 // centred = sideways swing
wait 50 ms
var.Swinging = true
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
end if
if var.SwingSideways and var.ZTargetting and (not var.Swinging) and (not var.Shield) then
var.Swinging = true
ppjoy.analog0 = 0
ppjoy.analog1 = 1 // Backwards + Z = sideways swing
wait 200 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
end if
if var.SwingSideways and var.ZTargetting and var.Shield and (not var.Swinging) then
var.Swinging = true
release(S)
ppjoy.analog0 = 0
ppjoy.analog1 = 1 // Backwards + Z = sideways swing
wait 50 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
press(S)
end if
if var.SwingVertical and (not var.Swinging) and (not var.Shield) and (not var.ZTargetting) then
var.Swinging = true
ppjoy.analog0 = var.JoyDirX/hypot(var.JoyDirX, var.JoyDirY)
ppjoy.analog1 = var.JoyDirY/hypot(var.JoyDirX, var.JoyDirY)
wait 50 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
end if
if var.SwingVertical and var.ZTargetting and (not var.Swinging) and (not var.Shield) then
var.Swinging = true
ppjoy.analog0 = 0
ppjoy.analog1 = 0 // Centred + Z = sideways swing
wait 200 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
end if
if var.SwingVertical and var.ZTargetting and var.Shield and (not var.Swinging) then
var.Swinging = true
release(S)
ppjoy.analog0 = 0
ppjoy.analog1 = 0 // Centred + Z = sideways swing
wait 50 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
press(S)
end if
if var.SwingForwards and (not var.Swinging) and (not var.Shield) and (not var.ZTargetting) then
var.Swinging = true
press(Z)
ppjoy.analog0 = 0
ppjoy.analog1 = -1
wait 50 ms
press(C)
wait 100 ms
release(C)
release(Z)
wait 100 ms
var.swinging = false
end if
if var.SwingForwards and var.ZTargetting and (not var.Swinging) and (not var.Shield) then
var.Swinging = true
ppjoy.analog0 = 0
ppjoy.analog1 = -1
wait 200 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
end if
if var.SwingForwards and var.ZTargetting and var.Shield and (not var.Swinging) then
var.Swinging = true
release(S)
ppjoy.analog0 = 0
ppjoy.analog1 = -1
wait 50 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
press(S)
end if
if var.SwingForwards and (not var.ZTargetting) and var.Shield and (not var.Swinging) then
var.Swinging = true
ppjoy.analog0 = 0
ppjoy.analog1 = -1
wait 50 ms
press(C)
wait 100 ms
release(C)
wait 100 ms
var.swinging = false
end if
// Nunchuk throw = Throw
if ((Wiimote.Classic.Up) or (abs(wiimote.Nunchuk.RelAccY) >= 15 and abs(Wiimote.Nunchuk.RelAccX) < abs(Wiimote.Nunchuk.RelAccY)*0.6)) and (not var.swinging) and (not var.Menu) and (not var.MenuWaiting) then
var.swinging = true
press(X)
wait 100 ms
release(X)
wait 100 ms
var.swinging = false
end if
// Nunchuk shake = Spin attack
if (Wiimote.Classic.Down or (abs(Wiimote.Nunchuk.RelAccX) >= 15 and abs(Wiimote.Nunchuk.RelAccY) < abs(Wiimote.Nunchuk.RelAccX)*0.6)) and (not var.swinging) and (not var.Shield) and (not var.Menu) and (not var.MenuWaiting) then
var.swinging = true
ppjoy.Analog0 = 0
ppjoy.analog1 = -1
wait var.SpinTime
ppjoy.Analog0 = 1
ppjoy.analog1 = -1
wait var.SpinTime
ppjoy.Analog0 = 1
ppjoy.analog1 = 0
wait var.SpinTime
Press (key.C)
ppjoy.Analog0 = 1
ppjoy.analog1 = 1
wait var.SpinTime
ppjoy.Analog0 = 0
ppjoy.analog1 = 1
Wait var.SpinTime
ppjoy.Analog0 = -1
ppjoy.analog1 = 1
Wait var.SpinTime
ppjoy.Analog0 = -1
ppjoy.analog1 = 0
Wait var.SpinTime
ppjoy.Analog0 = -1
ppjoy.analog1 = -1
Wait var.SpinTime
ppjoy.Analog0 = 0
ppjoy.analog1 = -1
Var.swinging = false
wait 900ms - 8*var.SpinTime
Release (key.C)
endif
// 2 = toggle on screen map
A = Wiimote.Two and (not var.HomeMenu)
// up = talk with midna, er. I mean Navi
// C = first person
Home = (Wiimote.Up or Wiimote.Nunchuk.CButton or Wiimote.Classic.ZL) and (not var.HomeMenu)
// Z = Z-Target
z = Wiimote.Nunchuk.ZButton and (not var.Menu) and (not var.MenuWaiting)
if Pressed(Wiimote.One) and (not var.MenuWaiting) and (not var.Ocarina) then
var.DesiredPage = 0
if (var.Page=Var.DesiredPage) and (var.Menu) then
var.DesiredMenu = false
// Say("Leaving Map")
else
var.DesiredMenu = true
Say("Map")
end if
else if SingleClicked(Wiimote.Plus) and (not var.MenuWaiting) and (not var.Ocarina) then
var.DesiredPage = 1
if (var.Page=Var.DesiredPage) and (var.Menu) then
var.DesiredMenu = false
// Say("Leaving Quest Status")
else
var.DesiredMenu = true
Say("Quest Status")
end if
else if DoubleClicked(Wiimote.Plus) and (not var.MenuWaiting) and (not var.Ocarina) then
var.DesiredPage = 2
if (var.Page=Var.DesiredPage) and (var.Menu) then
var.DesiredMenu = false
// Say("Leaving Equipment")
else
var.DesiredMenu = true
Say("Equipment")
end if
else if Pressed(Wiimote.Minus) and (not var.MenuWaiting) and (not var.Ocarina) then
var.DesiredPage = 3
if (var.Page=Var.DesiredPage) and (var.Menu) then
var.DesiredMenu = false
// Say("Leaving Select Item")
else
var.DesiredMenu = true
Say("Select Item")
end if
end if
if pressed(Var.DesiredMenu) or released(var.DesiredMenu) then
// DebugPrint("Changed Desired Menu")
var.MenuWaiting = true
press Enter
wait 100 ms
release Enter
wait 2 seconds
var.MenuWaiting = false
// DebugPrint("Finished changing desired menu")
var.Menu = Var.DesiredMenu
end if
if var.Menu but not Var.MenuWaiting then
if pressed(Z) then
Var.Page--
if var.Page<0 then var.Page = var.Page + 4
Var.DesiredPage = var.Page
end if
if pressed(S) then
Var.Page++
if var.Page>3 then var.Page = var.Page - 4
Var.DesiredPage = var.Page
end if
end if
if var.Menu and (not var.MenuWaiting) and ((var.Page < var.DesiredPage < var.Page+3) or (var.DesiredPage=0 and var.Page=3)) then
var.MenuWaiting = true
//DebugPrint("Page Right")
press Key.S
wait 100 ms
release Key.S
wait 1 second
var.Page++
if var.Page>3 then var.Page = var.Page - 4
var.MenuWaiting = false
//DebugPrint("Done Page Right")
end if
if var.Menu and (not var.MenuWaiting) and ((var.Page-3 < var.DesiredPage < var.Page) or (var.DesiredPage=3 and var.Page=0)) then
//DebugPrint("Page Left")
var.MenuWaiting = true
press Key.Z
wait 100 ms
release Key.Z
wait 1 second
var.Page--
if var.Page<0 then var.Page = var.Page + 4
var.MenuWaiting = false
//DebugPrint("Done Page Left")
end if
// Double-click the Home button to reset the game state
if DoubleClicked(Wiimote.Home) then
Say("Reset to valid state.")
Var.Page = 0 // Map
Var.Menu = True // Menu On
Var.DesiredMenu = True // We are happy with menu on
// Can't be in Home Menu mode if we are accessing the map screen
Var.MenuWaiting = False
Var.HomeMenu = False
Var.Swinging = False
end if
// Press Home to activate the Home menu, with mouse cursor.
// In this case we go to the emulator's options menu.
if (SingleClicked(Wiimote.Home) or Pressed(Wiimote.Classic.Home)) and (not var.HomeMenu) then
Say("Home Menu")
var.MenuWaiting = True
var.Swinging = True
// Pause, or possibly Resume
Press(F2)
wait 50 ms
Release(F2)
// Guaranteed return to window mode
Press(Alt)
Press(O)
wait 50 ms
Release(O)
Release(Alt)
wait 50 ms
Press(F)
wait 50 ms
Release(F)
wait 3 seconds
Press(Escape)
wait 100ms
Release(Escape)
wait 3 seconds
// Resume, or possibly Pause
Press(F2)
wait 50 ms
Release(F2)
wait 50 ms
// Guaranteed Pause, never does resume
Press(Alt)
Press(S)
wait 50 ms
Release(S)
Release(Alt)
wait 50 ms
Press(P)
wait 50 ms
Release(P)
// Options Menu
Press(Alt)
Press(O)
wait 50 ms
Release(O)
Release(Alt)
var.HomeMenu = True
end if
// Display the cursor if in the Home Menu
if Var.IRvis and Var.HomeMenu then
Mouse.x = Smooth((Var.IRx/1023)*1.1-0.05,10)
Mouse.y = Smooth((Var.IRy/768)*1.1-0.05,10)
var.LeftButton = Wiimote.A
var.RightButton = Wiimote.B
else
var.LeftButton = False
var.RightButton = False
end if
Mouse.LeftButton = var.LeftButton
Mouse.RightButton = var.RightButton
Up = Var.HomeMenu and (Wiimote.Up or Wiimote.Nunchuk.JoyY < -50% or Wiimote.Classic.Joy1Y < -50%)
Down = Var.HomeMenu and (Wiimote.Down or Wiimote.Nunchuk.JoyY > 50% or Wiimote.Classic.Joy1Y > 50%)
Left = Var.HomeMenu and (Wiimote.Left or Wiimote.Nunchuk.JoyX < -50% or Wiimote.Classic.Joy1X < -50%)
Right = Var.HomeMenu and (Wiimote.Right or Wiimote.Nunchuk.JoyX > 50% or Wiimote.Classic.Joy1X > 50%)
Alt = Var.HomeMenu and (KeepDown(Wiimote.Nunchuk.CButton, 1 second) or KeepDown(Released(Wiimote.Nunchuk.CButton), 500ms))
Tab = Var.HomeMenu and Wiimote.Nunchuk.CButton and KeepDown(Released(Wiimote.Nunchuk.CButton), 1 second)
Escape = Var.HomeMenu and (Wiimote.Minus or Wiimote.Classic.Minus)
// 1 and 2 buttons are currently unused in the Home Menu
// Start button in ocarina mode, or Enter in Home Menu
Enter = ((Wiimote.One or Wiimote.Plus or Wiimote.Minus) and var.Ocarina) or (var.HomeMenu and (Wiimote.Nunchuk.ZButton or Wiimote.Classic.LFull or Wiimote.Plus or Wiimote.Classic.Plus))
// They need to press Home again to return to the game.
if (SingleClicked(Wiimote.Home) or Pressed(Wiimote.Classic.Home)) and (var.HomeMenu) then
Say("Returning to Game")
var.HomeMenu = False
var.MenuWaiting = False
var.Swinging = False
// Guaranteed Pause, never does resume
Press(Alt)
Press(S)
wait 50 ms
Release(S)
Release(Alt)
wait 50 ms
Press(P)
wait 50 ms
Release(P)
wait 100 ms
// Guaranteed return to fullscreen mode
Press(Alt)
Press(O)
wait 50 ms
Release(O)
Release(Alt)
wait 50 ms
Press(F)
wait 50 ms
Release(F)
Wait 3 seconds
// Which means this is Resume
Press(F2)
wait 100 ms
Release(F2)
wait 100 ms
end if
|
Last edited by CarlKenner on Sat Jan 13, 2007 6:09 am; edited 1 time in total |
|
| Back to top |
|
 |
Melchior
Joined: 16 Dec 2006 Posts: 9
Digg It |
Posted: Fri Jan 12, 2007 6:26 am Post subject: |
|
|
wow. that a huge script! bet it is good. |
|
| Back to top |
|
 |
Zac-uk
Joined: 09 Jan 2007 Posts: 26
Digg It |
Posted: Fri Jan 12, 2007 4:26 pm Post subject: |
|
|
Wow! Im just going to try this now, but im going to have to start a game on OOT again.... get back to you soon
...
This script sucks, why the hell would you have it SAY"HOME MENU" every time you press the home button? Why would you do that>? Are you completely insane? Not only have i followed your instructions and edited your script and removed the say function it stil doesnt work, pressing the home button causes the emulator to want to go full screen and vice versa, nunchuk DOESNT work and i cant even select anything? I know how to set up a emulator and THIS script is poor, a load of crap i may say, leave the scripting to the experts,
Edit
Ooops
Last edited by Zac-uk on Fri Jan 12, 2007 7:15 pm; edited 1 time in total |
|
| Back to top |
|
 |
TylerK

Joined: 18 Dec 2006 Posts: 384 Location: Springfield, IL
Digg It |
Posted: Fri Jan 12, 2007 5:50 pm Post subject: |
|
|
| Zac-uk wrote: | Wow! Im just going to try this now, but im going to have to start a game on OOT again.... get back to you soon
...
This script sucks, (yadda yadda yadda)... | Wow, you're kind of a fussy customer (*moderated*), aren't you? |
|
| Back to top |
|
 |
TweaK

Joined: 24 Dec 2006 Posts: 57
Digg It |
Posted: Fri Jan 12, 2007 5:54 pm Post subject: |
|
|
| Carl, any chance I could catch you over MSN? You're never on anymore :/ |
|
| Back to top |
|
 |
deceased Site Admin

Joined: 11 Dec 2006 Posts: 287 Location: Aurora, ON
Digg It |
Posted: Fri Jan 12, 2007 6:00 pm Post subject: |
|
|
| Zac-uk wrote: | | THIS script is poor, a load of crap i may say, leave the scripting to the experts, |
Made me chuckle...seeing as Carl wrote GlovePIE, I think he knows a thing or two about writing scripts in his own software. _________________ -deceased-
Wiili - a gnu revolution
Last edited by deceased on Mon Jan 15, 2007 1:39 pm; edited 1 time in total |
|
| Back to top |
|
 |
kunalkunal2
Joined: 13 Dec 2006 Posts: 279
Digg It |
Posted: Fri Jan 12, 2007 6:50 pm Post subject: |
|
|
wow great scirpt man, but How did you get IR working in the emulator?
I was trying to get it work by programming the arrow key to use it with the wiimote aiming
Can you help me with this
thx again
-Kunal _________________ Check out my collection of my wii script's
freewebs.com/kunalkunal2 |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|