public Action:CommandSkill(client, args)
{
if(client > 0)
{
new Float:vOrigin[3]; // координаты твоей точки
GetClientAbsOrigin(client, vOrigin);
decl Float:vClientOrigin[3];
for ( new i = 1; i <= MaxClients; i++)
{
if ( IsClientInGame(i) && IsPlayerAlive(i) && i != client)
{
GetEntPropVector(i, Prop_Send, "m_vecOrigin", vClientOrigin);
if ( GetVectorDistance(vOrigin, vClientOrigin) <= 300.0 ) // дистанция
{
SetEntityMoveType(victim, MOVETYPE_NONE);
SetEntityRenderColor(victim, 100, 150, 250, 255);
SetEntityRenderMode(victim, RENDER_TRANSCOLOR);
CreateTimer(5.0, UnFreeze, GetClientUserId(victim));
}
}
}
}
}
public Action:UnFreeze(Handle:timer, any:userid)
{
new client = GetClientOfUserId(userid);
if (client == 0 || GetClientTeam(client) == CS_TEAM_CT) return Plugin_Stop;
SetEntityMoveType(client, MOVETYPE_WALK);
SetEntityRenderColor(client);
SetEntityRenderMode(client, RENDER_NORMAL);
return Plugin_Stop;
}