#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#pragma newdecls required
#define ZONE_MODEL "models/props/de_train/barrel.mdl"
public void OnMapStart()
{
PrecacheModel(ZONE_MODEL);
}
void ReplaceEnts()
{
float fOrigin[3], fMins[3], fMaxs[3];
int ladder = -1;
while( (ladder = FindEntityByClassname(ladder, "func_ladder")) != -1)
{
GetEntPropVector(ladder, Prop_Send, "m_vecOrigin", fOrigin);
GetEntPropVector(ladder, Prop_Send, "m_vecMins", fMins);
GetEntPropVector(ladder, Prop_Send, "m_vecMaxs", fMaxs);
AcceptEntityInput(ladder, "Kill");
CreateFuncDetail(fOrigin, fMaxs, fMins);
}
}
int CreateFuncDetail(
const float fOrigin[3],
const float fMaxs[3],
const float fMins[3]
)
{
int entity = CreateEntityByName("func_detail");
if(entity == -1)
return -1;
SetEntityModel(entity, ZONE_MODEL);
DispatchSpawn(entity);
ActivateEntity(entity);
SetEntProp(entity, Prop_Send, "m_nSolidType", 2);
SetEntProp(entity, Prop_Send, "m_fEffects", GetEntProp(entity, Prop_Send, "m_fEffects") | 32);
SetEntPropVector(entity, Prop_Send, "m_vecMins", fMins);
SetEntPropVector(entity, Prop_Send, "m_vecMaxs", fMaxs);
TeleportEntity(entity, fOrigin, NULL_VECTOR, NULL_VECTOR);
return entity;
}