Ocultar Espectadores Para el Jugador
#1
Buenas! Tengo el siguiente plugin... cómo hago para que la lista de espectadores, no le salga al jugador que sigue vivo? ..Resumiendo..Nunca va a ver quien lo espectea cuando está jugando, pero si quiero que salga la lista de espectadores a todos los jugadores muertos/Espect.

Código PHP:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>

#pragma semicolon 1

#define RED 64
#define GREEN 64
#define BLUE 64

#define ECHOCMD

#define FLAG ADMIN_BAN

#define PLUGIN "SpecList by HENRI(_)LLOYD"
#define VERSION "3.0"
#define AUTHOR "HENRI(_)LLOYD" 

new g_fps[33];
new 
maxplayers;
new 
gOnOff;
new 
HudObj

#define is_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define add_bit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define remove_bit(%1,%2) (%1 &= ~(1 << (%2 & 31)))

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_clcmd("say /speclist""cmdSpecList");
    
register_clcmd("say_team /speclist""cmdSpecList"); 
    
register_clcmd("engsay_speclist""cmdSpecList"); 
    
    
register_forward(FM_PlayerPreThink"client_think");
    
    
maxplayers get_maxplayers();
    
HudObj CreateHudSyncObj();
    
    return 
set_task(1.0"tskShowSpec"___"b"); 
}

public 
cmdSpecList(id)
{
    
is_bit(gOnOffid) ? remove_bit(gOnOffid) : add_bit(gOnOffid);

    
#if defined ECHOCMD
        
return PLUGIN_CONTINUE;
    
#else
        
return PLUGIN_HANDLED;
    
#endif
}

public 
tskShowSpec()
{
    static 
szHud[512];
    static 
szName[32];
    
    for(new 
1<= maxplayersi++)
    {
    
        new 
sendto;
        
        if(!
is_user_alive(i))
        {
            continue;
        }
        
        new 
ping;
        new 
loss ;

        
get_user_ping(ipingloss);
        
get_user_name(iszName31);
        
        new 
ip[32];
        
get_user_ip(iip311);

        new 
len formatex(szHud511"NOMBRE: %s^nDINERO: %d | VIDA: %d^nPING: %i | FPS: %d^n^nESPECTADORES:^n"szNamecs_get_user_money(i), get_user_health(i), pingg_fps[i]); 
        
        for(new 
dead 1dead <= maxplayersdead++)
        {
            if(!
is_user_connected(dead) || is_user_alive(dead) || is_user_bot(dead) || is_user_hltv(dead))
            {
                continue;
            }
            
            if(
pev(deadpev_iuser2) == i)
            {
                if(!(
get_user_flags(dead) & FLAG))
                {
                    
get_user_name(deadszName31);
                    
len += formatex(szHudmax(0511 len), "%s^n"szName);
                }
            

                if(
is_bit(gOnOffdead))
                {
                    
add_bit(sendtodead);
                }
            }
        }
        
        if(
sendto
        {
            for(new 
id 1id <= maxplayersid++)
            {
            
                if(
is_bit(sendtoid))
                {
                    
set_hudmessage(REDGREENBLUE0.750.1500.01.10.00.0, -1);
                    
ShowSyncHudMsg(idHudObjszHud); 
                }
            }
        }
    }

    return 
arrayset(g_fps033);
}

public 
client_think(id)
{
    
g_fps[id]++;

    return 
FMRES_IGNORED
}

public 
client_connect(id)
{
    return 
add_bit(gOnOffid);

(13/05/2017, 02:11 PM)DiCHANHO escribió: off: pobre este ya quedo traumado con lo del autor y robo de plugins
(26/07/2020, 08:32 PM)Hinami escribió: & si soy un gordo cagon, virgen, con posters de anime en todas partes
✅✅Aportes✅✅
Datear Automáticamente CincoYA
Efecto Trueno y Rayo

Responder
#2
(02/11/2022, 10:44 AM)Nacalau escribió: Buenas! Tengo el siguiente plugin... cómo hago para que la lista de espectadores, no le salga al jugador que sigue vivo? ..Resumiendo..Nunca va a ver quien lo espectea cuando está jugando, pero si quiero que salga la lista de espectadores a todos los jugadores muertos/Espect.

Código PHP:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>

#pragma semicolon 1

#define RED 64
#define GREEN 64
#define BLUE 64

#define ECHOCMD

#define FLAG ADMIN_BAN

#define PLUGIN "SpecList by HENRI(_)LLOYD"
#define VERSION "3.0"
#define AUTHOR "HENRI(_)LLOYD" 

new g_fps[33];
new 
maxplayers;
new 
gOnOff;
new 
HudObj

#define is_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define add_bit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define remove_bit(%1,%2) (%1 &= ~(1 << (%2 & 31)))

public plugin_init()
{
    register_plugin(PLUGINVERSIONAUTHOR);
    
    register_clcmd
("say /speclist""cmdSpecList");
    register_clcmd("say_team /speclist""cmdSpecList"); 
    register_clcmd("engsay_speclist""cmdSpecList"); 
    
    register_forward
(FM_PlayerPreThink"client_think");
    
    maxplayers 
get_maxplayers();
    HudObj CreateHudSyncObj();
    
    
return set_task(1.0"tskShowSpec"___"b"); 
}

public 
cmdSpecList(id)
{
    is_bit(gOnOffid) ? remove_bit(gOnOffid) : add_bit(gOnOffid);

    #if defined ECHOCMD
        return PLUGIN_CONTINUE;
    #else
        return PLUGIN_HANDLED;
    #endif
}

public 
tskShowSpec()
{
    static szHud[512];
    static szName[32];
    
    
for(new 1<= maxplayersi++)
    {
    
        
new sendto;
        
        
if(!is_user_alive(i))
        {
            continue;
        }
        
        
new ping;
        new loss ;

        get_user_ping(ipingloss);
        get_user_name(iszName31);
        
        
new ip[32];
        get_user_ip(iip311);

        new len formatex(szHud511"NOMBRE: %s^nDINERO: %d | VIDA: %d^nPING: %i | FPS: %d^n^nESPECTADORES:^n"szNamecs_get_user_money(i), get_user_health(i), pingg_fps[i]); 
        
        
for(new dead 1dead <= maxplayersdead++)
        {
            if(!is_user_connected(dead) || is_user_alive(dead) || is_user_bot(dead) || is_user_hltv(dead))
            {
                continue;
            }
            
            
if(pev(deadpev_iuser2) == i)
            {
                if(!(get_user_flags(dead) & FLAG))
                {
                    get_user_name(deadszName31);
                    len += formatex(szHudmax(0511 len), "%s^n"szName);
                }
            

                
if(is_bit(gOnOffdead))
                {
                    add_bit(sendtodead);
                }
            }
        }
        
        
if(sendto
        {
            for(new id 1id <= maxplayersid++)
            {
            
                
if(is_bit(sendtoid))
                {
                    set_hudmessage(REDGREENBLUE0.750.1500.01.10.00.0, -1);
                    ShowSyncHudMsg(idHudObjszHud); 
                }
            }
        }
    }

    return arrayset(g_fps033);
}

public 
client_think(id)
{
    g_fps[id]++;

    return FMRES_IGNORED
}

public 
client_connect(id)
{
    return add_bit(gOnOffid);


Y si adaptas tu codigo a este?

https://forums.alliedmods.net/showthread.php?t=63121

Es para que el admin no aparezca en spec
Tengo un problema con los emotes  Whatdone 

Ayuda  Whatdone 
Responder
#3
Solamente borra la parte donde te muestra a vos. Llegando a casa te enseño a si aprendes a como hacerlo.

Código PHP:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>

#pragma semicolon 1

#define RED 64
#define GREEN 64
#define BLUE 64

#define ECHOCMD

#define FLAG ADMIN_BAN

#define PLUGIN "SpecList by HENRI(_)LLOYD"
#define VERSION "3.0"
#define AUTHOR "HENRI(_)LLOYD" 

new g_fps[33];
new 
maxplayers;
new 
gOnOff;
new 
HudObj

#define is_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define add_bit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define remove_bit(%1,%2) (%1 &= ~(1 << (%2 & 31)))

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_clcmd("say /speclist""cmdSpecList");
    
register_clcmd("say_team /speclist""cmdSpecList"); 
    
register_clcmd("engsay_speclist""cmdSpecList"); 
    
    
register_forward(FM_PlayerPreThink"client_think");
    
    
maxplayers get_maxplayers();
    
HudObj CreateHudSyncObj();
    
    return 
set_task(1.0"tskShowSpec"___"b"); 
}

public 
cmdSpecList(id)
{
    
is_bit(gOnOffid) ? remove_bit(gOnOffid) : add_bit(gOnOffid);

    
#if defined ECHOCMD
        
return PLUGIN_CONTINUE;
    
#else
        
return PLUGIN_HANDLED;
    
#endif
}

public 
tskShowSpec()
{
    static 
szHud[512];
    static 
szName[32];
    
    for(new 
1<= maxplayersi++)
    {
    
        new 
sendto;
        
        if(!
is_user_alive(i))
        {
            continue;
        }
        
        new 
ping;
        new 
loss ;

        
get_user_ping(ipingloss);
        
get_user_name(iszName31);
        
        new 
ip[32];
        
get_user_ip(iip311);

        new 
len formatex(szHud511"NOMBRE: %s^nDINERO: %d | VIDA: %d^nPING: %i | FPS: %d^n^nESPECTADORES:^n"szNamecs_get_user_money(i), get_user_health(i), pingg_fps[i]); 
        
        for(new 
dead 1dead <= maxplayersdead++)
        {
            if(!
is_user_connected(dead) || is_user_alive(dead) || is_user_bot(dead) || is_user_hltv(dead))
            {
                continue;
            }
            
            if(
pev(deadpev_iuser2) == i)
            {
                if(!(
get_user_flags(dead) & FLAG))
                {
                    
get_user_name(deadszName31);
                    
len += formatex(szHudmax(0511 len), "%s^n"szName);
                }
            

                if(
is_bit(gOnOffdead))
                {
                    
add_bit(sendtodead);
                }
            }
        }
        
        if(
sendto
        {
            for(new 
id 1id <= maxplayersid++)
            {
            
                if( 
id == )
                    continue;

                if(
is_bit(sendtoid))
                {
                    
set_hudmessage(REDGREENBLUE0.750.1500.01.10.00.0, -1);
                    
ShowSyncHudMsg(idHudObjszHud); 
                }
            }
        }
    }

    return 
arrayset(g_fps033);
}

public 
client_think(id)
{
    
g_fps[id]++;

    return 
FMRES_IGNORED
}

public 
client_connect(id)
{
    return 
add_bit(gOnOffid);

1
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)