// FireSensV4 for Tribes 1.40 by lemon
// adjusts mouse sensitivity based on mounted weapon
// bind (Decrease FireSens) (Increase FireSens) in Options>Binds>Game
// adjust each weapon individually in-game using keybinds
// drop your weapon to adjust pilot mode sensitivity
$FireSens::Delay = "0.3";
function FireSens::OnJoin( %cl ) {
if( %cl == getmanagerid() )
Schedule::Add( "FireSens::ChangeSens();", $FireSens::Delay );
}
function FireSens::Set( %sens ) {
editActionMap( "playMap.sae" );
bindAction( Mouse0, xaxis0, TO, IDACTION_YAW, Flip, Scale, %sens );
bindAction( Mouse0, yaxis0, TO, IDACTION_PITCH, Flip, Scale, %sens );
$FireSens::OldSens = %sens;
}
function FireSens::ChangeSens() {
if( ( %weap = getmounteditem( 0 ) ) == -1 )
%weap = 0;
if( $FireSens::Weapon[ %weap ] != $FireSens::OldSens )
FireSens::Set( $FireSens::Weapon[ %weap ] );
Schedule::Add( "FireSens::ChangeSens();", $FireSens::Delay );
}
function FireSens::IncSens() {
if( ( %weap = getmounteditem( 0 ) ) == -1 )
%weap = 0;
if( $FireSens::Weapon[ %weap ] < $maxMouseSensitivity )
$FireSens::Weapon[ %weap ] += "0.0001";
Export( "$FireSens::Weapon*", "config\\FSPrefs.cs", false );
remoteBP( 2048, "<jc><f2>FireSens Weapon:<f3> " @ getitemdesc( %weap ) @ "<f2> New Sensitivity:<f1> " @ $FireSens::weapon[ %weap ], 2 );
remoteEval( 2048, lmsg, hit );
}
function FireSens::DecSens() {
if( ( %weap = getmounteditem( 0 ) ) == -1 )
%weap = 0;
if( $FireSens::Weapon[ %weap ] > $minMouseSensitivity )
$FireSens::Weapon[ %weap ] -= "0.0001";
Export( "$FireSens::Weapon*", "config\\FSPrefs.cs", false );
remoteBP( 2048, "<jc><f2>FireSens Weapon:<f3> " @ getitemdesc( %weap ) @ "<f2> New Sensitivity:<f1> " @ $FireSens::weapon[ %weap ], 2 );
remoteEval( 2048, lmsg, hit );
}
Event::Attach( eventClientJoin, FireSens::OnJoin );
function FireSens::BindInit() after GameBinds::Init {
$GameBinds::CurrentMapHandle = GameBinds::GetActionMap2( "playMap.sae" );
$GameBinds::CurrentMap = "playMap.sae";
GameBinds::addBindCommand( "Decrease FireSens", "FireSens::DecSens();" );
GameBinds::addBindCommand( "Increase FireSens", "FireSens::IncSens();" );
}
echoc( 2, "Loading FireSensV4" );
if( isFile( "config\\FSPrefs.cs" ) ) {
echoc( 2, "Loading FireSens Prefs");
exec( "FSPrefs.cs" );
}