PC + WiiMote: Ein Traumpaar?

    • Ah perfekt!

      Gut! Wiimote auch nun mit PC verbunden und das WiimoteConnect findet nun auch die Wiimote :drooling_face:

      Erster Schritt getan!

      :_________________:

      So! Was kommt als nächstes?

      Ich will Trackmania United Forever mit Wiimote spielen - so als Beispiel! Was muss ich machen?

      Ich hab beispielsweise das Programm "GlovePie" für Scrips usw ...

      Check das aber nicht wirklich ab ...

      :huh:

      Edit:

      hab mir mal von Nerd das srpic für mausbewegung reinkopiert und dann auf run geklick!

      aber es tut sich rein gar nix ... :dontknow:
      it's not easy when it's icy

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Stone ()

    • Wenn sich die WiiMote verbinden lässt (erscheinen dann so lustige grüne Pfeilchen auf dem Symbol in der Bluetooth-Umgebung^^) dann ist das schonmal ein sehr gutes Zeichen

      zu GlovePIE: am besten immer mit einfachen Befehlen testen, ob du die WiiMote ansprechen kannst
      zum Beispiel: "Debug = WiiMote.A"
      dann auf "Run"
      wenn du jetzt bei deiner WiiMote den A-Knopf drückst, sollte sich in dem kleinen Textfenster von GlovePIE der Wert ändern (von false auf true, logisch)

      Wenn das nicht funktioniert, dann versuch mal "WiiMote1.A" und "WiiMote2.A".

      Unter dem Menüpunkt "Troubleshooter" gibt es auch noch den Punkt "Bluetooth Fix", den man ab- / anschalten kann (also einfach mal umstellen, wenn alles andere nichts nützt)

      Und zum Schluss: bei mir ist es so, dass sich zwar beide WiiMotes mit dem PC verbinden lassen, aber nur eine funktioniert unter GlovePIE
      Wenn also alles nichts nützt, dann teste es mal mit deiner zweite WiiMote :slight_smile:
      Hier könnte meine Signatur stehen!
    • geht alles nicht!

      bleibt immer ohne mux auf false.

      werds später mit ner anderen wiimote versuchen!

      dankeschön trotzdem erstmal :slight_smile:


      _____

      edit

      lol - sehe grad dass batterien total leer sind ... - werd mal später neue auftreiben :slight_smile:
      it's not easy when it's icy

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Stone ()

    • So - funktioniert nun!

      Und was mach ich nun damit?

      Hab testwesie mal meinen Winapm mit Wiimote gesteuert - hat prima funktioniert!

      _______

      Nur: Jetzt hätt ich gern sinnvolle Anwendungen - eben beispielsweise um Trackmainia spielen zu können.

      (Game ist rel simpel: gas bremse, links recht lenken, und ne taste fürs zurücksetzten)

      lenken würd ich gern mit nunchuck! ist da dosierung überhaupt machbar?

      gibts irgendwo fertige scripts? game-geordnet :ugly: oder so?

      _______

      Was könnt ihr mir so empfehlen?
      it's not easy when it's icy
    • Stone schrieb:

      lenken würd ich gern mit nunchuck! ist da dosierung überhaupt machbar?

      Klar, Analogsticks haben Achsen, wie Joysticks
      (Rückgabewerte also -1 bis 1 ... ein "bisschen" nach links wäre zum Beispiel ~-0.25)
      Damit kannst du entweder einen virtuellen Joystick füttern, oder (meistens einfacher) direkt auf die Mausachsen übertragen
      naja, oder eben einfach ab einem bestimmten Wert eine Taste drücken :wink:

      Stone schrieb:

      (Game ist rel simpel: gas bremse, links recht lenken, und ne taste fürs zurücksetzten)

      na, ob lenken mit Nunchuk da sinnvoll ist?
      Könntest zum Beispiel die WiiMote querhalten, links und rechts lenken durch Neigen links / rechts, Gas geben / bremsen mit dem Steuerkreuz und zurücksetzen mit 1 oder 2, oder so :slight_smile:
      (oder Gas geben mit A, bremsen mit 1, zurücksetzen mit 2, oder oder oder ... bei so wenigen benötigten Tasten sind die Möglichkeiten praktisch endlos)

      Stone schrieb:

      gibts irgendwo fertige scripts? game-geordnet :ugly: oder so?
      Leider nicht :frowning2:
      Es gibt zwar eine relative große Community, aber die Hauptseite, auf der die sich versammeln, hat seit Ewigkeiten keine Admins / Moderatoren mehr... wimmelt von Spam und sonstigem Müll

      aber du hast ja noch mich :grin:
      Hier könnte meine Signatur stehen!
    • OK!

      Das Scrip funktioniert perfekt - grad ausprobiert!

      Nur das Problem: Die Lenkung greift auf die Bewegungssensoren zu - das heißt dass ich wie mit nem echten Lenkrad lenken muss - was bei TMN total tötlich ist. Gbit da nciht ne Steuerkreuz- oder Nunckuck.Variante?

      So ne Steuerkreuvariante kann doch nciht schwer sei zu scripten oder?

      EDIT:

      So - war leichter, als ich glaubte

      Spoiler anzeigen

      Quellcode

      1. /*Trackmania (Nations) WiiMote Script by Stone
      2. Download Trackmania Nations for free: trackmanianations dot com
      3. Hold your WiiMote sideways so that the expansion port is right.
      4. steering with cross
      5. */
      6. debug = 'Z=' + Wiimote.gz + 'g'
      7. var.led = 0 //1 = Leds on ; 0 = Leds off
      8. var.BaseOn = 30
      9. var.AddOn = 4
      10. var.BaseOff = 20
      11. var.AddOff = 0
      12. var.zBase = 0.20
      13. var.zAdd = 0.04
      14. /*Controls:
      15. A = Enter
      16. B = Reset
      17. 1 = Brake
      18. 2 = Acc
      19. Home = Escape
      20. Up = View 1
      21. Right = Cockpitview
      22. */
      23. Keyboard.Enter = Wiimote.A
      24. Keyboard.Down = Wiimote.One
      25. Keyboard.Up = Wiimote.Two
      26. Keyboard.Escape = Wiimote.Home
      27. Keyboard.Left = Wiimote.Up
      28. Keyboard.Right = Wiimote.Down
      29. Keyboard.BackSpace = Wiimote.B
      30. Keyboard.NUMPAD1 = Wiimote.Right
      31. Keyboard.NUMPAD3 = Wiimote.Left
      Alles anzeigen



      :ugly: :ugly: :ugly:

      So - was ich jetzt will ist eine Nunchuck-Steuerung. Sollte grundsätzlich kein Problem sein, doch ich will den Stick und seine Analogität optimal ausnutzen - dass die Lenkung eben auf den Stick genau reagiert mit allen Zwischenabstufungen - geht das überhaupt?

      ___________

      Edit2:

      Grad mein Lieblingsscrips gefunden: Winamp bzw. itunes Steuerung. Funzt auch auch dem Zimmer meiner Schwester :slight_smile:
      it's not easy when it's icy

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Stone ()

    • Stone schrieb:

      Sollte grundsätzlich kein Problem sein, doch ich will den Stick und seine Analogität optimal ausnutzen - dass die Lenkung eben auf den Stick genau reagiert mit allen Zwischenabstufungen - geht das überhaupt?

      Das geht an sich schon, wie gesagt ist der Analogstick ja nichts anderes, als ein kleiner Joystick.
      Das Problem dürfte wohl eher sein, dass die Steuerung im Spiel nur mit Tasten funktioniert (oder?) - und die kennen natürlich nur zwei Zustände (gedrückt / nicht gedrückt), da kann man die Vorteile des Analogsticks nur schwer umsetzen.
      Du könntest höchstens versuchen, die Steuerung auf die Mausachse zu legen (kenn das Spiel nicht, also keine Ahnung wie das da standardmäßig ist) - dann kannst du den Stick in seiner vollen Pracht benutzen (indem du die Bewegungen auf die Mausachse überträgst ... wie das geht, da kann Ich dir ein Beispiel basteln)

      aber wenn das Spiel keine Achsen als Eingabe unterstützt, dann kommt man nicht weit. Dann kann man nur noch simulieren, dass die Taste bei "Stick ganz rechts" durchgängig gedrückt bleibt, bei "Stick halb rechts" für eine halbe Sekunde gedrückt bleibt, dann für eine halbe Sekunde ungedrückt, und so weiter ... aber das ist nicht sehr genau und für ein Rennspiel wohl nicht wirklich zu gebrauchen
      Hier könnte meine Signatur stehen!
    • Ocarina of Time mit Twiligth Princess Steuerung auf dem PC

      OK!

      Hab grad mein Traum-Script gefunden *wo ist mein love smiley?*

      _____________________________________

      Ocarina of Time mit Wiimote+Nunchuck steuern, die Twilight Princess!

      Spoiler anzeigen

      /* For instructions on using these controls, see:
      media.nintendo.com/mediaFiles/…Orr5eYY2feDCbcUbUOGa3.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


      Muss ich echt ausprobieren!!!
      it's not easy when it's icy
    • Wo es nun so lange so still war um GlovePIE und es keine Updates gab (sehr ärgerlich, weil die beiden letzten Versionen jeweils ein paar sehr störende Bugs enthielten) gibt es nun endlich mal gute Neuigkeiten:
      GlovePIE hat eine neue Homepage, hat ein gewaltiges Update erhalten (Version 0.43) und unterstützt damit jede Menge neues Wii-Zubehör (offizielles und inoffizielles), inklusive WiiMotion+; außerdem wurden jetzt einige "Gesten" fest einprogrammiert und müssen nicht mehr mühsam zusammengebaut werden (WiiMote.Stabbing, WiiMote.CircleClockwise, solche Bewegungen eben, lassen sich jetzt wie normale Tasten abfragen) und natürlich sind die alten Bugs alle verschwunden :slight_smile:
      und zu guter Letzt gibt es sogar ein neues Forum, was hoffentlich wieder ein bisschen Schwung in die Script-Bastelei bringen wird (die alten Foren sind ja alle im Spam untergegangen, nachdem die Admins irgendwo verschollen sind :thinking: )

      Hab die neue Version noch nicht ausprobiert, aber klingt schon sehr gut :slight_smile:
      Hier könnte meine Signatur stehen!