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