SA-MP Forums Archive
Comando /cachear adaptado a sistema de bolsillos - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Comando /cachear adaptado a sistema de bolsillos (/showthread.php?tid=640359)



Comando /cachear adaptado a sistema de bolsillos - Strikeskp - 01.09.2017

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



Respuesta: Comando /cachear adaptado a sistema de bolsillos - Julixparker - 01.09.2017

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...


Re: Comando /cachear adaptado a sistema de bolsillos - Strikeskp - 01.09.2017

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.


Respuesta: Comando /cachear adaptado a sistema de bolsillos - Julixparker - 01.09.2017

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

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

MostrarBolsillos2(playerid, playerid2);
return 1;
}


Re: Comando /cachear adaptado a sistema de bolsillos - Strikeskp - 01.09.2017

Vale, gracias, dйjame revisar y te comento.


Respuesta: Re: Comando /cachear adaptado a sistema de bolsillos - Julixparker - 01.09.2017

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.


Re: Comando /cachear adaptado a sistema de bolsillos - Strikeskp - 01.09.2017

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?


Respuesta: Comando /cachear adaptado a sistema de bolsillos - Julixparker - 01.09.2017

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;
}


Re: Comando /cachear adaptado a sistema de bolsillos - Strikeskp - 01.09.2017

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


Respuesta: Re: Comando /cachear adaptado a sistema de bolsillos - Julixparker - 01.09.2017

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.


Re: Comando /cachear adaptado a sistema de bolsillos - RESTOLKIM - 01.09.2017

Copias everywhere.


Re: Comando /cachear adaptado a sistema de bolsillos - siickr - 01.09.2017

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


Re: Respuesta: Re: Comando /cachear adaptado a sistema de bolsillos - Strikeskp - 02.09.2017

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".


Re: Comando /cachear adaptado a sistema de bolsillos - Strikeskp - 02.09.2017

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;




Re: Comando /cachear adaptado a sistema de bolsillos - Strikeskp - 03.09.2017

Revivo.