This plugin by ConnorMcLeod
Is working, but at some jb maps no players will get any weapon not even knife.
Could someone help me to fix it?
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#define VERSION "0.0.1"
#define PLUGIN "Jail Start Weapons"
#define m_fHasSurvivedLastRound 113
#define m_iTeam 114
#define TEAM_CT 2
new bool:g_bNewPlayer,
HamHook:g_iHhAddPlayerItemPre, HamHook:g_iHhCBasePlayerGiveAmmoPre, HamHook:g_iHhCBasePlayerSpawnPost
public plugin_init()
{
register_plugin(PLUGIN, VERSION, "ConnorMcLeod")
if( engfunc(EngFunc_FindEntityByString, FM_NULLENT, "classname", "game_player_equip") )
{
pause("ac")
}
RegisterHam(Ham_Spawn, "player", "OnCBasePlayer_Spawn", false)
DisableHamForward( g_iHhAddPlayerItemPre = RegisterHam(Ham_AddPlayerItem, "player", "OnCBasePlayer_AddPlayerItem", false) )
DisableHamForward( g_iHhCBasePlayerGiveAmmoPre = RegisterHam(Ham_GiveAmmo, "player", "OnCBasePlayer_GiveAmmo", false) )
DisableHamForward( g_iHhCBasePlayerSpawnPost = RegisterHam(Ham_Spawn, "player", "OnCBasePlayer_Spawn_Post", true) )
}
CBasePlayer_GiveDefaultItems( id )
{
give_item(id, "weapon_knife")
if( get_pdata_int(id, m_iTeam) == TEAM_CT )
{
give_item(id, "weapon_deagle")
give_item(id, "weapon_m4a1")
ExecuteHamB(Ham_GiveAmmo, id, 35, "50ae", 35)
ExecuteHamB(Ham_GiveAmmo, id, 90, "556nato", 90)
}
}
public OnCBasePlayer_Spawn( id )
{
if( !get_pdata_int(id, m_fHasSurvivedLastRound) )
{
EnableHamForward( g_iHhAddPlayerItemPre )
EnableHamForward( g_iHhCBasePlayerGiveAmmoPre )
EnableHamForward( g_iHhCBasePlayerSpawnPost )
g_bNewPlayer = true
}
else if( is_user_alive( id ) )
{
strip_user_weapons(id)
CBasePlayer_GiveDefaultItems( id )
}
}
public OnCBasePlayer_AddPlayerItem(id, iWeapon)
{
if( g_bNewPlayer )
{
g_bNewPlayer = false
DisableHamForward( g_iHhAddPlayerItemPre )
DisableHamForward( g_iHhCBasePlayerGiveAmmoPre )
CBasePlayer_GiveDefaultItems( id )
EnableHamForward( g_iHhAddPlayerItemPre )
EnableHamForward( g_iHhCBasePlayerGiveAmmoPre )
}
set_pev(iWeapon, pev_flags, FL_KILLME)
SetHamReturnInteger(0)
return HAM_SUPERCEDE
}
public OnCBasePlayer_GiveAmmo()
{
return HAM_SUPERCEDE
}
public OnCBasePlayer_Spawn_Post( id )
{
DisableHamForward( g_iHhAddPlayerItemPre )
DisableHamForward( g_iHhCBasePlayerGiveAmmoPre )
DisableHamForward( g_iHhCBasePlayerSpawnPost )
}
__________________