Пример #1
0
/*
=================
ConsoleCommand

=================
*/
qboolean	ConsoleCommand( void ) {
    char	*cmd;

    cmd = gi.argv(0);

    if ( Q_stricmp (cmd, "entitylist") == 0 ) {
        Svcmd_EntityList_f();
        return qtrue;
    }

    if (Q_stricmp (cmd, "game_memory") == 0) {
        Svcmd_GameMem_f();
        return qtrue;
    }

//	if (Q_stricmp (cmd, "addbot") == 0) {
//		Svcmd_AddBot_f();
//		return qtrue;
//	}

    if (Q_stricmp (cmd, "nav") == 0) {
        Svcmd_Nav_f ();
        return qtrue;
    }

    if (Q_stricmp (cmd, "npc") == 0) {
        Svcmd_NPC_f ();
        return qtrue;
    }

    if (Q_stricmp (cmd, "Command") == 0) {
        Svcmd_Comm_f ();
        return qtrue;
    }

    if (Q_stricmp (cmd, "Hail") == 0) {
        Svcmd_Hail_f ();
        return qtrue;
    }

    if (Q_stricmp (cmd, "makeFormation") == 0) {
        Svcmd_Form_f ();
        return qtrue;
    }

    if (Q_stricmp (cmd, "use") == 0) {
        Svcmd_Use_f ();
        return qtrue;
    }

    if (Q_stricmp (cmd, "detpack") == 0) {
        UseCharge (0);
        return qtrue;
    }

    if ( Q_stricmp( cmd, "ICARUS" ) == 0 )	{
        Svcmd_ICARUS_f();
        return qtrue;
    }


    if ( Q_stricmp( cmd, "boltOn" ) == 0 )
    {
        char	*cmd2 = gi.argv(1);
        char	*cmd3 = gi.argv(2);

        if ( cmd2 && cmd3 )
        {
            if ( Q_stricmp( "add", cmd2 ) == 0 )
            {
                g_entities[0].activeBoltOn = G_AddBoltOn( &g_entities[0], cmd3 );
                return qtrue;
            }
            else if ( Q_stricmp( "remove", cmd2 ) == 0 )
            {
                G_RemoveBoltOn( &g_entities[0], cmd3 );
                return qtrue;
            }
            else if ( Q_stricmp( "frame", cmd2 ) == 0 )
            {
                int endFrame = atoi(cmd3);

                Q3_SetActiveBoltOnStartFrame( 0, g_entities[0].client->renderInfo.boltOns[g_entities[0].activeBoltOn].frame );
                Q3_SetActiveBoltOnEndFrame( 0, endFrame );
                return qtrue;
            }
        }

        //Print list of valid commands
        gi.Printf( "boltOn commands:\n" );
        gi.Printf( "	add [boltOnName]\n" );
        gi.Printf( "	remove [boltOnName]\n" );
        gi.Printf( "	frame [frameNumber]\n" );

        return qtrue;
    }

    if ( Q_stricmp( cmd, "runscript" ) == 0 )
    {
        char *cmd2 = gi.argv(1);

        if ( cmd2 && cmd2[0] )
        {
            gentity_t *found = NULL;
            if ( (found = G_Find(NULL, FOFS(targetname), cmd2 ) ) != NULL )
            {
                char *cmd3 = gi.argv(2);
                if ( cmd3 && cmd3[0] )
                {
                    ICARUS_RunScript( found, va( "%s/%s", Q3_SCRIPT_DIR, cmd3 ) );
                }
            }
            else
            {
                ICARUS_RunScript( &g_entities[0], va( "%s/%s", Q3_SCRIPT_DIR, cmd2 ) );
            }
        }
        else
        {
            gi.Printf( S_COLOR_RED"usage: runscript <ent targetname> scriptname\n" );
        }
        //FIXME: else warning
        return qtrue;
    }

    if ( Q_stricmp( cmd, "playerteam" ) == 0 )
    {
        char	*cmd2 = gi.argv(1);
        int		n;

        if ( !*cmd2 || !cmd2[0] )
        {
            gi.Printf( S_COLOR_RED"'playerteam' - change player team, requires a team name!\n" );
            gi.Printf( S_COLOR_RED"Valid team names are:\n");
            for ( n = (TEAM_FREE + 1); n < TEAM_NUM_TEAMS; n++ )
            {
                gi.Printf( S_COLOR_RED"%s\n", TeamNames[n] );
            }
        }
        else
        {
            team_t	team;

            team = TranslateTeamName( cmd2 );
            if ( team == TEAM_FREE )
            {
                gi.Printf( S_COLOR_RED"'playerteam' unrecognized team name %s!\n", cmd2 );
                gi.Printf( S_COLOR_RED"Valid team names are:\n");
                for ( n = (TEAM_FREE + 1); n < TEAM_NUM_TEAMS; n++ )
                {
                    gi.Printf( S_COLOR_RED"%s\n", TeamNames[n] );
                }
            }
            else
            {
                g_entities[0].client->playerTeam = team;
                //FIXME: convert Imperial, Malon, Hirogen and Klingon to Scavenger?
            }
        }
        return qtrue;
    }

    return qfalse;
}
Пример #2
0
/*
=================
ConsoleCommand

=================
*/
qboolean	ConsoleCommand( void ) {
	char	*cmd;

	cmd = gi.argv(0);

	if ( Q_stricmp (cmd, "entitylist") == 0 ) 
	{
		Svcmd_EntityList_f();
		return qtrue;
	}

	if (Q_stricmp (cmd, "game_memory") == 0) {
		Svcmd_GameMem_f();
		return qtrue;
	}

//	if (Q_stricmp (cmd, "addbot") == 0) {
//		Svcmd_AddBot_f();
//		return qtrue;
//	}

	if (Q_stricmp (cmd, "nav") == 0) 
	{
		if ( !g_cheats->integer ) 
		{
			gi.SendServerCommand( 0, "print \"Cheats are not enabled on this server.\n\"");
			return qfalse;
		}
		Svcmd_Nav_f ();
		return qtrue;
	}

	if (Q_stricmp (cmd, "npc") == 0) 
	{
		if ( !g_cheats->integer ) 
		{
			gi.SendServerCommand( 0, "print \"Cheats are not enabled on this server.\n\"");
			return qfalse;
		}
		Svcmd_NPC_f ();
		return qtrue;
	}

	if (Q_stricmp (cmd, "use") == 0) 
	{
		if ( !g_cheats->integer ) 
		{
			gi.SendServerCommand( 0, "print \"Cheats are not enabled on this server.\n\"");
			return qfalse;
		}
		Svcmd_Use_f ();
		return qtrue;
	}

	if ( Q_stricmp( cmd, "ICARUS" ) == 0 )	
	{
		if ( !g_cheats->integer ) 
		{
			gi.SendServerCommand( 0, "print \"Cheats are not enabled on this server.\n\"");
			return qfalse;
		}
		Svcmd_ICARUS_f();
		return qtrue;
	}

	if ( Q_stricmp( cmd, "saberColor" ) == 0 )	
	{
		if ( !g_cheats->integer ) 
		{
			gi.SendServerCommand( 0, "print \"Cheats are not enabled on this server.\n\"");
			return qfalse;
		}
		Svcmd_SaberColor_f();
		return qtrue;
	}

	if ( Q_stricmp( cmd, "setForceJump" ) == 0 )	
	{
		Svcmd_ForceJump_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setSaberThrow" ) == 0 )	
	{
		Svcmd_SaberThrow_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setForceHeal" ) == 0 )	
	{
		Svcmd_ForceHeal_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setForcePush" ) == 0 )	
	{
		Svcmd_ForcePush_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setForcePull" ) == 0 )	
	{
		Svcmd_ForcePull_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setForceSpeed" ) == 0 )	
	{
		Svcmd_ForceSpeed_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setForceGrip" ) == 0 )	
	{
		Svcmd_ForceGrip_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setForceLightning" ) == 0 )	
	{
		Svcmd_ForceLightning_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setMindTrick" ) == 0 )	
	{
		Svcmd_MindTrick_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setSaberDefense" ) == 0 )	
	{
		Svcmd_SaberDefense_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setSaberOffense" ) == 0 )	
	{
		Svcmd_SaberOffense_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "setForceAll" ) == 0 )	
	{
		Svcmd_ForceJump_f();
		Svcmd_SaberThrow_f();
		Svcmd_ForceHeal_f();
		Svcmd_ForcePush_f();
		Svcmd_ForcePull_f();
		Svcmd_ForceSpeed_f();
		Svcmd_ForceGrip_f();
		Svcmd_ForceLightning_f();
		Svcmd_MindTrick_f();
		Svcmd_SaberDefense_f();
		Svcmd_SaberOffense_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "saberAttackCycle" ) == 0 )	
	{
		Svcmd_SaberAttackCycle_f();
		return qtrue;
	}
	if ( Q_stricmp( cmd, "runscript" ) == 0 ) 
	{
		if ( !g_cheats->integer ) 
		{
			gi.SendServerCommand( 0, "print \"Cheats are not enabled on this server.\n\"");
			return qfalse;
		}
		char *cmd2 = gi.argv(1);

		if ( cmd2 && cmd2[0] )
		{
			char *cmd3 = gi.argv(2);
			if ( cmd3 && cmd3[0] )
			{
				gentity_t *found = NULL;
				if ( (found = G_Find(NULL, FOFS(targetname), cmd2 ) ) != NULL )
				{
					ICARUS_RunScript( found, va( "%s/%s", Q3_SCRIPT_DIR, cmd3 ) );
				}
				else
				{
					//can't find cmd2
					gi.Printf( S_COLOR_RED"runscript: can't find targetname %s\n", cmd2 );
				}
			}
			else
			{
				ICARUS_RunScript( &g_entities[0], va( "%s/%s", Q3_SCRIPT_DIR, cmd2 ) );
			}
		}
		else
		{
			gi.Printf( S_COLOR_RED"usage: runscript <ent targetname> scriptname\n" );
		}
		//FIXME: else warning
		return qtrue;
	}

	if ( Q_stricmp( cmd, "playerteam" ) == 0 ) 
	{
		if ( !g_cheats->integer ) 
		{
			gi.SendServerCommand( 0, "print \"Cheats are not enabled on this server.\n\"");
			return qfalse;
		}
		char	*cmd2 = gi.argv(1);
		int		n;

		if ( !*cmd2 || !cmd2[0] )
		{
			gi.Printf( S_COLOR_RED"'playerteam' - change player team, requires a team name!\n" );
			gi.Printf( S_COLOR_RED"Valid team names are:\n");
			for ( n = (TEAM_FREE + 1); n < TEAM_NUM_TEAMS; n++ )
			{
				gi.Printf( S_COLOR_RED"%s\n", TeamNames[n] );
			}
		}
		else
		{
			team_t	team;

			team = TranslateTeamName( cmd2 );
			if ( team == TEAM_FREE )
			{
				gi.Printf( S_COLOR_RED"'playerteam' unrecognized team name %s!\n", cmd2 );
				gi.Printf( S_COLOR_RED"Valid team names are:\n");
				for ( n = (TEAM_FREE + 1); n < TEAM_NUM_TEAMS; n++ )
				{
					gi.Printf( S_COLOR_RED"%s\n", TeamNames[n] );
				}
			}
			else
			{
				g_entities[0].client->playerTeam = team;
				//FIXME: convert Imperial, Malon, Hirogen and Klingon to Scavenger?
			}
		}
		return qtrue;
	}

	if ( Q_stricmp( cmd, "control" ) == 0 )
	{
		if ( !g_cheats->integer ) 
		{
			gi.SendServerCommand( 0, "print \"Cheats are not enabled on this server.\n\"");
			return qfalse;
		}
		char	*cmd2 = gi.argv(1);
		if ( !*cmd2 || !cmd2[0] )
		{
			if ( !G_ClearViewEntity( &g_entities[0] ) )
			{
				gi.Printf( S_COLOR_RED"control <NPC_targetname>\n", cmd2 );
			}
		}
		else
		{
			Q3_SetViewEntity( 0, cmd2 );
		}
	}

	if ( Q_stricmp( cmd, "exitview" ) == 0 )
	{
		Svcmd_ExitView_f();
	}
	
	return qfalse;
}