Je trouve que le script de bysty sors des sentiers battu, je m'intéresse aussi depuis peu a GlovePIE il est vrai que jouer avec le combo manette de nintendo apporte de bonne sensation de jeu...
Je vous propose celui de James Bond 007 - Blood Stone assemblé par mes soins.
Comme basketor63 j'ai préféré choisir la visée a l'aide du motion plus car a 120 Hz cela est bien plus précis, sensible et semblable a une souris que la visée infrarouge qui deviens donc inutile avec l'utilisation de ce script.
Lorsque le script est lancé il sera nécessaire de ne pas bouger la wiimote pour son calibrage cela prend généralement 5 secondes en cas d'échec un message s'affichera dans GlovePIE il suffira juste de relancer le script.
J'ai utilisé les touches par défaut du jeu pour les faire correspondre aux manettes.
Un coups de nunchuck vers le haut fera passé 007 par dessus les obstacles, un coup vers l'avant ou l'arrière le fera courir.
Un coups de wiimote vers l'avant déclenchera l'élimination au corps a corps.
Le script est a amélioré de plus les phases en véhicule sont une catastrophe pour gardé le contrôle avec le nunchuck ce n'est pas évident.
/*
Profil GlovePIE - James Bond 007(TM) Blood Stone
*/
key.W = Wiimote.Nunchuk.JoyY < -0.6 // Avancer
key.A = Wiimote.Nunchuk.JoyX < -0.6 // Aller à gauche
key.S = Wiimote.Nunchuk.JoyY > 0.6 // Reculer
key.D = Wiimote.Nunchuk.JoyX > 0.6 // Aller à droite
//key.F = Wiimote.Nunchuk.ZButton // Élimination (par bouton)
var.Elimination = wiimote.RawForceZ // Élimination (par mouvement de wiimote avant)
if var.Elimination < -25 then
var.Elimination = true
Wiimote.Rumble = true
else
var.Elimination = false
Wiimote.Rumble = false
endif
key.F = var.Elimination
mouse.RightButton = wiimote.Nunchuk.cButton // Viser
if Wiimote.B // Tirer
mouse.LeftButton = true
Wiimote.Rumble = true
else
mouse.LeftButton = false
Wiimote.Rumble = false
end if
//key.Q = non utilisé // Échanger arme
key.R = wiimote.Minus // Recharger (maintenir pour ramasser une arme)
var.Sauter = wiimote.nunchuk.rawforceY // Mouvement contextuel (par mouvement de nunchuck haut)
if var.Sauter < 75 then
var.Sauter = true
else
var.Sauter = false
endif
key.E = var.Sauter
key.space = Wiimote.Nunchuk.ZButton // S'abriter
key.Z = Wiimote.Up // Regler la lunette
//key.LeftShift = Wiimote.Nunchuk.ZButton // Courir (par bouton)
var.Courir = wiimote.nunchuk.rawforceZ // Courir (par mouvement de wiimote avant)
if var.Courir < 75 then
var.Courir = true
else
var.Courir = false
endif
key.LeftShift = var.Courir
key.LeftControl = Wiimote.Down // Tir ajusté
key.One = wiimote.One // Activer le téléphone
key.Three = Wiimote.Right // Arme principale
key.Two = Wiimote.Left // Arme secondaire
key.E = Wiimote.Plus // Utiliser le téléphone
key.escape = Wiimote.Home // Menu
/*
WiiMotion Plus Mouse v 2010.01.08
by lednerg
Emulates the basic functionality of a Gyration Air Mouse.
Requires GlovePIE version .40 or higher.
Leave the Wiimote on your desk when starting so it can calibrate.
Hold B to move, A = Left-Click, + = Right-Click, Down = Middle-Click.
Minus re-calibrates, just in case you need it.
*/
//var.CalibrateButton = wiimote.Home // Calibration wiimote (bouton home non temporisé)
if wiimote.Home = true then // Calibration wiimote (bouton home temporisé)
wait 3 seconds
var.CalibrateButton = true
else
var.CalibrateButton = false
endif
//var.MoveButton = wiimote.A // Camera manuelle (par defaut)
var.MoveButton = var.MoveButton XOR pressed (wiimote.A) // Camera semi-automatique
var.Speed = 75 // 0 to 100
PIE.FrameRate = 120hz
if wiimote.HasMotionPlus = false then debug = "WiiMotion Plus NON DETECTE !"
if var.init = false and wiimote.HasMotionPlus = true {
debug = "Poser la wiimote a l'envers - " + int(EnsureMapRange(RemoveUnits(abs(Delta(Smooth(wiimote.MotionPlus.YawSpeed, 60)))), 1, .005, 0, 100)) + "%"
if abs(Delta(Smooth(wiimote.MotionPlus.YawSpeed, 60))) < .005 then var.CalibYaw = smooth(wiimote.MotionPlus.YawSpeed, 60)
if abs(Delta(Smooth(wiimote.MotionPlus.PitchSpeed, 60))) < .005 then var.CalibPitch = smooth(wiimote.MotionPlus.PitchSpeed, 60)
if abs(var.CalibYaw) > 0 and abs(var.CalibPitch) > 0 then var.init = true
}
if var.init = true and var.MoveButton = true {
var.YawSpeed = wiimote.MotionPlus.YawSpeed - var.CalibYaw
var.PitchSpeed = wiimote.MotionPlus.PitchSpeed - var.CalibPitch
if SameValue( Smooth(wiimote.SmoothRoll, 10), wiimote.SmoothRoll, 10) then var.Roll = Smooth(wiimote.SmoothRoll, 10) else var.Roll = wiimote.SmoothRoll
if var.Roll < 0 and var.Roll >= -90 {
var.XYswap = 1 - EnsureMapRange(var.Roll, -90, 0, 0, 1)
var.RightDown = -1
var.TopUp = 1
}
if var.Roll <= 90 and var.Roll >= 0 {
var.XYswap = 1 - EnsureMapRange(var.Roll, 90, 0, 0, 1)
var.RightDown = 1
var.TopUp = 1
}
if var.Roll > 90 and var.Roll <= 180 {
var.XYswap = 1 - EnsureMapRange(var.Roll, 90, 180, 0, 1)
var.RightDown = 1
var.TopUp = -1
}
if var.Roll < -90 and var.Roll >= -180 {
var.XYswap = 1 - EnsureMapRange(var.Roll, -90, -180, 0, 1)
var.RightDown = -1
var.TopUp = -1
}
var.SpeedX = var.TopUp * var.YawSpeed - ( var.TopUp * var.YawSpeed * var.XYswap ) + ( var.RightDown * var.PitchSpeed * var.XYswap )
var.SpeedY = var.TopUp * var.PitchSpeed - ( var.TopUp * var.PitchSpeed * var.XYswap) + ( -var.RightDown * var.YawSpeed * var.XYswap )
mouse.DirectInputX = int(var.MouseX)
mouse.DirectInputY = int(var.MouseY)
var.MouseX = var.MouseX + ( var.SpeedX / (10500000 - EnsureMapRange(var.Speed, 0, 100, 0, 10000000) ) )
var.MouseY = var.MouseY - ( var.SpeedY / (10500000 - EnsureMapRange(var.Speed, 0, 100, 0, 10000000) ) )
/* // for mouse.x and mouse.y instead
mouse.x = var.MouseX
mouse.y = var.MouseY
var.MouseX = var.MouseX + ( var.SpeedX / (20500 - EnsureMapRange(var.Speed, 0, 100, 0, 20000) ) )
var.MouseY = var.MouseY - ( var.SpeedY / (20500 - EnsureMapRange(var.Speed, 0, 100, 0, 20000) ) )
*/
}
if var.MoveButton = false {
var.MouseX = mouse.DirectInputX
var.MouseY = mouse.DirectInputY
/* // for mouse.x and mouse.y instead
var.MouseX = mouse.x
var.MouseY = mouse.y
*/
}
if var.init = true and var.CalibrateButton = false {
debug = "Calibration terminée !"
}
if var.init != false and var.CalibrateButton = true {
var.init = "Veuillez patienter"
debug = "Calibration en cours..."
var.CalibYaw = 0
var.CalibPitch = 0
wait 5 seconds
var.init = false
}
Edit:
Ajout:
Calibration (appuie 3s sur bouton Home)
Camera semi-automatique (bouton A)
Message édité par fiocco le 13-11-2010 à 10:57:45