Teammates not updating
I have this code for showing teammates money but when someone switches teams it doesn't update...
PHP Code:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#define NAME "show teammate's money"
#define VERSION "1.3.1"
#define AUTHOR "K.K.Lv"
new g_max_players, g_sync_creat_list, syncObject, g_pFreezeTime, freezetime
new bool:g_teammate[33]
public plugin_init()
{
register_plugin(NAME, VERSION, AUTHOR)
register_event("HLTV", "FreezeTimeStart", "a", "1=0", "2=0")
register_event("StatusValue", "set_team", "be", "1=1")
register_event("StatusValue", "EventStatusValue", "be", "1=2", "2!0")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
g_max_players = get_maxplayers()
g_pFreezeTime = get_cvar_pointer("mp_freezetime")
syncObject = CreateHudSyncObj()
}
public plugin_precache() g_sync_creat_list = CreateHudSyncObj()
public player_spawn(client) if(freezetime) set_task(1.0, "show_money", client, .flags="a", .repeat=get_pcvar_num(g_pFreezeTime))
public show_money(client)
{
if(!is_user_alive(client) || !is_user_connected(client)) return
static message[1024]
static name[32]
new money, id, len
for (id = 1; id <= g_max_players; id++)
{
if (id != client && is_user_connected(id) && cs_get_user_team(id) == cs_get_user_team(client))
{
money = cs_get_user_money(id)
get_user_name(id, name, 31)
len += format(message[len], charsmax(message) - len, "%-22.22s$%d^n", name, money)
}
}
set_hudmessage(100, 200, 0, 0.05, 0.35, 0, 0.02, 1.0, 0.1, 0.2, 2)
ShowSyncHudMsg(client, g_sync_creat_list, message)
}
public FreezeTimeStart() {
freezetime = true
if(task_exists(9778)) remove_task(9778)
set_task(get_pcvar_float(g_pFreezeTime), "freezetime_ended", 9778)
}
public freezetime_ended() {
freezetime = false
remove_task(9778)
}
public set_team(id) g_teammate[id] = bool:(read_data(2) == 1)
public EventStatusValue(id)
{
if(is_user_connected(id) && !is_user_bot(id))
{
new targetName[32], targetid = read_data(2)
get_user_name(targetid, targetName, 31)
new playerTeam = get_user_team(id), targetTeam = get_user_team(targetid), money = cs_get_user_money(targetid)
if (playerTeam == targetTeam)
{
set_hudmessage(255, 255, 255, -1.0, 0.42, 1, 0.01, 0.9, 0.01, 0.01, -1)
ShowSyncHudMsg(id, syncObject, "%s : $%d", targetName, money)
}
}
return PLUGIN_CONTINUE
}
|