/* *
* Game: Uncharted 3 - Among Thieves
* Plataform: PS3
* Controller: Frag FX v1
* Game Settings: MAX
* Frag FX: MIN
* --------------------------------------------------------------------------- */
define MODE_OFF = 0;
define MODE_A = 1;
define RFA_T1 = 40, RFA_T2 = 20;
define MODE_B = 2;
define RFB_T1 = 40, RFB_T2 = 20;
// Buttons Assignments
// -----------------------
remap PS3_R3 -> PS3_L3; // R3: Run
remap PS3_L3 -> PS3_R3; // L3: Crouch
remap PS3_R2 -> PS3_CROSS; // R2: Jump
remap PS3_CROSS -> PS3_SQUARE; // CROSS: Melee
remap PS3_SQUARE -> PS3_R2; // SQUARE: Reload
// CIRCLE: Roll
// TRIANGLE: Pickup
// L2: Grenade
// -----------------------
int mode = MODE_A, t1 = RFA_T1, t2 = RFA_T2;
int activateSA = FALSE;
int autoSwitch = TRUE;
main {
// Frag FX mouse sensibility
if(get_val(PS3_L1) && get_val(PS3_TRIANGLE)) {
set_val(PS3_TRIANGLE, 0);
sensitivity(PS3_RX, NOT_USE, 140, 20, -100, +100);
sensitivity(PS3_RY, NOT_USE, 140, 20, -100, +100);
} else {
sensitivity(PS3_RX, NOT_USE, 200, -24, -100, +100);
sensitivity(PS3_RY, NOT_USE, 200, -24, -100, +100);
}
// Change Weapon on R3 + L1
if(get_val(PS3_R3)) {
if(get_ptime(PS3_L1) < get_ptime(PS3_R3) && get_ptime(PS3_L1) > 50) {
set_val(PS3_R3, 0);
set_val(PS3_TRIANGLE, 100);
}
}
// R2 and CIRCLE Turbo
if(get_val(PS3_R2)) combo_run(Jump);
if(get_val(PS3_CIRCLE) > 40) combo_run(Roll);
// Rapid Fire - Modes of Operation
// Quick tap on the start button to switch between modes.
// R3 + START to turn off rapid fire.
if(get_val(PS3_R3) && !get_val(PS3_L1)) {
if(get_val(PS3_START) && mode) {
mode = MODE_OFF;
}
set_val(PS3_START, 0);
} else if(event_release(PS3_START) && get_ptime(PS3_START) < 140) {
/*
if(mode == MODE_A) {
mode = MODE_B;
t1 = RFB_T1;
t2 = RFB_T2;
autoSwitch = TRUE;
} else {
*/
mode = MODE_A;
t1 = RFA_T1;
t2 = RFA_T2;
autoSwitch = FALSE;
//}
}
block(PS3_START, 200);
// Trigger 'rapid fire' combo
if(get_val(PS3_R1)) {
set_val(PS3_R1, 100);
if(mode == MODE_A || (mode == MODE_B && get_val(PS3_L1))) {
combo_run(RapidFire);
}
} else if(event_release(PS3_R1)) {
combo_stop(RapidFire);
}
// Report RapidFire Mode
if(mode == MODE_A) set_val(PS3_GYRO, 45);
else if(mode == MODE_B) set_val(PS3_GYRO, 90);
else set_val(PS3_GYRO, 0);
}
combo Jump {
set_val(PS3_R2, 100);
wait(40);
set_val(PS3_R2, 0);
wait(20);
set_val(PS3_R2, 0);
}
combo Roll {
set_val(PS3_CIRCLE, 100);
wait(40);
set_val(PS3_CIRCLE, 0);
wait(80);
set_val(PS3_CIRCLE, 0);
}
combo RapidFire {
set_val(PS3_R1, 100);
wait(t1);
set_val(PS3_R1, 0);
wait(t2);
set_val(PS3_R1, 0);
}