##############################################
Part of a car setup
Instructions on how to use it at
############################################
get the current controller
controller = GameLogic.getCurrentController()
get list of objects in scene
objList = GameLogic.getCurrentScene().getObjectList()
get manuals
keyboard = controller.getOwner()
setup = objList[“OB” + keyboard.CarSetup]
joystick = objList[“OB” + setup.Joystick]
steering = objList[“OB” + setup.Steering]
powertrain = objList[“OB” + setup.Powertrain]`
gear = objList[“OB” + player.Gear]
Keyboard control enabled?
if keyboard.KeyBoard == True and joystick.JoyStick == False:
############# Steering
get sensor named Left
steerLeft = controller.getSensor(keyboard.Left)
get senor named Right
steerRight = controller.getSensor(keyboard.Right)
turn left/right/straight
if steerRight.isPositive() == True:
turn = -steering.MaxTurn
elif steerLeft.isPositive() == True:
turn = steering.MaxTurn
else:
turn = 0.0
save to steering manual
steering.SteeringWheel = turn
################ Gas – Brakes – Reverse
get the sensor named Gas
gasPedal = controller.getSensor(keyboard.Gas)
get sensor named Brake
brakeReverse = controller.getSensor(keyboard.Brakes)
get sensor named Emergency
eBrake = controller.getSensor(keyboard.EBrake)
gas pedal
if (gear == 1) and gasPedal.isPositive() == True:
power = -powertrain.EnginePower
if (gear == 2) and gasPedal.isPositive() == True:
power = -powertrain.EnginePower2
if (gear == 3) and gasPedal.isPositive() == True:
power = -powertrain.EnginePower3
if (gear == 4) and gasPedal.isPositive() == True:
power = -powertrain.EnginePower4
if (gear == 5) and gasPedal.isPositive() == True:
power = -powertrain.EnginePower5
brakes = 0.0
brake and reverse
elif brakeReverse.isPositive() == True:
reverse
if powertrain.Speed <= 0.0:
power = powertrain.ReversePower
brakes = 0.0
brakes
else:
power = 0.0
brakes = powertrain.BrakeForce
no gas or brakes
else:
power = 0.0
brakes = 0.0
emergency brake
if eBrake.isPositive() == True:
power = 0.0
ebrake = powertrain.EBrakeForce
else:
ebrake = 0.0
save to powertrain manual
powertrain.Power = power
powertrain.Brakes = brakes
powertrain.Emergency = ebrake
player(at the top of the code) has been defined as the collision box using a property, as is done with other obj in the script.