team Semiclip wont work..
I dont get the team semiclip to work could i get some help here?
I know this looks like a mess :grrr::grrr:
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() }
|