Discuz! Board
标题:
[代码|Code]烟花特效|Fireworks Effect
[打印本页]
作者:
Jerry小坏
时间:
2017-7-13 16:49
标题:
[代码|Code]烟花特效|Fireworks Effect
public FireworksFX(id)
{
new Float: org[3]
pev( id, pev_origin, org ) // 获取烟花起始位置[] Get the Start Origin
new ent = engfunc( EngFunc_CreateNamedEntity,engfunc( EngFunc_AllocString,"info_target" ) )
engfunc( EngFunc_SetModel, ent, "sprites/X/BlastRed.spr" )// 设置SPR文件[] Set Sprite file
engfunc( EngFunc_SetSize, ent, {-1.0,-1.0,-1.0}, {1.0,1.0,1.0} )// 设置实体大小[] Set entity size
set_pev( ent, pev_solid, SOLID_TRIGGER )// 设置固体类型[] Set solid type
set_pev( ent, pev_movetype, MOVETYPE_TOSS )// 设置移动方式[] Set move type
set_pev( ent, pev_rendermode, 5 )// 设置渲染方案[] Set render mode
set_pev( ent, pev_renderamt, 200.0 )// 设置透明度[] Alpha
set_pev( ent, pev_scale, 0.5 )// 缩放大小[] Scale value
set_pev( ent, pev_owner, id )// 设置实体的拥有者[] Set owner for the entity
set_pev( ent, pev_classname, "Fireworks" )// 设置实体类名[] Set classname
set_pev( ent, pev_origin, org )// 设置实体位置[] Set entity origin
new Float: ang[3], Float:vec[3]
/* 烟花向上的角度偏移量[] The offset of upward fireworks */
ang[0] = random_float( -90.0, -60.0 )
ang[1] = random_float( -180.0, 180.0 )
/* 设置烟花速率[] Set Velocity */
angle_vector( ang, 1, vec )
xs_vec_mul_scalar(vec, random_float( 1000.0, 3000.0), vec )
set_pev( ent, pev_velocity, vec )
/* 托尾特效[] Trail FX */
message_begin( MSG_BROADCAST,SVC_TEMPENTITY )
write_byte( TE_BEAMFOLLOW )
write_short( ent )
write_short( engfunc( EngFunc_ModelIndex,"sprites/X/BlastTrailRed.spr" ) )
write_byte( 30 )// 持续时间[] life in 0.1's
write_byte( 30 )// 宽度[] line width in 0.1's
write_byte( 255 )// Red
write_byte( 255 )// Green
write_byte( 255 )// Blue
write_byte( 255 )// Brightness
message_end( )
set_task( 0.1, "FireworksFX", id )
}
复制代码
欢迎光临 Discuz! Board (https://esfbbs.foxnyx.top/)
Powered by Discuz! X3.2