SA-MP Forums Archive
Como usar en los params de zcmd un Hembed HEX. - 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: Como usar en los params de zcmd un Hembed HEX. (/showthread.php?tid=552362)



Como usar en los params de zcmd un Hembed HEX. - jotajeda - 24.12.2014

Hola, sucede que en estos dнas acabe de hacer mi sistema de puertas en mysql indexado, y me hice el comando para editar el nombre de las puertas, el asunto estб que quiero meter el cуdigo directamente con el color Hembed HEX IG, pero justamente el color Hembed HEX me lo suprime y se guarda lo que puse menos el color Hembed HEX,

Ejemplo:



/nombrepuerta 1 1 Propietario: {FF3300}Kalcor

Estructura del comando: cmd = nombrepuerta, params[0]= indexpuerta, params[1] = fila de nombres(tengo 8\n\n\n\n\n\n\n\n, dramatico xd)
, params[2] = cadena a meter en la variable de params[0].

Pero se graba solamente: Propietario: Kalcor.
En si pongo cualquier cosa con {FF3300} y me sale en blanco.

їAlguien me ayuda por favor? soy muy noob en йsto. .

PD: no quiero hacerlo manual, poniendo el color ya dentro de la game moda, ni hacer un codigo php para hacerlo de la pagina, quisiera IG. Se agradece su colaboraciуn y su tiempo invertido en йste post.
pawn Код:
CMD:nombrepuerta(playerid, params[])
{
    if(Datos_User[playerid][pAdmin] < 5) return true;
    new string[240];
    if(!sscanf(params, "dds[128]", params[0], params[1],params[2]))
    {
        if(params[1] == 0)
        {
            format(DDoorsDatos_User[params[0]][ddDescription1], 128, "%s", params[2]);
        }
        if(params[1] == 1)
        {
            format(DDoorsDatos_User[params[0]][ddDescription2], 128, "%s", params[2]);
        }
        if(params[1] == 2)
        {
            format(DDoorsDatos_User[params[0]][ddDescription3], 128, "%s", params[2]);
        }
        if(params[1] == 3)
        {
            format(DDoorsDatos_User[params[0]][ddDescription4], 128, "%s", params[2]);
        }
        if(params[1] == 4)
        {
            format(DDoorsDatos_User[params[0]][ddDescription5], 128, "%s", params[2]);
        }
        if(params[1] == 5)
        {
            format(DDoorsDatos_User[params[0]][ddDescription6], 128, "%s", params[2]);
        }
        if(params[1] == 6)
        {
            format(DDoorsDatos_User[params[0]][ddDescription7], 128, "%s", params[2]);
        }
        if(params[1] == 7)
        {
            format(DDoorsDatos_User[params[0]][ddDescription8], 128, "%s", params[2]);
        }
        SendClientMessage(playerid, -1, "Cambiaste el nombre de la puerta!");
        if(IsValidDynamicPickup(DDoorsDatos_User[params[0]][ddPickupID])) DestroyDynamicPickup(DDoorsDatos_User[params[0]][ddPickupID]);
        if(IsValidDynamic3DTextLabel(DDoorsDatos_User[params[0]][ddTextID])) DestroyDynamic3DTextLabel(DDoorsDatos_User[params[0]][ddTextID]);
        Crear_Puerta(params[0]);
        Guardar_Puertas_N(params[0]);
    } else SendClientMessageEx(playerid, COLOR_WHITE, "USA: /ddnombre [INDEXPUERTA] [INDEX 0-7] [DETALLES]");
    return 1;
}



Respuesta: Como usar en los params de zcmd un Hembed HEX. - Zume - 24.12.2014

en el sscanf tienes el parбmetro h o x ?


Respuesta: Como usar en los params de zcmd un Hembed HEX. - jotajeda - 24.12.2014

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
en el sscanf tienes el parбmetro %x ?
Arriba puse el codigo.


Re: Como usar en los params de zcmd un Hembed HEX. - LiMPiTo - 24.12.2014

їY asн?

pawn Код:
CMD:nombrepuerta(playerid, params[])
{
    if(Datos_User[playerid][pAdmin] < 5) return true;
    new string[240];
    if(!sscanf(params, "dds[128]s[128]", params[0], params[1], params[2], params[3]))
    {
        if(params[1] == 0)
        {
            format(DDoorsDatos_User[params[0]][ddDescription1], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 1)
        {
            format(DDoorsDatos_User[params[0]][ddDescription2], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 2)
        {
            format(DDoorsDatos_User[params[0]][ddDescription3], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 3)
        {
            format(DDoorsDatos_User[params[0]][ddDescription4], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 4)
        {
            format(DDoorsDatos_User[params[0]][ddDescription5], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 5)
        {
            format(DDoorsDatos_User[params[0]][ddDescription6], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 6)
        {
            format(DDoorsDatos_User[params[0]][ddDescription7], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 7)
        {
            format(DDoorsDatos_User[params[0]][ddDescription8], 128, "{%s}%s", params[2], params[3]);
        }
        SendClientMessage(playerid, -1, "Cambiaste el nombre de la puerta!");
        if(IsValidDynamicPickup(DDoorsDatos_User[params[0]][ddPickupID])) DestroyDynamicPickup(DDoorsDatos_User[params[0]][ddPickupID]);
        if(IsValidDynamic3DTextLabel(DDoorsDatos_User[params[0]][ddTextID])) DestroyDynamic3DTextLabel(DDoorsDatos_User[params[0]][ddTextID]);
        Crear_Puerta(params[0]);
        Guardar_Puertas_N(params[0]);
    } else SendClientMessageEx(playerid, COLOR_WHITE, "USA: /ddnombre [INDEXPUERTA] [INDEX 0-7] [CODIGO HEX] [DETALLES]");
    return 1;
}
Lo que sн debes agregar el color por separado, ejemplo /ddnombre 2 5 FF0000 Mi puerta de color rojo


Respuesta: Re: Como usar en los params de zcmd un Hembed HEX. - jotajeda - 24.12.2014

Quote:
Originally Posted by LiMPiTo
Посмотреть сообщение
їY asн?

pawn Код:
CMD:nombrepuerta(playerid, params[])
{
    if(Datos_User[playerid][pAdmin] < 5) return true;
    new string[240];
    if(!sscanf(params, "dds[128]s[128]", params[0], params[1], params[2], params[3]))
    {
        if(params[1] == 0)
        {
            format(DDoorsDatos_User[params[0]][ddDescription1], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 1)
        {
            format(DDoorsDatos_User[params[0]][ddDescription2], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 2)
        {
            format(DDoorsDatos_User[params[0]][ddDescription3], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 3)
        {
            format(DDoorsDatos_User[params[0]][ddDescription4], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 4)
        {
            format(DDoorsDatos_User[params[0]][ddDescription5], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 5)
        {
            format(DDoorsDatos_User[params[0]][ddDescription6], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 6)
        {
            format(DDoorsDatos_User[params[0]][ddDescription7], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 7)
        {
            format(DDoorsDatos_User[params[0]][ddDescription8], 128, "{%s}%s", params[2], params[3]);
        }
        SendClientMessage(playerid, -1, "Cambiaste el nombre de la puerta!");
        if(IsValidDynamicPickup(DDoorsDatos_User[params[0]][ddPickupID])) DestroyDynamicPickup(DDoorsDatos_User[params[0]][ddPickupID]);
        if(IsValidDynamic3DTextLabel(DDoorsDatos_User[params[0]][ddTextID])) DestroyDynamic3DTextLabel(DDoorsDatos_User[params[0]][ddTextID]);
        Crear_Puerta(params[0]);
        Guardar_Puertas_N(params[0]);
    } else SendClientMessageEx(playerid, COLOR_WHITE, "USA: /ddnombre [INDEXPUERTA] [INDEX 0-7] [CODIGO HEX] [DETALLES]");
    return 1;
}
Lo que sн debes agregar el color por separado, ejemplo /ddnombre 2 5 FF0000 Mi puerta de color rojo
El problema esque zcmd no acepta en los params Hembed HEX. los suprime.


Re: Respuesta: Re: Como usar en los params de zcmd un Hembed HEX. - Daniel-92 - 24.12.2014

Quote:
Originally Posted by jotajeda
Посмотреть сообщение
El problema esque zcmd no acepta en los params Hembed HEX. los suprime.
La forma que te puso LiMPiTo es la que debes usar pero usando tus propias variables para las string y no params que no funciona.


Respuesta: Como usar en los params de zcmd un Hembed HEX. - OTACON - 24.12.2014

pawn Код:
CMD:nombrepuerta(playerid, params[]){
    if(Datos_User[playerid][pAdmin] < 5) return true;

    new puerta, index, detalle[128];

    if(sscanf(params, "dds[128]", puerta, index, detalle)) SendClientMessageEx(playerid, COLOR_WHITE, "USA: /ddnombre [INDEXPUERTA] [INDEX 0-7] [DETALLES]");

    if(index < 0 || index > 7) SendClientMessageEx(playerid, COLOR_WHITE, "USA: inde de 0 a 7");

    format(DDoorsDatos_User[puerta][ddDescription1], 128, "%s", detalle);

    SendClientMessage(playerid, -1, "Cambiaste el nombre de la puerta!");

    if(IsValidDynamicPickup(DDoorsDatos_User[puerta][ddPickupID])) DestroyDynamicPickup(DDoorsDatos_User[puerta][ddPickupID]);

    if(IsValidDynamic3DTextLabel(DDoorsDatos_User[puerta][ddTextID])) DestroyDynamic3DTextLabel(DDoorsDatos_User[puerta][ddTextID]);

    Crear_Puerta(puerta);

    Guardar_Puertas_N(puerta);

    return true;
}



Respuesta: Como usar en los params de zcmd un Hembed HEX. - jotajeda - 24.12.2014

Quote:
Originally Posted by LiMPiTo
Посмотреть сообщение
їY asн?

Ayer no me fiй en tu codigo pero hoy lo voy a probar, gracias.


pawn Код:
CMD:nombrepuerta(playerid, params[])
{
    if(Datos_User[playerid][pAdmin] < 5) return true;
    new string[240];
    if(!sscanf(params, "dds[128]s[128]", params[0], params[1], params[2], params[3]))
    {
        if(params[1] == 0)
        {
            format(DDoorsDatos_User[params[0]][ddDescription1], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 1)
        {
            format(DDoorsDatos_User[params[0]][ddDescription2], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 2)
        {
            format(DDoorsDatos_User[params[0]][ddDescription3], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 3)
        {
            format(DDoorsDatos_User[params[0]][ddDescription4], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 4)
        {
            format(DDoorsDatos_User[params[0]][ddDescription5], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 5)
        {
            format(DDoorsDatos_User[params[0]][ddDescription6], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 6)
        {
            format(DDoorsDatos_User[params[0]][ddDescription7], 128, "{%s}%s", params[2], params[3]);
        }
        if(params[1] == 7)
        {
            format(DDoorsDatos_User[params[0]][ddDescription8], 128, "{%s}%s", params[2], params[3]);
        }
        SendClientMessage(playerid, -1, "Cambiaste el nombre de la puerta!");
        if(IsValidDynamicPickup(DDoorsDatos_User[params[0]][ddPickupID])) DestroyDynamicPickup(DDoorsDatos_User[params[0]][ddPickupID]);
        if(IsValidDynamic3DTextLabel(DDoorsDatos_User[params[0]][ddTextID])) DestroyDynamic3DTextLabel(DDoorsDatos_User[params[0]][ddTextID]);
        Crear_Puerta(params[0]);
        Guardar_Puertas_N(params[0]);
    } else SendClientMessageEx(playerid, COLOR_WHITE, "USA: /ddnombre [INDEXPUERTA] [INDEX 0-7] [CODIGO HEX] [DETALLES]");
    return 1;
}
Lo que sн debes agregar el color por separado, ejemplo /ddnombre 2 5 FF0000 Mi puerta de color rojo
Quote:
Originally Posted by OTACON
Посмотреть сообщение
pawn Код:
CMD:nombrepuerta(playerid, params[]){
    if(Datos_User[playerid][pAdmin] < 5) return true;

    new puerta, index, detalle[128];

    if(sscanf(params, "dds[128]", puerta, index, detalle)) SendClientMessageEx(playerid, COLOR_WHITE, "USA: /ddnombre [INDEXPUERTA] [INDEX 0-7] [DETALLES]");

    if(index < 0 || index > 7) SendClientMessageEx(playerid, COLOR_WHITE, "USA: inde de 0 a 7");

    format(DDoorsDatos_User[puerta][ddDescription1], 128, "%s", detalle);

    SendClientMessage(playerid, -1, "Cambiaste el nombre de la puerta!");

    if(IsValidDynamicPickup(DDoorsDatos_User[puerta][ddPickupID])) DestroyDynamicPickup(DDoorsDatos_User[puerta][ddPickupID]);

    if(IsValidDynamic3DTextLabel(DDoorsDatos_User[puerta][ddTextID])) DestroyDynamic3DTextLabel(DDoorsDatos_User[puerta][ddTextID]);

    Crear_Puerta(puerta);

    Guardar_Puertas_N(puerta);

    return true;
}
Es lo mismo que tengo yo, y mi comando funciona perfectamente, el problema es que si pongo en cualquier comando o en el chat general el Hembed HEX se suprime, ejemplo pongo escribo: hola {FF3300}. En el chat me sale solamente: hola , pero el Hembed HEX no sale nada. De hay el comando me funciona perfectamente como lo tengo.


Re: Como usar en los params de zcmd un Hembed HEX. - Daniel-92 - 24.12.2014

Lo que tienes que hacer es meter el color sin los { } que de eso se encargara el format asн como te lo pusieron mбs arriba.


Respuesta: Re: Como usar en los params de zcmd un Hembed HEX. - jotajeda - 24.12.2014

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
Lo que tienes que hacer es meter el color sin los { } que de eso se encargara el format asн como te lo pusieron mбs arriba.
Si, gracias por responder, pero eso me limita mucho porque quiero poner muchos parametros, en sн quiero encontrar la manera de meter directamente el color con { }, y me pregunto si abra alguna manera.