mouse sensitivity script?

For 1.4
Code:
////////////////////////////////////////////////////////////
// Boots 1.4 Pack
// File:	Mouse.acs.cs
// Version:	1.0
// Author:	Zlex(Boots)
// Info:	Fine tune mouse sensitity in-game
//
////////////////////////////////////////////////////////////
function Mouse::GameBinds::Init()
  after GameBinds::Init
{
	$GameBinds::CurrentMapHandle = GameBinds::GetActionMap2( "actionMap.sae");
	$GameBinds::CurrentMap = "actionMap.sae";
	GameBinds::addBindCommand( "Increase Mouse Sense", "Mouse::UpSense();");
	GameBinds::addBindCommand( "Decrease Mouse Sense", "Mouse::DownSense();");
}

function Mouse::SetSense(%sense) {

	EditActionMap("playMap.sae");
	if(Client::getMouseXaxisFlip("playMap.sae")) { bindAction(mouse0, xaxis0, TO, IDACTION_YAW, Scale, %sense); }
	else { bindAction(mouse0, xaxis0, TO, IDACTION_YAW, Flip, Scale, %sense); }

	if(Client::getMouseYaxisFlip("playMap.sae")) { bindAction(mouse0, yaxis0, TO, IDACTION_PITCH, Scale, %sense); }
	else { bindAction(mouse0, yaxis0, TO, IDACTION_PITCH, Flip, Scale, %sense); }
}


function Mouse::UpSense() {
	%curSense = Client::getMouseSensitivity("playMap.sae");
	%newSense = %curSense + 0.00001;
	Mouse::SetSense(%newSense);
	remoteBP( 2048, "<JC><F2>Mouse Sensitivity <F1>" @ %newSense, 3);

}

function Mouse::DownSense() {
	%curSense = Client::getMouseSensitivity("playMap.sae");
	%newSense = %curSense - 0.00001;
	Mouse::SetSense(%newSense);
	remoteBP( 2048, "<JC><F2>Mouse Sensitivity <F1>" @ %newSense, 3);
}
 
For 1.4
Code:
////////////////////////////////////////////////////////////
// Boots 1.4 Pack
// File:	Mouse.acs.cs
// Version:	1.0
// Author:	Zlex(Boots)
// Info:	Fine tune mouse sensitity in-game
//
////////////////////////////////////////////////////////////
function Mouse::GameBinds::Init()
  after GameBinds::Init
{
	$GameBinds::CurrentMapHandle = GameBinds::GetActionMap2( "actionMap.sae");
	$GameBinds::CurrentMap = "actionMap.sae";
	GameBinds::addBindCommand( "Increase Mouse Sense", "Mouse::UpSense();");
	GameBinds::addBindCommand( "Decrease Mouse Sense", "Mouse::DownSense();");
}

function Mouse::SetSense(%sense) {

	EditActionMap("playMap.sae");
	if(Client::getMouseXaxisFlip("playMap.sae")) { bindAction(mouse0, xaxis0, TO, IDACTION_YAW, Scale, %sense); }
	else { bindAction(mouse0, xaxis0, TO, IDACTION_YAW, Flip, Scale, %sense); }

	if(Client::getMouseYaxisFlip("playMap.sae")) { bindAction(mouse0, yaxis0, TO, IDACTION_PITCH, Scale, %sense); }
	else { bindAction(mouse0, yaxis0, TO, IDACTION_PITCH, Flip, Scale, %sense); }
}


function Mouse::UpSense() {
	%curSense = Client::getMouseSensitivity("playMap.sae");
	%newSense = %curSense + 0.00001;
	Mouse::SetSense(%newSense);
	remoteBP( 2048, "<JC><F2>Mouse Sensitivity <F1>" @ %newSense, 3);

}

function Mouse::DownSense() {
	%curSense = Client::getMouseSensitivity("playMap.sae");
	%newSense = %curSense - 0.00001;
	Mouse::SetSense(%newSense);
	remoteBP( 2048, "<JC><F2>Mouse Sensitivity <F1>" @ %newSense, 3);
}
thanks so much. i think i wasn't clear about what i was looking though. a script that lets you adjust mouse sensitivity for each weapon individually so that each time you change weapon it automatically recognizes previous sensitivity setting. does that make sense? let me know how i can thank you.
 
i had a standalone version of this that scrolled through with the touch of a button

now i just type exec("watever"); and use multiple cs files with different sensitivities to do it

very ez
 
This adjusts sensitivity when you pull the trigger. In the script below the "5" for the Chaingun setting means it's 5 times less sensitive to mouse movement when you pull the trigger. Once you release the fire button you revert to normal sensitivity. This is base only but could pretty easily be modified for other mods. Save as firesens.acs.cs and put it in your modules folder then bind 'FireSens' in options.

Code:
// FireSens for Tribes 1.40 by lemon
// adjusts on-fire mouse sensitivity based on mounted weapon
// default mouse sensitivity divided by firesens::weapon setting = on fire sensitivity

$FireSens::Weapon[11] = "2"; // Blaster

$FireSens::Weapon[13] = "5"; // Chaingun

$FireSens::Weapon[15] = "2"; // Plasma

$FireSens::Weapon[17] = "2"; // Grenade Launcher

$FireSens::Weapon[19] = "2"; // Mortar

$FireSens::Weapon[21] = "1"; // Disc

$FireSens::Weapon[22] = "1"; // Laser

$FireSens::Weapon[23] = "1"; // Elf

function FireSens::Init( %gui ) {

	if( %gui == "playGui" ) {
		$FireSens::DefaultSens = Client::getMouseSensitivity( "playMap.sae" ) * 5000;
	}
}

function FireSens::Set( %sens ) {

	%sens = ( %sens / 5000 );
	
	editActionMap( "playMap.sae" );
	if ( $Mouse::xFlip )
		bindAction( Mouse0, xaxis0, TO, IDACTION_YAW, Scale, %sens );
    else
		bindAction( Mouse0, xaxis0, TO, IDACTION_YAW, Flip, Scale, %sens );
		
    if ( $Mouse::yFlip )
		bindAction( Mouse0, yaxis0, TO, IDACTION_PITCH, Scale, %sens );
    else
		bindAction( Mouse0, yaxis0, TO, IDACTION_PITCH, Flip, Scale, %sens );
}

function FireSens::OnFire() {

	%weap = getMountedItem( 0 );
	if(%weap > 0)
		FireSens::Set( $FireSens::DefaultSens/$FireSens::Weapon[ %weap ] );
	postAction(2048, IDACTION_FIRE1, 1);
}

function FireSens::OnRelease() {

	%weap = getMountedItem( 0 );
	if(%weap > 0)
		FireSens::Set( $FireSens::DefaultSens );
	postAction( 2048, IDACTION_BREAK1, 0 );
}

function FireSens::Reset( %cl ) {

	if( %cl == getmanagerId() )
		FireSens::Set( $FireSens::DefaultSens );
}

Event::Attach( eventGuiOpen, FireSens::Init );
Event::Attach( eventClientDied, FireSens::Reset );


function FireSens::BindInit()
  after GameBinds::Init {
	
	$GameBinds::CurrentMapHandle = GameBinds::GetActionMap2( "playMap.sae");
	$GameBinds::CurrentMap = "playMap.sae";
	GameBinds::addBindCommand( "FireSens", "FireSens::OnFire();", "FireSens::OnRelease();");
}

that sounds weird. not to be ungrateful, but is there a reason why not change the sensitivity with weapon change instead of upon firing? chaingun is the only weapon that you will hold down fire, so the script won't do anything for the other weapons. plus it will be choppy between firing shots
 
i eat these rappers like a bag of cheezies

cause im colder than a bag of freezies

i'm an old creep giving you the heebie jeebies

punk rock like its '86 and i'm at CBGB's
 
tbh I've always had issues trying to attach shit to weapon switching

you need a delay before u check for mounted weapon because it depends on ping and shit

you're almost better off just scheduling a mounted weapon check every half second or something but that sucks just on principle

I like my method especially for chaingun but it is nice for g. launcher plasma blaster etc. too because I do hold to fire multiple rounds with those as well

I don't use it for disc at all
 
here is a new version

Code:
// 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" );
}
 
Back
Top