source
столкнулся с такой проблемой не все particles возможно воспроизвести причина этому не понятна
насчитал около 10 те что не воспроизводятся но работают в самой игре у разработчиков
может кто решал эту проблему и нашёл решение
часть кода (данная частица работает хорошо)
Скрытый текст
#define PARTICLE_HUNTER "water_trail_directional"
//////////////////////////////////////////////////////////////////////////////////////////////
public OnMapStart()
{
PrecacheParticle(PARTICLE_HUNTER);
///////////////////////////////////////////////////////////////////////////////////////////////
public Action:CreateParticle(target, String:particlename[], Float:time, Float:origin)
{
if (target > 0)
{
new particle = CreateEntityByName("info_particle_system");
if (IsValidEntity(particle))
{
new Float:pos[3];
GetEntPropVector(target, Prop_Send, "m_vecOrigin", pos);
pos[2] += origin;
TeleportEntity(particle, pos, NULL_VECTOR, NULL_VECTOR);
DispatchKeyValue(particle, "effect_name", particlename);
DispatchKeyValue(particle, "targetname", "particle");
DispatchSpawn(particle);
ActivateEntity(particle);
AcceptEntityInput(particle, "start");
CreateTimer(time, DeleteParticles, particle, TIMER_FLAG_NO_MAPCHANGE);
}
}
}
public Action:AttachParticle(target, String:particlename[], Float:time, Float:origin)
{
if (target > 0 && IsValidEntity(target))
{
new particle = CreateEntityByName("info_particle_system");
if (IsValidEntity(particle))
{
new Float:pos[3];
GetEntPropVector(target, Prop_Send, "m_vecOrigin", pos);
pos[2] += origin;
TeleportEntity(particle, pos, NULL_VECTOR, NULL_VECTOR);
decl String:tName[64];
Format(tName, sizeof(tName), "Attach%d", target);
DispatchKeyValue(target, "targetname", tName);
GetEntPropString(target, Prop_Data, "m_iName", tName, sizeof(tName));
DispatchKeyValue(particle, "scale", "");
DispatchKeyValue(particle, "effect_name", particlename);
DispatchKeyValue(particle, "parentname", tName);
DispatchKeyValue(particle, "targetname", "particle");
DispatchSpawn(particle);
ActivateEntity(particle);
SetVariantString(tName);
AcceptEntityInput(particle, "SetParent", particle, particle);
AcceptEntityInput(particle, "Enable");
AcceptEntityInput(particle, "start");
CreateTimer(time, DeleteParticles, particle, TIMER_FLAG_NO_MAPCHANGE);
}
}
}
public Action:PrecacheParticle(String:particlename[])
{
new particle = CreateEntityByName("info_particle_system");
if (IsValidEntity(particle))
{
DispatchKeyValue(particle, "effect_name", particlename);
DispatchKeyValue(particle, "targetname", "particle");
DispatchSpawn(particle);
ActivateEntity(particle);
AcceptEntityInput(particle, "start");
CreateTimer(0.4, DeleteParticles, particle, TIMER_FLAG_NO_MAPCHANGE);
}
}
public Action:DeleteParticles(Handle:timer, any:particle)
{
if (IsValidEntity(particle))
{
new String:classname[64];
GetEdictClassname(particle, classname, sizeof(classname));
if (StrEqual(classname, "info_particle_system", false))
AcceptEntityInput(particle, "Kill");
}
}
//////////////////////////////////////////////////////////////////////////////////
public Action:Timer_AttachHUNTER(Handle:timer, any:client)
{
if (IsTank(client) && GetEntityRenderColor(client) == 255255255)
{
AttachParticle(client, PARTICLE_HUNTER, 2.0, 60.0);
return Plugin_Continue;
}
return Plugin_Stop;
}
Сообщение отредактировал Apocalypse 2: 12 Март 2016 - 16:47


