48 lines
947 B
SourcePawn
48 lines
947 B
SourcePawn
#include <sourcemod>
|
|
#include <sdktools>
|
|
|
|
#pragma semicolon 1
|
|
#pragma newdecls required
|
|
|
|
public Plugin myinfo =
|
|
{
|
|
name = "FixAngles",
|
|
author = "BotoX",
|
|
description = "",
|
|
version = "1.0",
|
|
url = ""
|
|
};
|
|
|
|
public void OnMapStart()
|
|
{
|
|
CreateTimer(1.0, CheckAngles, 0, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
|
}
|
|
|
|
public Action CheckAngles(Handle timer)
|
|
{
|
|
int entity = INVALID_ENT_REFERENCE;
|
|
while((entity = FindEntityByClassname(entity, "func_rotating")) != INVALID_ENT_REFERENCE)
|
|
{
|
|
if(!HasEntProp(entity, Prop_Send, "m_angRotation"))
|
|
continue;
|
|
|
|
static float aAngles[3];
|
|
GetEntPropVector(entity, Prop_Send, "m_angRotation", aAngles);
|
|
|
|
bool bChanged = false;
|
|
for(int i = 0; i < 3; i++)
|
|
{
|
|
if(aAngles[i] < -360 || aAngles[i] > 360)
|
|
{
|
|
aAngles[i] = float(RoundFloat(aAngles[i]) % 360);
|
|
bChanged = true;
|
|
}
|
|
}
|
|
|
|
if(bChanged)
|
|
SetEntPropVector(entity, Prop_Send, "m_angRotation", aAngles);
|
|
}
|
|
|
|
return Plugin_Continue;
|
|
}
|