Discuz! Board

标题: [代码|Code]烟花特效|Fireworks Effect [打印本页]

作者: Jerry小坏    时间: 2017-7-13 16:49
标题: [代码|Code]烟花特效|Fireworks Effect
  1. public FireworksFX(id)
  2. {
  3.         new Float: org[3]
  4.         pev( id, pev_origin, org ) // 获取烟花起始位置[] Get the Start Origin
  5.         new ent = engfunc( EngFunc_CreateNamedEntity,engfunc( EngFunc_AllocString,"info_target" ) )
  6.         engfunc( EngFunc_SetModel, ent, "sprites/X/BlastRed.spr" )// 设置SPR文件[] Set Sprite file
  7.         engfunc( EngFunc_SetSize, ent, {-1.0,-1.0,-1.0}, {1.0,1.0,1.0} )// 设置实体大小[] Set entity size
  8.                
  9.         set_pev( ent, pev_solid, SOLID_TRIGGER )// 设置固体类型[] Set solid type
  10.         set_pev( ent, pev_movetype, MOVETYPE_TOSS )// 设置移动方式[] Set move type
  11.         set_pev( ent, pev_rendermode, 5 )// 设置渲染方案[] Set render mode
  12.         set_pev( ent, pev_renderamt, 200.0 )// 设置透明度[] Alpha
  13.         set_pev( ent, pev_scale, 0.5 )// 缩放大小[] Scale value
  14.         set_pev( ent, pev_owner, id )// 设置实体的拥有者[] Set owner for the entity
  15.         set_pev( ent, pev_classname, "Fireworks" )// 设置实体类名[] Set classname
  16.         set_pev( ent, pev_origin, org )// 设置实体位置[] Set entity origin

  17.         new Float: ang[3], Float:vec[3]
  18.         /* 烟花向上的角度偏移量[] The offset of upward fireworks */
  19.         ang[0] = random_float( -90.0, -60.0 )
  20.         ang[1] = random_float( -180.0, 180.0 )

  21.         /* 设置烟花速率[] Set Velocity */
  22.         angle_vector( ang, 1, vec )
  23.         xs_vec_mul_scalar(vec, random_float( 1000.0, 3000.0), vec )
  24.         set_pev( ent, pev_velocity, vec )

  25.         /* 托尾特效[] Trail FX */
  26.         message_begin( MSG_BROADCAST,SVC_TEMPENTITY )
  27.         write_byte( TE_BEAMFOLLOW )
  28.         write_short( ent )
  29.         write_short( engfunc( EngFunc_ModelIndex,"sprites/X/BlastTrailRed.spr" ) )
  30.         write_byte( 30 )// 持续时间[] life in 0.1's
  31.         write_byte( 30 )// 宽度[] line width in 0.1's
  32.         write_byte( 255 )// Red
  33.         write_byte( 255 )// Green
  34.         write_byte( 255 )// Blue
  35.         write_byte( 255 )// Brightness
  36.         message_end( )

  37.         set_task( 0.1, "FireworksFX", id )
  38. }
复制代码









欢迎光临 Discuz! Board (https://esfbbs.foxnyx.top/) Powered by Discuz! X3.2