// ____ _ _ _
// / ___|(_)_ __ / \ __ _(_)___
// \___ \| \ \/ / / _ \ \ \/ / / __|
// ___) | |> < / ___ \ > <| \__ \
// |____/|_/_/\_\/_/ \_\/_/\_\_|___/
//Love racing games, but don't like using the sticks to drive? Try this script, which remaps the sixaxis to one fo the the analog sticks.
//Press Select + Start to enable/disable the script, in case the sixaxis features are now expected by the game.
//Press Select + L3/R3 to switch which stick to remap.
int StickY, StickX, enable, buttonpress;
init {
StickY = PS3_LY;
StickX = PS3_LX;
enable = 1
set_val(TRACE_1, 2);
}
main {
//Selection
buttonpress = get_ptime(PS3_SELECT);
// press - send to console
if(event_release(PS3_SELECT) && get_ptime(PS3_SELECT) < 140) {
combo_run(cpress);
}
// hold - customize part of script
if(get_val(PS3_SELECT) && get_ptime(PS3_SELECT) > 140) {
combo_run(customize);
}
// Completely block output to console from the controller. If button was pressed, then the press is recreated.
if(get_val(PS3_SELECT)) {
set_val(PS3_SELECT,0);
}
// ----
//LY (left stick up/down)
if(enable == 1) {
if(get_val(PS3_ACCY) > 20) {
//down
set_val(StickY, get_val(PS3_ACCY) * 4);
set_val(PS3_ACCY, 0);
} else {
set_val(StickY, get_val(PS3_ACCY) * 4);
set_val(PS3_ACCY, 0);
}
}
//LX (left stick left/right)
//Sixaxis X axis is inverted compared to the sticks, automatically fixed here.
if(enable == 1) {
if(get_val(PS3_ACCX) > 20) {
//right
set_val(StickX, get_val(PS3_ACCX) * 4 * -1);
set_val(PS3_ACCX, 0);
} else {
set_val(StickX, get_val(PS3_ACCX) * 4 * -1);
set_val(PS3_ACCX, 0);
}
}
}
combo customize {
set_val(TRACE_4, get_val(TRACE_4) + 1);
if(event_press(PS3_START)) {
if(enable == 1) {
enable = 0;
set_val(TRACE_1, 0);
} else {
enable = 1;
set_val(TRACE_1, 1);
}
}
// Use left stick
if(event_press(PS3_L3)) {
StickY = PS3_LY
StickX = PS3_LX
}
// Use right stick
if(event_press(PS3_R3)) {
StickY = PS3_RY
StickX = PS3_RX
}
set_val(PS3_START, 0);
set_val(PS3_L3, 0);
set_val(PS3_R3, 0);
}
combo cpress {
set_val(TRACE_3, buttonpress);
set_val(PS3_SELECT, 100);
wait(buttonpress);
set_val(PS3_SELECT, 0);
}