Toggling Between Multiple AI - Starter FPS
by Nicolai Dutka · in Torque Game Engine · 09/08/2007 (3:59 pm) · 1 replies
I would like a set of functions to put into my default.bind.cs that will switch controls between one of 5 players depending on which number you push on your keyboard. I have this function working perfectly in my TTB (tutorial base) game, but when i copy/paste the code into an FPS starter, it doesn't work right. Here is the code as it works in the tutorial base project:
moveMap.bindCmd( "keyboard", "1", "switchLeader1();", "" );
moveMap.bindCmd( "keyboard", "2", "switchLeader2();", "" );
moveMap.bindCmd( "keyboard", "3", "switchLeader3();", "" );
moveMap.bindCmd( "keyboard", "4", "switchLeader4();", "" );
moveMap.bindCmd( "keyboard", "5", "switchLeader5();", "" );
function switchLeader1()
{
if( $battleMode == 0 )
{
echo("set control to player 1");
$player.client.setControlObject(player1);
$leader = player1;
followTheLeader();
echo("control to player 1 set");
}
}
function switchLeader2()
{
if( $battleMode == 0 )
{
echo("set control to player 2");
$player.client.setControlObject(player2);
$leader = player2;
followTheLeader();
echo("control to player 2 set");
}
}
function switchLeader3()
{
if( $battleMode == 0 )
{
echo("set control to player 3");
$player.client.setControlObject(player3);
$leader = player3;
followTheLeader();
echo("control to player 3 set");
}
}
function switchLeader4()
{
if( $battleMode == 0 )
{
echo("set control to player 4");
$player.client.setControlObject(player4);
$leader = player4;
followTheLeader();
echo("control to player 4 set");
}
}
function switchLeader5()
{
if( $battleMode == 0 )
{
echo("set control to player 5");
$player.client.setControlObject(player5);
$leader = player5;
followTheLeader();
echo("control to player 5 set");
}
}
Torque 3D Owner Nicolai Dutka
function followTheLeader() $leader = $leader.client.getcontrolobject(); if( !$battleMode ) { player1.target = $leader; player2.target = $leader; player3.target = $leader; player4.target = $leader; player5.target = $leader; if ( player1.target.getname() == player1) player1.moveToTarget(player1); if ( player2.target.getname() == player2) player2.moveToTarget(player2); if ( player3.target.getname() == player3) player3.moveToTarget(player3); if ( player4.target.getname() == player4) player4.moveToTarget(player4); if ( player5.target.getname() == player5) player5.moveToTarget(player5); schedule( 100, 0, "partyFollow" ); } }Now reads:
function followTheLeader() { if( !$battleMode ) { player1.target = $leader; player2.target = $leader; player3.target = $leader; player4.target = $leader; player5.target = $leader; player1.moveToTarget(); player2.moveToTarget(); player3.moveToTarget(); player4.moveToTarget(); player5.moveToTarget(); schedule( 500, 0, "partyFollow" ); } }