ToniWaor
Участник
- Сообщения
- 76
- Реакции
- 24
Зашел на сервак увидел эффект искр при попаданий пуль, оказалось что это плагин myjb ну и захотел такой эффект себе на сервер, но т.к. myjb мне не нужен решил вырезать часть кода с этим эффектом оттуда и засунуть в модуль випки от рико.
Вот как я хотел бы что бы это было.
Как получилось в итоге
Как видно в оригинале они разлетаются в стороны, а у меня якорем в низ... не могли бы вы помочь ?
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <vip_core>
public Plugin:myinfo =
{
name = "[VIP] Electro Effects",
author = "R1KO",
version = "1.0.2"
};
new const String:g_sFeature[] = "ElectroEffects";
public OnPluginStart()
{
HookEvent("player_death", Event_OnPlayerDeath);
HookEvent("bullet_impact", Event_OnBulletImpact);
}
public VIP_OnVIPLoaded()
{
VIP_RegisterFeature(g_sFeature, BOOL);
}
public Event_OnBulletImpact(Handle:hEvent, const String:name[], bool:silent)
{
new iClient = GetClientOfUserId(GetEventInt(hEvent, "userid"));
if(iClient && VIP_IsClientVIP(iClient) && VIP_IsClientFeatureUse(iClient, g_sFeature))
{
decl Float:fPos[3];
fPos[0] = GetEventFloat(hEvent, "x");
fPos[1] = GetEventFloat(hEvent, "y");
fPos[2] = GetEventFloat(hEvent, "z");
Func_EnergySplash(fPos);
}
}
public Event_OnPlayerDeath(Handle:hEvent, const String:name[], bool:silent)
{
new iAttacker = GetClientOfUserId(GetEventInt(hEvent, "attacker")),
iClient = GetClientOfUserId(GetEventInt(hEvent, "userid"));
if(iAttacker && iClient && iAttacker != iClient && VIP_IsClientVIP(iAttacker) && VIP_IsClientFeatureUse(iAttacker, g_sFeature))
{
decl Float:fPos[3];
GetClientAbsOrigin(iClient, fPos);
Func_Sparks(fPos);
}
}
Func_EnergySplash(Float:fPos[3])
{
decl Float:fEndPos[3];
fEndPos[0] = fPos[0] + 500;
fEndPos[1] = fPos[1] - 500;
fEndPos[2] = fPos[2] + 1000;
TE_SetupSparks(fPos, fEndPos, 2500, 500);
TE_SendToAll();
}
Func_Sparks(const Float:fPos[3])
{
new iSparks = CreateEntityByName("env_spark");
DispatchKeyValue(iSparks, "beamcount_min", "20");
DispatchKeyValue(iSparks, "beamcount_max", "30");
DispatchKeyValue(iSparks, "lifetime_min", "1.0");
DispatchKeyValue(iSparks, "lifetime_max", "2.0");
DispatchKeyValue(iSparks, "m_flRadius", "500.0");
DispatchKeyValue(iSparks, "m_SoundName", "DoSpark");
DispatchKeyValue(iSparks, "texture", "particle/sparks/sparks.vmt");
DispatchKeyValue(iSparks, "m_Color", "255 0 0");
DispatchKeyValue(iSparks, "thick_min", "15.0");
DispatchKeyValue(iSparks, "thick_max", "25.0");
DispatchKeyValue(iSparks, "interval_min", "1.2");
DispatchKeyValue(iSparks, "interval_max", "2.4");
DispatchSpawn(iSparks);
TeleportEntity(iSparks, fPos, NULL_VECTOR, NULL_VECTOR);
AcceptEntityInput(iSparks, "TurnOn");
AcceptEntityInput(iSparks, "DoSpark");
}
Вот как я хотел бы что бы это было.


Как получилось в итоге


Как видно в оригинале они разлетаются в стороны, а у меня якорем в низ... не могли бы вы помочь ?
Последнее редактирование: