亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? misc.cpp

?? this keik game source
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
   gi.WriteString( temp );
	gi.multicast( vec3_origin, MULTICAST_ALL );
	}

/*
================
SendOverlay
================
*/
void SendOverlay
	(
   Entity *ent,
   str overlayname
	)
   {
   if ( ent )
      {
      gi.WriteByte( svc_console_command );
      gi.WriteString( va( "lo %s",overlayname.c_str() ) );
   	gi.unicast ( ent->edict, true);
      }
   else
      {
      gi.WriteByte( svc_console_command );
      gi.WriteString( va( "lo %s",overlayname.c_str() ) );
      gi.multicast( NULL, MULTICAST_ALL );
      }
   }

/*
================
SendIntermission
================
*/
void SendIntermission
	(
   Entity *ent,
   str intermissionname
	)
   {
   if ( ent )
      {
      gi.WriteByte( svc_console_command );
      gi.WriteString( va( "imf %s",intermissionname.c_str() ) );
   	gi.unicast ( ent->edict, true);
      }
   else
      {
      gi.WriteByte( svc_console_command );
      gi.WriteString( va( "imf %s",intermissionname.c_str() ) );
      gi.multicast( NULL, MULTICAST_ALL );
      }
   }

/*****************************************************************************/
/*SINED func_group (0 0 0) ?

Used to group brushes together just for editor convenience.

/*****************************************************************************/

/*****************************************************************************/
/*SINED func_remove (0 0.5 0) ?

Used for lighting and such

/*****************************************************************************/

CLASS_DECLARATION( Entity, FuncRemove, "func_remove" );

ResponseDef FuncRemove::Responses[] =
	{
		{ NULL, NULL }
	};

FuncRemove::FuncRemove()
	{
	ProcessEvent( EV_Remove );
	}


/*****************************************************************************/
/*SINED info_null (0 0.5 0) (-4 -4 -4) (4 4 4)

Used as a positional target for spotlights, etc.

/*****************************************************************************/

CLASS_DECLARATION( Entity, InfoNull, "info_null" );

ResponseDef InfoNull::Responses[] =
	{
		{ NULL, NULL }
	};

InfoNull::InfoNull()
	{
	ProcessEvent( EV_Remove );
	}

/*****************************************************************************/
/*SINED info_notnull (0 0.5 0) (-4 -4 -4) (4 4 4)

Used as a positional target for lightning.

/*****************************************************************************/

CLASS_DECLARATION( Entity, InfoNotNull, "info_notnull" );

ResponseDef InfoNotNull::Responses[] =
	{
		{ NULL, NULL }
	};

/*****************************************************************************/
/*SINED func_electrocute (0 .5 .8) ?
"radius" - range of the effect (Default is 500)
"key"    The item needed to activate this. (default nothing)
  Electrocutes everything it can see if it is in the water
/*****************************************************************************/

CLASS_DECLARATION( Trigger, Electrocute, "func_electrocute" );

ResponseDef Electrocute::Responses[] =
	{
      { &EV_Trigger_Effect,				( Response )Electrocute::KillSight },
      { NULL, NULL }
	};

Electrocute::Electrocute()
	{
	setOrigin( origin );
	setSolidType( SOLID_NOT );
	setMoveType( MOVETYPE_NONE );

   radius = G_GetFloatArg("radius", 500);
	}

void Electrocute::KillSight(Event *ev)
   {
   Entity *other = ev->GetEntity( 1 );
   Entity *ent;

   ent = findradius( NULL, worldorigin, radius );
	while( ent )
		{
		if ( ( ent != this ) && ( !ent->deadflag ) )
			{
         if (ent->waterlevel)
            {
			   ent->Damage( this, other, ent->health, ent->worldorigin, vec_zero, vec_zero, 0, DAMAGE_NO_ARMOR, MOD_ELECTRIC, -1, -1, 1.0f );
            }
			}
		ent = findradius( ent, worldorigin, radius );
		}
   }



/*****************************************************************************/
/*SINED func_spawn(0 .5 .8) (-8 -8 -8) (8 8 8)
"modelname" The name of the .def file you wish to spawn. (Required)
"spawntargetname" This will be the targetname of the spawned model. (default is null)
"key"       The item needed to activate this. (default nothing)
"attackmode" Attacking mode of the spawned actor (default 0)
/*****************************************************************************/

CLASS_DECLARATION( Entity, Spawn, "func_spawn" );

ResponseDef Spawn::Responses[] =
	{
      { &EV_Activate,         ( Response )Spawn::DoSpawn },
      { NULL, NULL }
	};

Spawn::Spawn()
	{
	setSolidType( SOLID_NOT );
	setMoveType( MOVETYPE_NONE );
   hideModel();
   modelname = G_GetStringArg( "modelname", NULL );
   angles = Vector( va( "0 %f 0", G_GetFloatArg( "angle", 0 ) ) );

   if ( !modelname.length() )
      warning("Spawn", "modelname not set" );

   spawntargetname = G_GetStringArg( "spawntargetname", NULL );
   attackmode      = G_GetIntArg( "attackmode", 0 );
   }

void Spawn::DoSpawn( Event *ev )
   {   
   char			         temp[ 128 ];

   // Clear the spawn args
   G_InitSpawnArguments();
   
   sprintf( temp, "%f %f %f", worldorigin[ 0 ], worldorigin[ 1 ], worldorigin[ 2 ] );
   G_SetSpawnArg( "origin", temp );
   sprintf( temp, "%f", angles[ 1 ] );
   G_SetSpawnArg( "angle", temp );
   G_SetSpawnArg( "model", modelname.c_str() );
   G_SetSpawnArg( "targetname", spawntargetname.c_str() );
   G_SetSpawnArg( "attackmode", va( "%i",attackmode ) );

   G_CallSpawn();
   // Clear the spawn args
   G_InitSpawnArguments();
   }

/*****************************************************************************/
/*SINED func_respawn(0 .5 .8) (-8 -8 -8) (8 8 8) 
When the thing that is spawned is killed, this func_respawn will get 
triggered.
"modelname"   The name of the .def file you wish to spawn. (Required)
"spawntargetname" This will be the targetname of the spawned model. (default is null)
"key"         The item needed to activate this. (default nothing)
/*****************************************************************************/

CLASS_DECLARATION( Spawn, ReSpawn, "func_respawn" );

ResponseDef ReSpawn::Responses[] =
	{
      { NULL, NULL }
	};

void ReSpawn::DoSpawn( Event *ev )
   {
   char			         temp[ 128 ];

   // Clear the spawn args
   G_InitSpawnArguments();
   
   sprintf( temp, "%f %f %f", worldorigin[ 0 ], worldorigin[ 1 ], worldorigin[ 2 ] );
   G_SetSpawnArg( "origin", temp );
   sprintf( temp, "%f", angles[ 1 ] );
   G_SetSpawnArg( "angle", temp );
   G_SetSpawnArg( "model", modelname.c_str() );
   
   // This will trigger the func_respawn when the thing dies
   G_SetSpawnArg( "targetname", TargetName() );
   G_SetSpawnArg( "target", TargetName() );

   G_CallSpawn();
   // Clear the spawn args
   G_InitSpawnArguments();
   }

/*****************************************************************************/
/*SINED func_spawnoutofsight(0 .5 .8) (-8 -8 -8) (8 8 8) 
Will only spawn something out of sight of its targets.
"modelname"   The name of the .def file you wish to spawn. (Required)
"spawntargetname" This will be the targetname of the spawned model. (default is null)
"key"         The item needed to activate this. (default nothing)
/*****************************************************************************/

CLASS_DECLARATION( Spawn, SpawnOutOfSight, "func_spawnoutofsight" );

ResponseDef SpawnOutOfSight::Responses[] =
	{
      { NULL, NULL }
	};

void SpawnOutOfSight::DoSpawn
	(
	Event *ev
	)

   {
   char     temp[ 128 ];
   int      i;
   Entity	*ent;
	edict_t	*ed;
   trace_t  trace;
   qboolean seen = false;

   // Check to see if I can see any players before spawning
 	for( i = 0; i < game.maxclients; i++ )
      {
		ed = &g_edicts[ 1 + i ];
		if ( !ed->inuse || !ed->entity )
			{
			continue;
			}

		ent = ed->entity;
	   if ( ( ent->health < 0 ) || ( ent->flags & FL_NOTARGET ) )
			{
			continue;
			}

      trace = G_Trace( worldorigin, vec_zero, vec_zero, ent->centroid, this, MASK_OPAQUE, "SpawnOutOfSight::DoSpawn" );
      if ( trace.fraction == 1.0 )
         {
         seen = true;
         break;
         }
      }

   if ( seen )
      return;

   // Clear the spawn args
   G_InitSpawnArguments();
   
   sprintf( temp, "%f %f %f", worldorigin[ 0 ], worldorigin[ 1 ], worldorigin[ 2 ] );
   G_SetSpawnArg( "origin", temp );
   sprintf( temp, "%f", angles[ 1 ] );
   G_SetSpawnArg( "angle", temp );
   G_SetSpawnArg( "model", modelname.c_str() );
   G_SetSpawnArg( "targetname", spawntargetname.c_str() );

   G_CallSpawn();
   // Clear the spawn args
   G_InitSpawnArguments();
   }


/*****************************************************************************/
/*SINED func_spawnchain(0 .5 .8) (-8 -8 -8) (8 8 8) 
Tries to spawn something out of the sight of players.  If it fails, it will
trigger its targets. 
"modelname"   The name of the .def file you wish to spawn. (Required)
"spawntargetname" This will be the targetname of the spawned model. (default is null)
"key"         The item needed to activate this. (default nothing)
/*****************************************************************************/

CLASS_DECLARATION( Spawn, SpawnChain, "func_spawnchain" );

ResponseDef SpawnChain::Responses[] =
	{
      { NULL, NULL }
	};

void SpawnChain::DoSpawn
	(
	Event *ev
	)

   {
   char        temp[ 128 ];
   int         i,num;
   Entity	   *ent;
	edict_t	   *ed;
   trace_t     trace;
   qboolean    seen = false;
   const char  *name;
   Event       *event;

   // Check to see if this can see any players before spawning
 	for( i = 0; i < game.maxclients; i++ )
      {
		ed = &g_edicts[ 1 + i ];
		if ( !ed->inuse || !ed->entity )
			{
			continue;
			}

		ent = ed->entity;
	   if ( ( ent->health < 0 ) || ( ent->flags & FL_NOTARGET ) )
			{
			continue;
			}

      trace = G_Trace( worldorigin, vec_zero, vec_zero, ent->centroid, this, MASK_OPAQUE, "SpawnChain::DoSpawn" );
      if ( trace.fraction == 1.0 )
         {
         seen = true;
         break;
         }
      }

   // Couldn't spawn anything, so activate targets
   if ( seen )
      {   
   	name = Target();
	   if ( name && strcmp( name, "" ) )
		   {
		   num = 0;
		   do            
			   {
			   num = G_FindTarget( num, name );
			   if ( !num )
				   {
				   break;
				   }
   			ent = G_GetEntity( num );
		
		   	event = new Event( EV_Activate );	   		
            event->AddEntity( world );
			   ent->PostEvent( event, 0 );
            } while ( 1 );
         }
      return;
      }

   // Can't see the player, so do the spawn
   G_InitSpawnArguments();
   sprintf( temp, "%f %f %f", worldorigin[ 0 ], worldorigin[ 1 ], worldorigin[ 2 ] );
   G_SetSpawnArg( "origin", temp );
   sprintf( temp, "%f", angles[ 1 ] );
   G_SetSpawnArg( "angle", temp );
   G_SetSpawnArg( "model", modelname.c_str() );
   G_SetSpawnArg( "targetname", spawntargetname.c_str() );
   G_CallSpawn();
   G_InitSpawnArguments();
   }

/*****************************************************************************/
/*SINED func_wall (0 .5 .8) ?

This is just a solid wall if not inhibitted

/*****************************************************************************/

CLASS_DECLARATION( Entity, Wall, "func_wall" );

ResponseDef Wall::Responses[] =
	{
		{ NULL, NULL }
	};

Wall::Wall()
	{
	setOrigin( origin );
	setSolidType( SOLID_BSP );
	setMoveType( MOVETYPE_PUSH );
	}

/*****************************************************************************/
/*SINED func_illusionary (0 .5 .8) ?

A simple entity that looks solid but lets you walk through it.

/*****************************************************************************/

CLASS_DECLARATION( Entity, IllusionaryWall, "func_illusionary" );

ResponseDef IllusionaryWall::Responses[] =
	{
		{ NULL, NULL }
	};

IllusionaryWall::IllusionaryWall()
	{
	setSolidType( SOLID_NOT );
	setMoveType( MOVETYPE_NONE );
	}

/*****************************************************************************/
/*SINED func_breakawaywall (0 .5 .8) ? x x NOT_PLAYERS MONSTERS PROJECTILES

Special walltype that removes itself when triggered.  Will also trigger
any func_areaportals that it targets.

"key"          The item needed to activate this. (default nothing)

If NOT_PLAYERS is set, the trigger does not respond to players
If MONSTERS is set, the trigger will respond to monsters
If PROJECTILES is set, the trigger will respond to projectiles (rockets, grenades, etc.)

/*****************************************************************************/

CLASS_DECLARATION( TriggerOnce, BreakawayWall, "func_breakawaywall" );

Event EV_BreakawayWall_Setup( "BreakawayWall_Setup" );

ResponseDef BreakawayWall::Responses[] =
	{
		{ &EV_Touch,							NULL },
	   { &EV_Trigger_Effect,				( Response )BreakawayWall::BreakWall },
	   { &EV_BreakawayWall_Setup,			( Response )BreakawayWall::Setup },
		{ NULL, NULL }
	};

void BreakawayWall::BreakWall
	(
	Event *ev
	)

	{
	SetAreaPortals( Target(), true );
	ActivateTargets( ev );
	}

void BreakawayWall::Setup
	(
	Event *ev
	)

	{
	SetAreaPortals( Target(), false );
	}

BreakawayWall::BreakawayWall()
	{
	showModel();
	setMoveType( MOVETYPE_PUSH );
	setSolidType( SOLID_BSP );
	PostEvent( EV_BreakawayWall_Setup, 0.1 );
	respondto = spawnflags ^ TRIGGER_PLAYERS;
	};

/*****************************************************************************/
/*SINED func_explodingwall (0 .5 .8) ? RANDOMANGLES LANDSHATTER NOT_PLAYERS MONSTERS PROJECTILES INVISIBLE ACCUMALATIVE TWOSTAGE

Blows up on activation or when attacked

"explosions"   number of explosions to spawn ( default 1 )
"land_angles"  The angles you want this piece to\
               orient to when it lands on the ground

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久一本精品| 婷婷综合另类小说色区| 制服丝袜在线91| 成人午夜碰碰视频| 日本视频中文字幕一区二区三区| 国产精品狼人久久影院观看方式| 69堂国产成人免费视频| 91视频你懂的| 国产乱妇无码大片在线观看| 日韩精品国产欧美| 亚洲激情图片一区| 中文字幕视频一区| 国产精品天干天干在线综合| 精品国产乱码久久久久久老虎 | 国产精品自拍三区| 日韩福利视频网| 亚洲精品成人在线| 亚洲欧洲三级电影| 欧美激情一区二区| 国产三级三级三级精品8ⅰ区| 日韩一级片在线观看| 欧美婷婷六月丁香综合色| 91欧美一区二区| 99久久夜色精品国产网站| 丰满白嫩尤物一区二区| 国产剧情在线观看一区二区| 男男gaygay亚洲| 免费观看成人av| 天堂va蜜桃一区二区三区漫画版| 一区二区三区在线视频观看58| 亚洲视频一区二区在线| 国产精品美女久久久久久久 | 欧美日本乱大交xxxxx| 99精品视频在线观看| 国产99久久久久| 成人免费视频一区| 成人av片在线观看| 97se狠狠狠综合亚洲狠狠| 成人av电影免费观看| 93久久精品日日躁夜夜躁欧美| 成人免费毛片a| 91在线精品秘密一区二区| 色噜噜狠狠成人网p站| 99精品国产视频| 91成人在线免费观看| 在线观看精品一区| 欧美人妖巨大在线| 欧美一级片免费看| 久久伊人蜜桃av一区二区| 国产亚洲精品aa| 最新国产精品久久精品| 一区二区三区四区视频精品免费| 亚洲精品日韩综合观看成人91| 一区二区三区精品| 偷拍自拍另类欧美| 麻豆成人久久精品二区三区小说| 黑人巨大精品欧美一区| 成人av电影免费观看| 在线观看欧美黄色| 欧美电影免费观看高清完整版在线观看| 日韩一二三四区| 国产人久久人人人人爽| 亚洲三级小视频| 日本美女一区二区| 国产91综合网| 欧美亚洲综合在线| 精品久久久影院| 亚洲靠逼com| 免费高清在线一区| 成人黄色大片在线观看| 日本韩国一区二区三区| 欧美一级黄色录像| 亚洲国产激情av| 亚洲成人动漫一区| 国产精品自拍毛片| 欧美日韩在线观看一区二区 | 日韩欧美在线123| 中文字幕欧美日韩一区| 五月婷婷另类国产| 国产成人av在线影院| 欧美影院一区二区三区| 欧美成人免费网站| 一区二区三区在线免费视频| 麻豆精品国产传媒mv男同| 不卡欧美aaaaa| 91麻豆精品国产自产在线| 欧美精彩视频一区二区三区| 亚洲成人免费av| 成人黄页在线观看| 日韩一本二本av| 亚洲国产一区二区三区青草影视| 国产一区二区成人久久免费影院| 在线视频观看一区| 国产网红主播福利一区二区| 日韩国产一区二| 色综合天天综合给合国产| 久久久久免费观看| 日韩高清一区二区| 欧美亚洲综合色| 亚洲欧美一区二区在线观看| 精品一区二区免费看| 欧美午夜精品理论片a级按摩| 国产精品污网站| 蜜臀91精品一区二区三区 | 久久综合狠狠综合久久综合88| 亚洲九九爱视频| 白白色亚洲国产精品| 久久众筹精品私拍模特| 日韩电影免费在线| 欧美日免费三级在线| 亚洲欧美视频在线观看视频| 国产成人aaa| 精品国内片67194| 日本不卡视频在线观看| 欧美日韩一区二区在线观看视频| 中文字幕中文字幕在线一区| 国产成人高清在线| 久久精品亚洲国产奇米99| 久久精品国产免费| 日韩视频一区二区| 日韩专区欧美专区| 欧美日本视频在线| 天堂成人免费av电影一区| 欧美日韩中文字幕一区| 亚洲一区中文日韩| 欧美在线色视频| 有码一区二区三区| 色噜噜久久综合| 亚洲综合小说图片| 欧美影院一区二区| 亚洲成人第一页| 91精品国产福利| 美脚の诱脚舐め脚责91 | 午夜精品一区二区三区电影天堂| 欧美在线一二三| 亚洲成人7777| 欧美一二三区在线| 美腿丝袜亚洲一区| 久久人人爽人人爽| 成人av在线电影| 亚洲品质自拍视频| 日本伦理一区二区| 亚洲韩国一区二区三区| 欧美电影影音先锋| 久热成人在线视频| 国产欧美日韩三区| 91视频观看视频| 亚洲自拍都市欧美小说| 制服丝袜日韩国产| 久久国产日韩欧美精品| 欧美极品少妇xxxxⅹ高跟鞋| 91视频91自| 日韩国产精品久久久| 欧美成人女星排名| caoporm超碰国产精品| 亚洲自拍偷拍av| 欧美成人激情免费网| 国产成人欧美日韩在线电影| 成人免费在线视频观看| 欧美综合天天夜夜久久| 日韩av电影天堂| 久久久久久**毛片大全| 色综合欧美在线| 日本午夜一区二区| 2021国产精品久久精品| 91一区二区三区在线播放| 视频一区在线视频| 国产婷婷一区二区| 欧美三片在线视频观看 | 欧美久久久影院| 国产剧情一区二区| 亚洲另类春色校园小说| 在线不卡的av| 成人深夜福利app| 午夜一区二区三区在线观看| 欧美zozo另类异族| 91视频你懂的| 国产一区二区h| 午夜视频在线观看一区二区三区| 26uuu另类欧美亚洲曰本| 91美女片黄在线观看91美女| 麻豆免费看一区二区三区| ...av二区三区久久精品| 欧美成va人片在线观看| 色综合一个色综合亚洲| 国产一区二区三区在线观看免费 | 免费美女久久99| 亚洲柠檬福利资源导航| 日韩欧美一二三区| 91麻豆成人久久精品二区三区| 麻豆国产91在线播放| 一区二区三区av电影| 久久婷婷综合激情| 欧美精品99久久久**| 97se亚洲国产综合自在线观| 国产呦萝稀缺另类资源| 蜜臀久久久99精品久久久久久| 中文字幕综合网| 国产日韩欧美a| 精品88久久久久88久久久|