Comprimir dialog
#1

Hola, como hago para comprimir bien este dialogo? Porque al dejar las celdas sin comprimir me sale el famoso texto al compilar que utilizo tanto de memory etc.

pawn Код:
new dialog_string[2570 char];
    for(new i = 0; i < sizeof(InteriorDialogNames); i++)
    {
        if(!i)
        {
            format(dialog_string, 2570 char, InteriorDialogNames[i]);
        }
        else
        {
            format(dialog_string, 2570 char, "%s\n%s", dialog_string, InteriorDialogNames[i]);
        }
    }
    return ShowPlayerDialog(playerid, 46, DIALOG_STYLE_LIST, "Interiores Dialog", dialog_string, "Selecc", "Cancelar");
Al poner ese cуdigo asн, no me sale bien el dialogo, me sale menos de la mitad de interiores q tiene ese dialog

Muchas gracias...
Reply
#2

El lнmite de texto principal en un dialog es de 2048 caracteres, le recomiendo calificar los interiores en un dialog list ejemplo: interiores de casas, 24/7, Bares, hoteles, ect.

Un saludo.
Reply
#3

Hola, como hay un limite de caracteres en un dialog como tu dijistes, dividi en dos el dialog, quedando que los dos utilizaran 1300 celdas, y creo que con eso no halla problema, no?

Ahora el problema que tengo es que en vez de aparecerme las 1300 celdas (comprimidas porsupuestos) me aparecen 324 exactas, porque serб?

pawn Код:
new dialog_string[1300 char];
    for(new i = 0; i < sizeof(InteriorDialogNames); i++)
    {
        if(!i)
        {
            format(dialog_string, 1300 char, InteriorDialogNames[i]);
            printf("celdas tiene: %d",strlen(dialog_string));
        }
        else
        {
            format(dialog_string, 1300 char, "%s\n%s", dialog_string, InteriorDialogNames[i]);
            printf("celdas tiene: %d",strlen(dialog_string));
        }
    }
    return ShowPlayerDialog(playerid, 46, DIALOG_STYLE_LIST, "Interiores Dialog 1", dialog_string, "Selecc", "Cancelar");
Gracias.
Reply
#4

Quote:
Originally Posted by HugoChiabe
Посмотреть сообщение
Hola, como hay un limite de caracteres en un dialog como tu dijistes, dividi en dos el dialog, quedando que los dos utilizaran 1300 celdas, y creo que con eso no halla problema, no?

Ahora el problema que tengo es que en vez de aparecerme las 1300 celdas (comprimidas porsupuestos) me aparecen 324 exactas, porque serб?

pawn Код:
new dialog_string[1300 char];
    for(new i = 0; i < sizeof(InteriorDialogNames); i++)
    {
        if(!i)
        {
            format(dialog_string, 1300 char, InteriorDialogNames[i]);
            printf("celdas tiene: %d",strlen(dialog_string));
        }
        else
        {
            format(dialog_string, 1300 char, "%s\n%s", dialog_string, InteriorDialogNames[i]);
            printf("celdas tiene: %d",strlen(dialog_string));
        }
    }
    return ShowPlayerDialog(playerid, 46, DIALOG_STYLE_LIST, "Interiores Dialog 1", dialog_string, "Selecc", "Cancelar");
Gracias.
Pruebe asi:

pawn Код:
new dialog_string[1300 char];
    for(new i = 0; i < sizeof(InteriorDialogNames); i++)
    {
        if(!i)
        {
            format(dialog_string, sizeof(dialog_string), InteriorDialogNames[i]);
            printf("celdas tiene: %d",strlen(dialog_string));
        }
        else
        {
            format(dialog_string, sizeof(dialog_string), "%s\n%s", dialog_string, InteriorDialogNames[i]);
            printf("celdas tiene: %d",strlen(dialog_string));
        }
    }
    return ShowPlayerDialog(playerid, 46, DIALOG_STYLE_LIST, "Interiores Dialog 1", dialog_string, "Selecc", "Cancelar");
Si busca optimizaciуn de string use un array global static, asi tarda menos en acceder a la memoria.

Un saludo.
Reply
#5

Hola, usй global static ya que el cуdigo que me pasastes no funcionу.

Una ultima pregunta

їcomo serнa la forma correcta de usar char en un format? porquй siempre me salнan los textos imcompletos, en vez de HugoChiabe me salнa HugoCh y asн. Gracias
Reply
#6

Quote:
Originally Posted by HugoChiabe
Посмотреть сообщение
Hola, usй global static ya que el cуdigo que me pasastes no funcionу.

Una ultima pregunta

їcomo serнa la forma correcta de usar char en un format? porquй siempre me salнan los textos imcompletos, en vez de HugoChiabe me salнa HugoCh y asн. Gracias
Se utiliza char para comprimir los bytes de un array, si utilizar char en un format comprimirб el texto y por lo tanto saldrб incompleto.

Un saludo.
Reply
#7

Ok, muchas gracias por todo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)