I dont get the team semiclip to work could i get some help here?
PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#define NAME_LENGH 32
#define STRIP_ENTITIES 9
#define XO_PLAYER 5
#define m_iTeam 114
#define OFFSET_INTERNALMODEL 126
#define cs_get_user_team_index(%0) get_pdata_int(%0, m_iTeam, XO_PLAYER)
new const VERSION[] = "0.0.1"
const XTRA_OFS_PLAYER = 5
const m_pActiveItem = 373
const Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
new HamHook:g_iHhResetMaxSpeed
new g_msgStatusIcon, amx_gamename, gMaxClients, pCvarTime;
new bool:g_bAlive[33];
new bool:g_bSolid[33];
new hns_semiclip;
new hns_semiclip_alpha;
new CsTeams:g_Team[33];
new g_MaxPlayers;
new g_iMaxAppearances = 4
new g_iTeamInfo
enum
{
TEAM_UNASSIGNED,
TEAM_TERRORIST,
TEAM_CT,
TEAM_SPECTATOR
}
new const g_szTeamNames[][] =
{
"UNASSIGNED",
"TERRORIST",
"CT",
"SPECTATOR"
}
enum
{
CT_URBAN = 1,
T_TERROR = 2,
T_LEET = 3,
T_ARCTIC = 4,
CT_GSG9 = 5,
CT_GIGN = 6,
CT_SAS = 7,
T_GUERILLA = 8,
CT_VIP = 9,
T_MILITIA = 10,
CT_SPETSNAZ = 11
}
new const g_iModels[][] =
{
{T_TERROR, CT_URBAN},
{T_LEET , CT_GSG9},
{T_LEET, CT_SAS},
{T_GUERILLA, CT_GIGN},
{T_MILITIA, CT_SPETSNAZ}
}
new const g_szModels[][] =
{
"",
"urban",
"terror",
"leet",
"arctic",
"gsg9",
"gign",
"sas",
"guerilla",
"vip",
"militia",
"spetsnaz"
}
new game_entity[STRIP_ENTITIES][] =
{
"func_bomb_target", "func_escapezone", "func_hostage_rescue", "func_vip_safetyzone",
"info_bomb_target", "info_hostage_rescue","info_vip_start", "hostage_entity",
"monster_scientist"
}
public plugin_init()
{
register_plugin("HideNSeek", VERSION, "MENIE PPL")
register_event("SendAudio", "Event_SendAudio_MRAD_ctwin", "a", "2&%!MRAD_ctwin")
new szModName[6]
get_modname(szModName, charsmax(szModName))
if( equal(szModName, "czero") )
{
g_iMaxAppearances = 5
}
g_iTeamInfo = get_user_msgid("TeamInfo")
g_iHhResetMaxSpeed = RegisterHam(Ham_Player_ResetMaxSpeed, "player", "CBasePlayer_ResetMaxSpeed")
register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0")
register_logevent("LogEvent_Round_Start", 2, "1=Round_Start")
//Strip
RegisterHam( Ham_Spawn, "player", "Spawn", 1 )
//Block Weaponbox
RegisterHam( Ham_Touch, "weaponbox", "WeaponBox_Touch", 1 );
// Block BuyZone
g_msgStatusIcon = get_user_msgid("StatusIcon");
register_message(g_msgStatusIcon, "msgStatusIcon");
//Gamename
amx_gamename = register_cvar("hns_gamename", ".se|HideNSeek");
register_forward(FM_GetGameDescription, "fwGetGameDescription");
//Team semiclip
register_forward(FM_StartFrame, "fwd_startframe");
pCvarTime = register_cvar( "dw_time", "0" );
gMaxClients = get_maxplayers();
hns_semiclip = register_cvar("hns_semiclip", "1", 0, 0.0);
hns_semiclip_alpha = register_cvar("hns_semiclip_alpha", "127", 0, 0.0);
}
public fwdPlayerPreThink(plr)
{
new semiclip = get_pcvar_num(hns_semiclip);
if( g_bAlive[plr] )
{
new CsTeams:team = cs_get_user_team(plr);
if( semiclip )
{
new target, body;
get_user_aiming(plr, target, body, 9999);
if( 0 < target <= g_MaxPlayers && g_bAlive[target] )
{
new CsTeams:targetTeam = cs_get_user_team(target);
if( semiclip == 2 || targetTeam == team )
{
new sName[32];
get_user_name(target, sName, 31);
new sMessage[64];
if( targetTeam == team )
{
formatex(sMessage, 63, "Friend: %s^nHealth: %i", sName, get_user_health(target));
}
else
{
formatex(sMessage, 63, "Enemy: %s", sName);
}
if( targetTeam == CS_TEAM_CT )
{
set_hudmessage(0, 63, 127, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
}
else if( targetTeam == CS_TEAM_T )
{
set_hudmessage(127, 0, 0, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1);
}
show_hudmessage(plr, "%s", sMessage);
}
}
}
}
}
public fwdAddToFullPackPost(es, e, ent, host, hostflags, player, pSet)
{
if( player )
{
if( g_bSolid[host] && g_bSolid[ent] )
{
new semiclip = get_pcvar_num(hns_semiclip);
if( semiclip == 2 || g_Team[host] == g_Team[ent] )
{
set_es(es, ES_Solid, SOLID_NOT);
static Float:fOldAlpha;
new Float:fAlpha = get_pcvar_float(hns_semiclip_alpha);
if( fAlpha < 255.0 )
{
set_es(es, ES_RenderMode, kRenderTransAlpha);
set_es(es, ES_RenderAmt, fAlpha);
}
else if( fOldAlpha < 255.0 )
{
set_es(es, ES_RenderMode, kRenderNormal);
set_es(es, ES_RenderAmt, 16.0);
}
fOldAlpha = fAlpha;
}
}
}
}
public Event_SendAudio_MRAD_ctwin()
{
new iPlayers[32], iNum
get_players(iPlayers, iNum, "h")
if( iNum )
{
new id
for(--iNum; iNum>=0; iNum--)
{
id = iPlayers[iNum]
switch( cs_get_user_team_index(id) )
{
case TEAM_TERRORIST:SetUserTeam(id, TEAM_CT)
case TEAM_CT:SetUserTeam(id, TEAM_TERRORIST)
}
}
}
}
public plugin_precache()
{
register_forward(FM_Spawn, "HBSpawn")
}
public Event_HLTV_New_Round()
{
EnableHamForward( g_iHhResetMaxSpeed )
}
public LogEvent_Round_Start()
{
DisableHamForward( g_iHhResetMaxSpeed )
new players[32],pnum, player;
get_players(players,pnum)
for (new i = 1; i < pnum; i++)
{
player = players[i]
strip_user_weapons(player)
give_item(player, "weapon_knife")
}
}
public Spawn(id)
{
set_task(0.1, "strip",id)
}
public strip(id)
{
strip_user_weapons(id)
give_item(id, "weapon_knife")
}
//Weaponbox
public WeaponBox_Touch ( const WeaponBox, const Other )
{
if ( !Other || Other > gMaxClients )
{
set_pev( WeaponBox, pev_nextthink, get_gametime() + get_pcvar_float( pCvarTime ) );
}
}
public HBSpawn(pent)
{
if(pev_valid(pent))
{
new classname[32]
pev(pent, pev_classname, classname, 31)
for(new i = 0; i < STRIP_ENTITIES; ++i)
{
if(equali(classname, game_entity[i]))
{
engfunc(EngFunc_RemoveEntity, pent)
break
}
}
}
}
// Block buyzone
public msgStatusIcon(msgid, msgdest, id)
{
static szIcon[8];
get_msg_arg_string(2, szIcon, 7);
if(equal(szIcon, "buyzone") && get_msg_arg_int(1))
{
set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0));
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
//gamename
public fwGetGameDescription() {
static gamename[NAME_LENGH+1];
get_pcvar_string(amx_gamename, gamename, NAME_LENGH);
forward_return(FMV_STRING, gamename);
return FMRES_SUPERCEDE;
}
public CBasePlayer_ResetMaxSpeed(id)
{
if( is_user_connected(id) && cs_get_user_team(id) == CS_TEAM_T )
{
new Float:flMaxSpeed
new iActiveItem = get_pdata_cbase(id, m_pActiveItem, XTRA_OFS_PLAYER)
if( iActiveItem > 0 )
{
ExecuteHam(Ham_CS_Item_GetMaxSpeed, iActiveItem, flMaxSpeed)
}
else
{
flMaxSpeed = 250.0
}
set_pev(id, pev_maxspeed, flMaxSpeed)
return HAM_SUPERCEDE
}
return HAM_IGNORED
}
stock fm_set_rendering(ent, fx=kRenderFxNone, r=255, g=255, b=255, rend=kRenderNormal, amt=16)
{
set_pev(ent, pev_renderfx, fx);
new Float:rendColor[3];
rendColor[0] = float(r);
rendColor[1] = float(g);
rendColor[2] = float(b);
set_pev(ent, pev_rendercolor, rendColor);
set_pev(ent, pev_rendermode, rend);
set_pev(ent, pev_renderamt, float(amt));
}
SetUserTeam(id, iTeam)
{
set_pdata_int(id, m_iTeam, iTeam, XO_PLAYER)
new iNewModel = g_iModels[iTeam-1][ random(g_iMaxAppearances) ]
set_pdata_int(id, OFFSET_INTERNALMODEL, iNewModel, XO_PLAYER)
set_user_info(id, "model", g_szModels[iNewModel])
emessage_begin(MSG_ALL, g_iTeamInfo)
ewrite_byte(id)
ewrite_string(g_szTeamNames[iTeam])
emessage_end()
}