Okay, so i tried making this.
It works fine, but gives some log errors.
Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif
#define PLUGIN "Test:Remember Weapons on Respawn"
#define VERSION "1.0"
#define AUTHOR "CrAzY MaN"
new Array:g_weaponname;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public client_death(killer, victim)
{
set_task(3.0, "respawn_player", victim)
set_dhudmessage(0, 255, 0, -1.0, 0.77, 0, 6.0, 12.0)
show_dhudmessage(victim, "You will respawn in 3 seconds.")
g_weaponname = ArrayCreate(32);
get_weapons(victim)
ArrayClear(g_weaponname)
}
public get_weapons(id)
{
new weapons[32], iWeapons, weapon_name[32];
get_user_weapons(id, weapons, iWeapons)
for (new i=0; i<=iWeapons; i++)
{
get_weaponname(weapons[i], weapon_name, charsmax(weapon_name))
ArrayPushString(g_weaponname, weapon_name)
client_print(id, print_chat, "Old Weapons : %s", weapon_name)
}
}
public give_weapons(id)
{
new weapon_name[32];
strip_user_weapons(id)
for(new i=0; i < ArraySize(g_weaponname); i++ )
{
ArrayGetString(g_weaponname, i, weapon_name, charsmax(weapon_name))
give_item(id, weapon_name)
client_print( id, print_chat, "New Weapons : %s", weapon_name )
}
}
//----------------------------------------------------------------//
/*-------------------------RESPAWN PLAYER-------------------------*/
//----------------------------------------------------------------//
public respawn_player(id)
{
if (!is_user_connected(id) || is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return;
set_pev(id, pev_deadflag, DEAD_RESPAWNABLE)
dllfunc(DLLFunc_Think, id)
if (is_user_bot(id) && pev(id, pev_deadflag) == DEAD_RESPAWNABLE)
{
dllfunc(DLLFunc_Spawn, id)
}
give_weapons(id)
}