Plugin /rep
#1
Necesito un plugin que al escribir /rep me salga un menú para darle como quien dice un punto a la persona que yo seleccione.
Hazlo, y si te da miedo, hazlo con miedo.
Responder
#2
Código PHP:
#include <amxmodx>
#include <amxmisc>

new g_Puntos[33];
new 
g_MaxPlayers;

public 
plugin_init() {
    
register_plugin("Menu de puntos""1.0""Saber")
    
register_clcmd("say /rep""CmdMenu")
    
    
g_MaxPlayers get_maxplayers()
}
public 
client_putinserver(id)
{
    
g_Puntos[id] = 0
}
public 
CmdMenu(id)
{
    new 
Nombre[32], menu menu_create("Menu de rep""HandlerMenu")
    
    for(new 
1g_MaxPlayersi++)
    {
        
get_user_name(iNombrecharsmax(Nombre))
        
menu_additem(menuNombre)
    }
    
menu_display(idmenu0)
    return;
}
public 
HandlerMenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return;
    }
    
    new 
NombreSelec[32], NombrePlayer[32];
    
    
get_user_name(idNombrePlayercharsmax(NombrePlayer))
    
    for(new 
1g_MaxPlayersi++)
    {
        if(!
is_user_connected(i))
        {
            break;
        }
        
get_user_name(iNombreSeleccharsmax(NombreSelec))
        
        
g_Puntos[i]++
        
chatcolor(i"El usuario %s te dio un punto ^4PRE"NombrePlayer)
        
chatcolor(id"Le diste un punto ^4PRE a %s"NombreSelec)
    }
}
stock chatcolor(id, const input[], any:...)
{
    static 
szMsg[191], msgSayText;
    
    if (!
msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190input3);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!team""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(id id 33);
    
write_string(szMsg);
    
message_end();


no lo probe xD
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
Responder
#3
https://amxmodx-es.com/Thread-Sistema-de-Reputaciones
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#4
(19/08/2018, 11:43 PM)Saber escribió:
Código PHP:
#include <amxmodx>
#include <amxmisc>

new g_Puntos[33];
new 
g_MaxPlayers;

public 
plugin_init() {
    
register_plugin("Menu de puntos""1.0""Saber")
    
register_clcmd("say /rep""CmdMenu")
    
    
g_MaxPlayers get_maxplayers()
}
public 
client_putinserver(id)
{
    
g_Puntos[id] = 0
}
public 
CmdMenu(id)
{
    new 
Nombre[32], menu menu_create("Menu de rep""HandlerMenu")
    
    for(new 
1g_MaxPlayersi++)
    {
        
get_user_name(iNombrecharsmax(Nombre))
        
menu_additem(menuNombre)
    }
    
menu_display(idmenu0)
    return;
}
public 
HandlerMenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return;
    }
    
    new 
NombreSelec[32], NombrePlayer[32];
    
    
get_user_name(idNombrePlayercharsmax(NombrePlayer))
    
    for(new 
1g_MaxPlayersi++)
    {
        if(!
is_user_connected(i))
        {
            break;
        }
        
get_user_name(iNombreSeleccharsmax(NombreSelec))
        
        
g_Puntos[i]++
        
chatcolor(i"El usuario %s te dio un punto ^4PRE"NombrePlayer)
        
chatcolor(id"Le diste un punto ^4PRE a %s"NombreSelec)
    }
}
stock chatcolor(id, const input[], any:...)
{
    static 
szMsg[191], msgSayText;
    
    if (!
msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190input3);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!team""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(id id 33);
    
write_string(szMsg);
    
message_end();


no lo probe xD

eso no funciona ni que venga Bilgeits transformado en super sayajin dios fase 4,

verifica el "HandlerMenu" e interpreta al español lo que estas haciendo
como tip: el loop esta demas
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#5
sugisaki, seria de esta manera? y perdon por invadir el tema

Código PHP:
public HandlerMenu(idmenuitem)
{
    
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return;
    }
    
    new 
Nombre[32]
    
    
get_user_name(idNombrecharsmax(Nombre))
    
    if(!
is_user_connected(item))
    {
        return;
    }
    
chatcolor(id"Le diste un punto ^4REP ^1a %s"item)
    
chatcolor(item"%s Te dio un punto ^4REP"Nombre)
    return;


o tendria que hacer una variable para el nombre del jugador que elijio (item)
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
Responder
#6
(20/08/2018, 10:02 AM)Saber escribió: sugisaki, seria de esta manera? y perdon por invadir el tema

Código PHP:
public HandlerMenu(idmenuitem)
{
    
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return;
    }
    
    new 
Nombre[32]
    
    
get_user_name(idNombrecharsmax(Nombre))
    
    if(!
is_user_connected(item))
    {
        return;
    }
    
chatcolor(id"Le diste un punto ^4REP ^1a %s"item)
    
chatcolor(item"%s Te dio un punto ^4REP"Nombre)
    return;


o tendria que hacer una variable para el nombre del jugador que elijio (item)

es peor aun, ya que item la index de la opcion en el menu, no del player.
esta seria una manera
Código PHP:
public CmdMenu(id)
{
    new 
Nombre[32], menu menu_create("Menu de rep""HandlerMenu")
    new 
num[3]
    for(new 
1<= g_MaxPlayersi++)
    {
        if(!
is_user_connected(i))
        {
            continue;
        }
        
num_to_str(inumcharsmax(num))
        
get_user_name(iNombrecharsmax(Nombre))
        
menu_additem(menuNombrenum);
    }
    
menu_display(idmenu0)
    return;
}
public 
HandlerMenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return;
    }
    new 
NombreSelec[32], NombrePlayer[32], info[2], target;
    
menu_item_getinfo(menuitemtargetinfocharsmax(info), NombreSeleccharsmax(NombreSelec), target)
    
menu_destroy(menu// <------------------
    
target str_to_num(info);
    if(!
is_user_connected(target))
    {
        
chatcolor(id"%s se ha desconectado"NombreSelec);
        return
    }
    
get_user_name(idNombrePlayercharsmax(NombrePlayer))
    
chatcolor(target"El usuario %s te dio un punto ^4PRE"NombrePlayer)
    
chatcolor(id"Le diste un punto ^4PRE a %s"NombreSelec)


tiene cierto fallo: al tener el menu abierto, los users se van, otros players llegan y toman su id, se le sumara al user que llego y no al que estaba antes, pero se puede fixear.
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#7
gracias por aclarar mi duda xD
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)