Admin bienvenida
#1
Buenas

Ando buscando un plugin que cuando ingrese un usuario con privilegios (Tengo un publico con admin prefix) le informe que privilegios tiene (Prefix), ranking en el servidor y que comandos puede usar

Los prefix que manejo son

Propietario (Flag l)
Staff (Flag s)
Admin (Flag r)
Vip Premium (Flag t)
Vip (Flag n)
Moderadora (Flag q)

Los que estuve buscando solo dicen bienvenida o tiran leyendas de que tal admin se conecto. Yo necesitaría en lo posible que solo el admin que se conecta vea esa info

Si es complejo ofrezco $$ por el trabajo (Soy de Argentina)

Muchas gracias

Edit: Me falto agregar el Flag de cada rango
Responder
#2
Te sirve? Whatdone

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <csstats>

#define PLUGIN "Nombre"
#define VERSION "1.0"
#define AUTHOR "Samueldmq"

#pragma semicolon 1

#define TAG "^4[TAG]^1"
#define COMMAND "/comandos"

#define SetMsgShown(%1)       (g_bitShown |= (1<<(%1&31)))
#define ClearMsgShown(%1)    (g_bitShown &= ~(1 <<(%1&31)))
#define IsMsgShown(%1)       (g_bitShown & (1<<(%1&31)))

new g_bitShown;

new 
g_bitUserFlags[33];

enum _:prefixStruct {
    
prefix,
    
flag
};

new const 
PREFIX_DATA[][][] = {
    {
"Propietario",    "l"},
    {
"Moderadora",    "q"},
    {
"Staff",    "s"},
    {
"Admin",    "r"},
    {
"VIP Premium",    "t"},
    {
"VIP",        "n"}
};

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_clcmd("joinclass""cmdJoinClass");
    
    
register_clcmd(fmt("say %s"COMMAND), "showCommandsList");
    
register_clcmd(fmt("say_team %s"COMMAND), "showCommandsList");
}

public 
client_putinserver(id) {
    
g_bitUserFlags[id] = get_user_flags(id);
}

public 
cmdJoinClass(id)
{
    if(
IsMsgShown(id)) {
        return 
PLUGIN_CONTINUE;
    }
    
    for(new 
0sizeof(PREFIX_DATA); i++) {
        if(
g_bitUserFlags[id] & read_flags(PREFIX_DATA[i][flag])) {
            new 
stats[STATSX_MAX_OBJECTIVE];
            
client_print_color(idprint_team_default"%s Tu prefix es ^4%s"TAGPREFIX_DATA[i][prefix]);
            
client_print_color(idprint_team_default"%s Tu posicion en el ranking es ^4%i"TAGget_user_stats2(idstats));
            
client_print_color(idprint_team_default"%s Para ver los comandos disponibles escribe %s"TAGCOMMAND);
            
SetMsgShown(id);
            break;
        }
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
showCommandsList(id) {
    new 
szMOTD[1536];
    new 
szCmd[32], cmdflagsszInfo[128], bool:bIsMl;
    new 
iLeniCmdsNum;
    
    
iLen formatex(szMOTD1535,"<body bgcolor=#000000 text=#98f5ff>");
    
    
iCmdsNum get_concmdsnum(g_bitUserFlags[id], id);
    
    for(new 
0iCmdsNumi++) {
        
get_concmd(iszCmd31cmdflagsszInfo127g_bitUserFlags[id], idbIsMl);
        
        if(
bIsMl) {
            
LookupLangKey(szInfo127szInfoid);
        }
        
        
iLen += formatex(szMOTD[iLen], 1535-iLen"%s<br>"szCmd);
    }
    
iLen += formatex(szMOTD[iLen], 1535-iLen,"</body>");
    
    
client_print(idprint_chat"ilen %i"iLen);
    
    
show_motd(idszMOTD"Lista de comandos");
}

public 
client_disconnected(id) {
    
ClearMsgShown(id);
    
g_bitUserFlags[id] = 0;

Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#3
Gracias Samuel por responder. Lo probe y apenas me conecto no me muestra nada. Si me abre un Motd cuando pongo /comandos

Al codigo solo le cambie 3 cosas pero se compilo bien

Código:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <csstats>

#define PLUGIN "bienvenida"
#define VERSION "1.0"
#define AUTHOR "Samueldmq"

#pragma semicolon 1

#define TAG "^4[ CORONAVIRUS GAMING ]^1"
#define COMMAND "/comandos"

#define SetMsgShown(%1)       (g_bitShown |= (1<<(%1&31)))
#define ClearMsgShown(%1)    (g_bitShown &= ~(1 <<(%1&31)))
#define IsMsgShown(%1)       (g_bitShown & (1<<(%1&31)))

new g_bitShown;

new g_bitUserFlags[33];

enum _:prefixStruct {
    prefix,
    flag
};

new const PREFIX_DATA[][][] = {
    {"Propietario",    "l"},
    {"Moderadora",    "q"},
    {"Staff",    "s"},
    {"Admin",    "r"},
    {"VIP Premium",    "t"},
    {"VIP",        "n"}
};

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_clcmd("joinclass", "cmdJoinClass");
    
    register_clcmd(fmt("say %s", COMMAND), "showCommandsList");
    register_clcmd(fmt("say_team %s", COMMAND), "showCommandsList");
}

public client_putinserver(id) {
    g_bitUserFlags[id] = get_user_flags(id);
}

public cmdJoinClass(id)
{
    if(IsMsgShown(id)) {
        return PLUGIN_CONTINUE;
    }
    
    for(new i = 0; i < sizeof(PREFIX_DATA); i++) {
        if(g_bitUserFlags[id] & read_flags(PREFIX_DATA[i][flag])) {
            new stats[STATSX_MAX_OBJECTIVE];
            client_print_color(id, print_team_default, "%s Tu privilegio es ^4%s", TAG, PREFIX_DATA[i][prefix]);
            client_print_color(id, print_team_default, "%s Tu posicion en el ranking es ^4%i", TAG, get_user_stats2(id, stats));
            client_print_color(id, print_team_default, "%s Para ver los comandos disponibles escribe %s", TAG, COMMAND);
            SetMsgShown(id);
            break;
        }
    }
    
    return PLUGIN_CONTINUE;
}

public showCommandsList(id) {
    new szMOTD[1536];
    new szCmd[32], cmdflags, szInfo[128], bool:bIsMl;
    new iLen, iCmdsNum;
    
    iLen = formatex(szMOTD, 1535,"<body bgcolor=#000000 text=#98f5ff>");
    
    iCmdsNum = get_concmdsnum(g_bitUserFlags[id], id);
    
    for(new i = 0; i < iCmdsNum; i++) {
        get_concmd(i, szCmd, 31, cmdflags, szInfo, 127, g_bitUserFlags[id], id, bIsMl);
        
        if(bIsMl) {
            LookupLangKey(szInfo, 127, szInfo, id);
        }
        
        iLen += formatex(szMOTD[iLen], 1535-iLen, "%s<br>", szCmd);
    }
    iLen += formatex(szMOTD[iLen], 1535-iLen,"</body>");
    
    client_print(id, print_chat, "ilen %i", iLen);
    
    show_motd(id, szMOTD, "Lista de comandos");
}

public client_disconnected(id) {
    ClearMsgShown(id);
    g_bitUserFlags[id] = 0;
}
Responder
#4
Deberían salir 3 mensajes justo después de elegir equipo y entrar a partida, ¿Seguro que no salen los mensajes?
O ¿necesitas que salgan justo al conectarse?
Por si acaso, paso este con una modificación para que el mensaje salga en el primer spawn
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <csstats>
#include <hamsandwich>

#define PLUGIN "bienvenida"
#define VERSION "1.0"
#define AUTHOR "Samueldmq"

#pragma semicolon 1

#define TAG "^4[ CORONAVIRUS GAMING ]^1"
#define COMMAND "/comandos"

#define SetMsgShown(%1)       (g_bitShown |= (1<<(%1&31)))
#define ClearMsgShown(%1)    (g_bitShown &= ~(1 <<(%1&31)))
#define IsMsgShown(%1)       (g_bitShown & (1<<(%1&31)))

new g_bitShown;

new 
g_bitUserFlags[33];

enum _:prefixStruct {
    
prefix,
    
flag
};

new const 
PREFIX_DATA[][][] = {
    {
"Propietario",    "l"},
    {
"Moderadora",    "q"},
    {
"Staff",    "s"},
    {
"Admin",    "r"},
    {
"VIP Premium",    "t"},
    {
"VIP",        "n"}
};

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
RegisterHam(Ham_Spawn,"player","fwPlayerSpawn",1);
    
    
register_clcmd(fmt("say %s"COMMAND), "showCommandsList");
    
register_clcmd(fmt("say_team %s"COMMAND), "showCommandsList");
}

public 
fwPlayerSpawn(id) {
    if(
IsMsgShown(id)) {
        return 
HAM_IGNORED;
    }
    
    for(new 
0sizeof(PREFIX_DATA); i++) {
        if(
g_bitUserFlags[id] & read_flags(PREFIX_DATA[i][flag])) {
            new 
stats[STATSX_MAX_OBJECTIVE];
            
client_print_color(idprint_team_default"%s Tu privilegio es ^4%s"TAGPREFIX_DATA[i][prefix]);
            
client_print_color(idprint_team_default"%s Tu posicion en el ranking es ^4%i"TAGget_user_stats2(idstats));
            
client_print_color(idprint_team_default"%s Para ver los comandos disponibles escribe %s"TAGCOMMAND);
            
SetMsgShown(id);
            break;
        }
    }
    
    return 
HAM_IGNORED;
}

public 
client_putinserver(id) {
    
g_bitUserFlags[id] = get_user_flags(id);
}


public 
showCommandsList(id) {
    new 
szMOTD[1536];
    new 
szCmd[32], cmdflagsszInfo[128], bool:bIsMl;
    new 
iLeniCmdsNum;
    
    
iLen formatex(szMOTD1535,"<body bgcolor=#000000 text=#98f5ff>");
    
    
iCmdsNum get_concmdsnum(g_bitUserFlags[id], id);
    
    for(new 
0iCmdsNumi++) {
        
get_concmd(iszCmd31cmdflagsszInfo127g_bitUserFlags[id], idbIsMl);
        
        if(
bIsMl) {
            
LookupLangKey(szInfo127szInfoid);
        }
        
        
iLen += formatex(szMOTD[iLen], 1535-iLen"%s<br>"szCmd);
    }
    
iLen += formatex(szMOTD[iLen], 1535-iLen,"</body>");
    
    
client_print(idprint_chat"ilen %i"iLen);
    
    
show_motd(idszMOTD"Lista de comandos");
}

public 
client_disconnected(id) {
    
ClearMsgShown(id);
    
g_bitUserFlags[id] = 0;

Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#5
(05/05/2021, 10:08 PM)samueldmq escribió: Deberían salir 3 mensajes justo después de elegir equipo y entrar a partida, ¿Seguro que no salen los mensajes?
O ¿necesitas que salgan justo al conectarse?
Por si acaso, paso este con una modificación para que el mensaje salga en el primer spawn
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <csstats>
#include <hamsandwich>

#define PLUGIN "bienvenida"
#define VERSION "1.0"
#define AUTHOR "Samueldmq"

#pragma semicolon 1

#define TAG "^4[ CORONAVIRUS GAMING ]^1"
#define COMMAND "/comandos"

#define SetMsgShown(%1)      (g_bitShown |= (1<<(%1&31)))
#define ClearMsgShown(%1)    (g_bitShown &= ~(1 <<(%1&31)))
#define IsMsgShown(%1)      (g_bitShown & (1<<(%1&31)))

new g_bitShown;

new 
g_bitUserFlags[33];

enum _:prefixStruct {
 
prefix,
 
flag
};

new const 
PREFIX_DATA[][][] = {
 {
"Propietario""l"},
 {
"Moderadora""q"},
 {
"Staff""s"},
 {
"Admin""r"},
 {
"VIP Premium""t"},
 {
"VIP""n"}
};

public 
plugin_init()
{
 
register_plugin(PLUGINVERSIONAUTHOR);
 
 
RegisterHam(Ham_Spawn,"player","fwPlayerSpawn",1);
 
 
register_clcmd(fmt("say %s"COMMAND), "showCommandsList");
 
register_clcmd(fmt("say_team %s"COMMAND), "showCommandsList");
}

public 
fwPlayerSpawn(id) {
 if(
IsMsgShown(id)) {
 return 
HAM_IGNORED;
 }
 
 for(new 
0sizeof(PREFIX_DATA); i++) {
 if(
g_bitUserFlags[id] & read_flags(PREFIX_DATA[i][flag])) {
 new 
stats[STATSX_MAX_OBJECTIVE];
 
client_print_color(idprint_team_default"%s Tu privilegio es ^4%s"TAGPREFIX_DATA[i][prefix]);
 
client_print_color(idprint_team_default"%s Tu posicion en el ranking es ^4%i"TAGget_user_stats2(idstats));
 
client_print_color(idprint_team_default"%s Para ver los comandos disponibles escribe %s"TAGCOMMAND);
 
SetMsgShown(id);
 break;
 }
 }
 
 return 
HAM_IGNORED;
}

public 
client_putinserver(id) {
 
g_bitUserFlags[id] = get_user_flags(id);
}


public 
showCommandsList(id) {
 new 
szMOTD[1536];
 new 
szCmd[32], cmdflagsszInfo[128], bool:bIsMl;
 new 
iLeniCmdsNum;
 
 
iLen formatex(szMOTD1535,"<body bgcolor=#000000 text=#98f5ff>");
 
 
iCmdsNum get_concmdsnum(g_bitUserFlags[id], id);
 
 for(new 
0iCmdsNumi++) {
 
get_concmd(iszCmd31cmdflagsszInfo127g_bitUserFlags[id], idbIsMl);
 
 if(
bIsMl) {
 
LookupLangKey(szInfo127szInfoid);
 }
 
 
iLen += formatex(szMOTD[iLen], 1535-iLen"%s<br>"szCmd);
 }
 
iLen += formatex(szMOTD[iLen], 1535-iLen,"</body>");
 
 
client_print(idprint_chat"ilen %i"iLen);
 
 
show_motd(idszMOTD"Lista de comandos");
}

public 
client_disconnected(id) {
 
ClearMsgShown(id);
 
g_bitUserFlags[id] = 0;


Ahora si Rey ! Quedo de lujo. Decime que te debo !
Responder
#6
Nada hermano jajajja
Si quieres haces una donación leve al foro
Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#7
Buenas Si alguien Me puede ayudar Con este Plugins q no lo en Ningun lado AYUDA


Archivos adjuntos Miniatura(s)
   
Responder
#8
(05/05/2021, 11:17 PM)fernamolina escribió: Buenas Si alguien Me puede ayudar Con este Plugins q no lo en Ningun lado AYUDA

Tenes que crear un nuevo Tema

(05/05/2021, 10:45 PM)samueldmq escribió: Nada hermano jajajja
Si quieres haces una donación leve al foro

Si, no tengo problema en donar !

Ultimo pedido, te puedo pedir que sea en HUD los textos apenas spawneas? Ya que por say muchas veces no se ve por que tengo el GHW messages y se superpone

En HUD con detalle en rojo solido si es posible. sino como venga
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)