Comando /cachear adaptado a sistema de bolsillos
#1

Buenas, el dнa de hoy tengo un problema, sucede que como todos sabrбn, para colocar el sistema de bolsillos hay que adaptarlo tambiйn al /revisar o /cachear, al igual que al /maletero.

Sucede que mi sistema de bolsillo no estб adaptado al /revisar ID o /cachear ID, por ende, un policнa no podrнa cumplir su funciуn de revisar a la gente porque sencillamente no podrнa.

Mi pregunta o mejor dicho, mi pedido de ayuda es; їCуmo puedo crear un comando que estй adaptado al /bol?

Es decir, un comando prбcticamente igual al /bol (que muestra tus bolsillos) pero que sea /cachear ID (Que muestre los bolsillos de otro jugador)

Mi comando o sistema de bolsillo es el siguiente.

PHP код:
CMD:bolsillos(playeridparams[]) return cmd_bol(playeridparams);
CMD:bol(playeridparams[]) //Inventario
{
    
MostrarBolsillos(playerid);
    return 
1;

PHP код:
forward MostrarBolsillos(playerid); //Muestra inventario al jugador
public MostrarBolsillos(playerid)
{
    
ActualizarManos(playerid);
    new 
dialog[1024], string[128];
    new 
nombre[300];
    for(new 
08i++)
    {
        new 
Bol Info[playerid][pBol][i];
        if(
Bol == 0){format(stringsizeof(string), "\n{FFFFFF}[%d] Vacнo",i+1);}
        else{
format(stringsizeof(string), "\n[%d]{FFFFFF} %s (%d)"i+1ObjetoInfo[Bol][NombreObjeto], Info[playerid][pBolCant][i]);}
        
strcat(dialogstring);
    }
    
strcat(dialog"\n{FFFFFF}---");
    if(
Info[playerid][pManoDer] == 0)
    {
     
//   format(string, sizeof(string), "\n{FFFFFF}Mano derecha vacнa");
        
format(stringsizeof(string), " ");
        
strcat(dialogstring);
    }
    else
    {
        
format(stringsizeof(string), "\n{FFFFFF}Mano derecha: %s (%d)"ObjetoInfo[Info[playerid][pManoDer]][NombreObjeto], Info[playerid][pManoDerCant]);
        
strcat(dialogstring);
    }
    if(
Info[playerid][pManoIzq] == 0)
    {
    
//    format(string, sizeof(string), "\n{FFFFFF}Mano izquierda vacнa");
        
format(stringsizeof(string), " ");
        
strcat(dialogstring);
    }
    else
    {
        
format(stringsizeof(string), "\n{FFFFFF}Mano izquierda: %s (%d)"ObjetoInfo[Info[playerid][pManoIzq]][NombreObjeto], Info[playerid][pManoIzqCant]);
        
strcat(dialogstring);
    }
    
format(nombresizeof(nombre), "Bolsillos");
    
ShowPlayerDialog(playeridBOLSILLOSDIALOG_STYLE_LISTnombredialog"Sacar""Salir");
    return 
1;
}
Muchas gracias de antemano
Reply
#2

Quote:
Originally Posted by Strikeskp
Посмотреть сообщение
Buenas, el dнa de hoy tengo un problema, sucede que como todos sabrбn, para colocar el sistema de bolsillos hay que adaptarlo tambiйn al /revisar o /cachear, al igual que al /maletero.

Sucede que mi sistema de bolsillo no estб adaptado al /revisar ID o /cachear ID, por ende, un policнa no podrнa cumplir su funciуn de revisar a la gente porque sencillamente no podrнa.

Mi pregunta o mejor dicho, mi pedido de ayuda es; їCуmo puedo crear un comando que estй adaptado al /bol?

Es decir, un comando prбcticamente igual al /bol (que muestra tus bolsillos) pero que sea /cachear ID (Que muestre los bolsillos de otro jugador)

Mi comando o sistema de bolsillo es el siguiente.

PHP код:
CMD:bolsillos(playeridparams[]) return cmd_bol(playeridparams);
CMD:bol(playeridparams[]) //Inventario
{
    
MostrarBolsillos(playerid);
    return 
1;

PHP код:
forward MostrarBolsillos(playerid); //Muestra inventario al jugador
public MostrarBolsillos(playerid)
{
    
ActualizarManos(playerid);
    new 
dialog[1024], string[128];
    new 
nombre[300];
    for(new 
08i++)
    {
        new 
Bol Info[playerid][pBol][i];
        if(
Bol == 0){format(stringsizeof(string), "\n{FFFFFF}[%d] Vacнo",i+1);}
        else{
format(stringsizeof(string), "\n[%d]{FFFFFF} %s (%d)"i+1ObjetoInfo[Bol][NombreObjeto], Info[playerid][pBolCant][i]);}
        
strcat(dialogstring);
    }
    
strcat(dialog"\n{FFFFFF}---");
    if(
Info[playerid][pManoDer] == 0)
    {
     
//   format(string, sizeof(string), "\n{FFFFFF}Mano derecha vacнa");
        
format(stringsizeof(string), " ");
        
strcat(dialogstring);
    }
    else
    {
        
format(stringsizeof(string), "\n{FFFFFF}Mano derecha: %s (%d)"ObjetoInfo[Info[playerid][pManoDer]][NombreObjeto], Info[playerid][pManoDerCant]);
        
strcat(dialogstring);
    }
    if(
Info[playerid][pManoIzq] == 0)
    {
    
//    format(string, sizeof(string), "\n{FFFFFF}Mano izquierda vacнa");
        
format(stringsizeof(string), " ");
        
strcat(dialogstring);
    }
    else
    {
        
format(stringsizeof(string), "\n{FFFFFF}Mano izquierda: %s (%d)"ObjetoInfo[Info[playerid][pManoIzq]][NombreObjeto], Info[playerid][pManoIzqCant]);
        
strcat(dialogstring);
    }
    
format(nombresizeof(nombre), "Bolsillos");
    
ShowPlayerDialog(playeridBOLSILLOSDIALOG_STYLE_LISTnombredialog"Sacar""Salir");
    return 
1;
}
Muchas gracias de antemano
Simplemente aсadele MostrarBolsillos2(playerid, playerid2), osea copia el mismo y lo haces con esa manera...
Reply
#3

Vale, pero їCуmo serнa el comando para que el comando me pida la ID del otro jugador?

Ejemplo; /revisar <ID>

Porque al hacerlo como tu me dices, serнa crear otro /bol2 sencillamente.
Reply
#4

CMD:cachear(playerid, params[])
{
static
playerid2;

if (sscanf(params, "u", playerid2))
return MensajeGris(playerid, "/cachear[ID Jugador]");

MostrarBolsillos2(playerid, playerid2);
return 1;
}
Reply
#5

Vale, gracias, dйjame revisar y te comento.
Reply
#6

Quote:
Originally Posted by Strikeskp
Посмотреть сообщение
Vale, gracias, dйjame revisar y te comento.
Es bastante sencillo puesto que es lo mismo, pero debes crear otro define para ese dialog. El cual no returne en nada.
Reply
#7

Me sale este warning

PHP код:
.pwn(50566) : warning 202number of arguments does not match definition 
Y la linea es esta.

PHP код:
CMD:cachear(playeridparams[])
{
static 
playerid2;
if (
sscanf(params"u"playerid2)) return SendClientMessage(playerid,COLOR_WHITE"/cachear[ID Jugador]");
MostrarBolsillos2(playeridplayerid2); //Esta es la linea que me lanza el Warning
return 1;

De resto, todo estб bien, copiй el MostrarBolsillos y lo puse como me dijiste anteriormente. Verifiquй y no creo que deba colocar/crear mбs nada їNo?
Reply
#8

Tienes que poner lo siguiente..

forward MostrarBolsillos2(playerid, playerid2); //Muestra inventario al jugador o staff que te cachea
public MostrarBolsillos2(playerid, playerid2)
{
ActualizarManos(playerid);
new dialog[1024], string[128];
new nombre[300];
for(new i = 0; i < 8; i++)
{
new Bol = Info[playerid][pBol][i];
if(Bol == 0){format(string, sizeof(string), "\n{FFFFFF}[%d] Vacнo",i+1);}
else{format(string, sizeof(string), "\n[%d]{FFFFFF} %s (%d)", i+1, ObjetoInfo[Bol][NombreObjeto], Info[playerid][pBolCant][i]);}
strcat(dialog, string);
}
strcat(dialog, "\n{FFFFFF}---");
if(Info[playerid][pManoDer] == 0)
{
// format(string, sizeof(string), "\n{FFFFFF}Mano derecha vacнa");
format(string, sizeof(string), " ");
strcat(dialog, string);
}
else
{
format(string, sizeof(string), "\n{FFFFFF}Mano derecha: %s (%d)", ObjetoInfo[Info[playerid][pManoDer]][NombreObjeto], Info[playerid][pManoDerCant]);
strcat(dialog, string);
}
if(Info[playerid][pManoIzq] == 0)
{
// format(string, sizeof(string), "\n{FFFFFF}Mano izquierda vacнa");
format(string, sizeof(string), " ");
strcat(dialog, string);
}
else
{
format(string, sizeof(string), "\n{FFFFFF}Mano izquierda: %s (%d)", ObjetoInfo[Info[playerid][pManoIzq]][NombreObjeto], Info[playerid][pManoIzqCant]);
strcat(dialog, string);
}
format(nombre, sizeof(nombre), "Bolsillos de %s", NombreJugador(playerid)); //Cambia la variable por la que uses para extraer el nombre de los PJs
ShowPlayerDialog(playerid, BOLSILLOS2, DIALOG_STYLE_LIST, nombre, dialog, "Aceptar");
return 1;
}
Reply
#9

Vale vale, dйjame verificar en este caso, como bien dijiste, faltу el
PHP код:
#Define 
Veamos que sucede.
Reply
#10

Quote:
Originally Posted by Strikeskp
Посмотреть сообщение
Vale vale, dйjame verificar en este caso, como bien dijiste, faltу el
PHP код:
#Define 
Veamos que sucede.
Te lo dije antes...que tenias que definir el dialog y no ponerlo o que no returne en nada.
Reply
#11

Copias everywhere.
Reply
#12

Quote:
Originally Posted by RESTOLKIM
View Post
Copias everywhere.
shh kevin gordo friki
Reply
#13

Quote:
Originally Posted by Julixparker
View Post
Te lo dije antes...que tenias que definir el dialog y no ponerlo o que no returne en nada.
Lo probй pero al colocarlo me dice "El jugador no estб conectado".
Reply
#14

Asн dejй mi comando /cachear, no se si funcione o si le falte algo.

PHP Code:
CMD:cachear(playeridparams[])
{
static 
playerid2;
if (
sscanf(params"u"playerid2)) return SendClientMessage(playerid,COLOR_WHITE"/cachear[ID Jugador]");
if(
GetPVarInt(playerid"Injured") == 1) return SendClientMessageEx(playeridCOLOR_WHITE"No puedes hacer esto ahora.");
if(!
ProxDetectorS(8.0playeridplayerid2)) return SendClientMessage(playeridCOLOR_WHITE"* La persona que seleccionaste no estб cerca tuyo.");
MostrarBolsillos2(playeridplayerid2);
return 
1;

Reply
#15

Revivo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)