View Single Post
mug1wara
AlliedModders Donor
Join Date: Jun 2018
Old 06-23-2018 , 11:31   Re: [CSGO REQ] Remaining Players Plugin
Reply With Quote #10

You could just remove the index of the global variable if you want all players kills to be shown.

For hint:
PHP Code:
#include <sourcemod>

int g_iKills[MAXPLAYERS 1];

public 
void OnPluginStart()
{
    
HookEvent("player_death"Event_Death);
    
    
HookEvent("round_end"Event_End);
}

public 
void OnGameFrame()
{
    for (
int i 1<= MaxClientsi++)
    {
        if (
IsPlayerAlive(i))
        {
            
int iCount GetAlivePlayersCount();
            
            
PrintHintTextToAll("<font size = '20'>Remaining players: %s Kills: %s</font>"iCountg_iKills[i]);
        }
    }
}

public 
Action Event_Death(Event hEvent, const char[] sNamebool bDontBroadcast)
{
    
int iAttacker hEvent.GetInt("attacker");
    
    
g_iKills[iAttacker]++;
}

public 
Action Event_End(Event hEvent, const char[] sNamebool bDontBroadcast)
{
    
int iClient GetClientOfUserId(hEvent.GetInt("userid"));
    
    
g_iKills[iClient] = 0;
}

stock int GetAlivePlayersCount()
{
    
int iCount;
    
    for (
int i 1<= MaxClientsi++)
    {
        if (
IsClientInGame(i) && IsPlayerAlive(i))
            
iCount++;
    }
    
    return 
iCount;

For hud:
PHP Code:
#include <sourcemod>

int g_iKills[MAXPLAYERS 1];

public 
void OnPluginStart()
{
    
HookEvent("player_death"Event_Death);
    
    
HookEvent("round_end"Event_End);
}

public 
void OnGameFrame()
{
    
SetHudTextParams(0.50.51.01125510);
    
    for (
int i 1<= MaxClientsi++)
    {
        if (
IsClientInGame(i))
        {
            
int iCount GetAlivePlayersCount();
            
            
ShowHudText(i1"Remaining players: %s Kills: %s"iCountg_iKills[i]);
        }
    }
}

public 
Action Event_Death(Event hEvent, const char[] sNamebool bDontBroadcast)
{
    
int iAttacker hEvent.GetInt("attacker");
    
    
g_iKills[iAttacker]++;
}

public 
Action Event_End(Event hEvent, const char[] sNamebool bDontBroadcast)
{
    
int iClient GetClientOfUserId(hEvent.GetInt("userid"));
    
    
g_iKills[iClient] = 0;
}

stock int GetAlivePlayersCount()
{
    
int iCount;
    
    for (
int i 1<= MaxClientsi++)
    {
        if (
IsClientInGame(i) && IsPlayerAlive(i))
            
iCount++;
    }
    
    return 
iCount;


Last edited by mug1wara; 06-23-2018 at 11:33.
mug1wara is offline