mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	* Add AngelScript scriping language * Add AngelScript sample * Initial implementation of Angelscript * Update Angelscript tm_scope and ace_mode * Move Angelscript after ANTLR * Updated grammar list * Alphabetical sorting for Angelscript * Angelscript grammar license is unlicense * Add ActionScript samples * Added a heuristic for .as files * Whitelist sublime-angelscript license hash * Added heuristic test for Angelscript and Actionscript * Remove .acs from Angelscript file extensions
		
			
				
	
	
		
			78 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			ActionScript
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			ActionScript
		
	
	
	
	
	
| /*
 | |
| *	This is a sample script.
 | |
| */
 | |
| 
 | |
| #include "BotManagerInterface.acs"
 | |
| 
 | |
| BotManager::BotManager g_BotManager( @CreateDumbBot );
 | |
| 
 | |
| CConCommand@ m_pAddBot;
 | |
| 
 | |
| void PluginInit()
 | |
| {
 | |
| 	g_BotManager.PluginInit();
 | |
| 	
 | |
| 	@m_pAddBot = @CConCommand( "addbot", "Adds a new bot with the given name", @AddBotCallback );
 | |
| }
 | |
| 
 | |
| void AddBotCallback( const CCommand@ args )
 | |
| {
 | |
| 	if( args.ArgC() < 2 )
 | |
| 	{
 | |
| 		g_Game.AlertMessage( at_console, "Usage: addbot <name>" );
 | |
| 		return;
 | |
| 	}
 | |
| 	
 | |
| 	BotManager::BaseBot@ pBot = g_BotManager.CreateBot( args[ 1 ] );
 | |
| 	
 | |
| 	if( pBot !is null )
 | |
| 	{
 | |
| 		g_Game.AlertMessage( at_console, "Created bot " + args[ 1 ] + "\n" );
 | |
| 	}
 | |
| 	else
 | |
| 	{
 | |
| 		g_Game.AlertMessage( at_console, "Could not create bot\n" );
 | |
| 	}
 | |
| }
 | |
| 
 | |
| final class DumbBot : BotManager::BaseBot
 | |
| {	
 | |
| 	DumbBot( CBasePlayer@ pPlayer )
 | |
| 	{
 | |
| 		super( pPlayer );
 | |
| 	}
 | |
| 	
 | |
| 	void Think()
 | |
| 	{
 | |
| 		BotManager::BaseBot::Think();
 | |
| 		
 | |
| 		// If the bot is dead and can be respawned, send a button press
 | |
| 		if( Player.pev.deadflag >= DEAD_RESPAWNABLE )
 | |
| 		{
 | |
| 			Player.pev.button |= IN_ATTACK;
 | |
| 		}
 | |
| 		else
 | |
| 			Player.pev.button &= ~IN_ATTACK;
 | |
| 		
 | |
| 		KeyValueBuffer@ pInfoBuffer = g_EngineFuncs.GetInfoKeyBuffer( Player.edict() );
 | |
| 		
 | |
| 		pInfoBuffer.SetValue( "topcolor", Math.RandomLong( 0, 255 ) );
 | |
| 		pInfoBuffer.SetValue( "bottomcolor", Math.RandomLong( 0, 255 ) );
 | |
| 		
 | |
| 		if( Math.RandomLong( 0, 100 ) > 10 )
 | |
| 			Player.pev.button |= IN_ATTACK;
 | |
| 		else
 | |
| 			Player.pev.button &= ~IN_ATTACK;
 | |
| 			
 | |
| 		for( uint uiIndex = 0; uiIndex < 3; ++uiIndex )
 | |
| 		{
 | |
| 			m_vecVelocity[ uiIndex ] = Math.RandomLong( -50, 50 );
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| BotManager::BaseBot@ CreateDumbBot( CBasePlayer@ pPlayer )
 | |
| {
 | |
| 	return @DumbBot( pPlayer );
 | |
| }
 |