Como hacer un comando normal y espacios
#1

hola, me gustaria que me apoyen con este tema porfavor

quiero hacer un comando con varias funciones ejemplo:

/baul = puedas ver el texto "Baul"
/baul guardar = puedes ver el texto "Guardar items en el baul"

el comando que tengo es este:

Код:
CMD:baul(playerid, params[])
{
    SendClientMessage(playerid, COLOR_GREY, "Baul");

    if(sscanf(params, "s[20]", params[0])) return SendClientMessage(playerid, COLOR_GRAD2, "/baul - /baul guardar");

	if(strcmp(params,"guardar",true) == 0)
		{
		    SendClientMessage(playerid, COLOR_GREY, "Guardar items en el baul");
		}
    return 1;
}


como ven en la imagen al darle a /baul aparece el otro texto de la condiciуn
y al darle a baul guardar, aparece el texto de /baul

como hago para reparar mi comando?
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=579637

Creo que ese post te puede ayudar.
Reply
#3

PHP код:
CMD:baul(playeridparams[])
{
    new
        
opcion[20];
    if(
sscanf(params"s[20]"opcion))
    {
        
SendClientMessage(playeridCOLOR_GREY"Baul");
        return 
1;
    }
    else
    {
        if(!
strcmp(params"guardar" ,true))
        {
               
SendClientMessage(playeridCOLOR_GREY"Guardar items en el baul");
        }
        else
            
SendClientMessage(playerid, -1"Opciones disponibles: Guardar");
    }
    return 
1;

Se supone que al poner /baul sin otros valores ni nada, se mostrarб "Baul" y al usar /Baul guardar se mostrarб el otro texto verdad?
Reply
#4

Exacto, gracias _Zume

Una consulta, їEs valido agregar otra condiciуn en "guardar"?

por ejemplo:

/baul guardar objeto

tendria que usar sscanf en "guardar" o al inicio del comando?
Reply
#5

Puedes hacerlo con parбmetros opcionales, o si se va a usar tres partes del comando (/baul guardar arma) en varios objetos puedes colocarlo como parбmetro fijo.

Asн: PD: No se si hayan errores.
PHP код:
CMD:baul(playeridparams[])
{
    if(
isnull(params))
        return 
SendClientMessage(playeridCOLOR_GREY"Baul");
        
    new
        
opcion[20], opc[20];
    if(!
sscanf(params"s[20]S(opc)[20]"opcion)) //S(opc1)[20] es parametro opcional, puede ser cambiado a: "(params, "s[20]s[20]", opcion, opc)"
    
{
        if(
strcmp(opcion"guardar" true) != -1)
        {
            
//SendClientMessage(playerid, COLOR_GREY, "Guardar items en el baul");
            
if(!isnull(opc))
            {
                if(
strcmp(opc"arma"true) != -1)
                {
                    
//SendClientMessage(playerid, COLOR_GREY, "Guardar arma en baul);
                
}
            }
            else return 
SendClientMessage(playerid, -1"Debes usar /baul guardar [objeto]");
        }
        else 
//SendClientMessage(playerid, -1, "Opciones disponibles: Guardar");
    
}
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)