Ayuda con comando dialogo
#1

Hola. bueno el tema va en que estaba haciendo un comando /gracias para poner los agradecimientos de algunas cosas del servidor.

Va asн:

pawn Код:
if(!strcmp(cmdtext, "/gracias", true))
    {
    new pString[1500];
    new pName[24];
    GetPlayerName(playerid, pName, 24);
        format(pString, 1500, "Server\n\n");
        format(pString, 1500, "Gracias a:\n");
        format(pString, 1500, "Usuario,Usuario2,Usuario3\n\n");
        format(pString, 1500, "Agradecimientos:\n");
        format(pString, 1500, "SA-MP FORUM\n\n");
        format(pString, 1500, "Gracias %s por jugar en este servidor.", pName );
        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "AGRADECIMIENTOS", pString, "Aceptar", "");
        return 1;
    }
el problema va en que, compila y todo, pero cuando voy al servidor y pongo /gracias solo me sale la linea
Gracias %s por jugar en este servidor.
y lo demбs no sale. Soy demasiado nuevo en esto, e intente crear la variable pName y pString para poder poner el nombre del que lee el dialogo. y funcionу, pero los agradecimientos de arriba no salen. Ayuda
Reply
#2

pawn Код:
if(!strcmp(cmdtext, "/gracias", true))
    {
    new DesingP[512];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, 24);
    strcat(DesingP, "Esto lo cambias por lo que quieras..\n\n");
    strcat(DesingP, "Esto lo cambias por lo que quieras..\n\n");
    strcat(DesingP, "Gracias %s por jugar en este servidor.", pName);
    ShowPlayerDialog(playerid, Dialog_Default, DIALOG_STYLE_MSGBOX, "{FFFF00}Agradecimientos", DesingP, "Ok", "");
    return 1;
}
Reply
#3

Quote:
Originally Posted by FlavioCesar
Посмотреть сообщение
Hola. bueno el tema va en que estaba haciendo un comando /gracias para poner los agradecimientos de algunas cosas del servidor.

Va asн:

pawn Код:
if(!strcmp(cmdtext, "/gracias", true))
    {
    new pString[1500];
    new pName[24];
    GetPlayerName(playerid, pName, 24);
        format(pString, 1500, "Server\n\n");
        format(pString, 1500, "Gracias a:\n");
        format(pString, 1500, "Usuario,Usuario2,Usuario3\n\n");
        format(pString, 1500, "Agradecimientos:\n");
        format(pString, 1500, "SA-MP FORUM\n\n");
        format(pString, 1500, "Gracias %s por jugar en este servidor.", pName );
        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "AGRADECIMIENTOS", pString, "Aceptar", "");
        return 1;
    }
el problema va en que, compila y todo, pero cuando voy al servidor y pongo /gracias solo me sale la linea
Gracias %s por jugar en este servidor.
y lo demбs no sale. Soy demasiado nuevo en esto, e intente crear la variable pName y pString para poder poner el nombre del que lee el dialogo. y funcionу, pero los agradecimientos de arriba no salen. Ayuda
Bueno, estas usando format, por lo que siempre "reiniciarб" ese array, lo correcto serнa usar format de manera correcta, o strcat:

Con strcat:

pawn Код:
strcat(dest[], const source[], maxlength = sizeof dest)
dest - El array donde le juntaremos el string.
source - El texto que le aсadiremos al array.
maxlength - El tamaсo mбximo del array al cual le aсadiremos el texto (Opcional, mejor dйjalo asн).

Ejemplo:
pawn Код:
strcat(pString, "Server\n\n");
strcat(pString, "Gracias a:\n");
strcat(pString, "Usuario,Usuario2,Usuario3\n\n");
strcat(pString, "Agradecimientos:\n");
strcat(pString, "SA-MP FORUM\n\n");
strcat(pString, "Gracias ");
strcat(pString, pName);
strcat(pString, " por jugar en este servidor.");
Con format:

En este caso, usarнamos "%s" y el nombre del array todo el tiempo, para re-usar la cadena y adjuntarle el nuevo texto.

Ejemplo:
pawn Код:
format(pString, 1500, "Server\n\n");
format(pString, 1500, "%sGracias a:\n", pString);
format(pString, 1500, "%sUsuario,Usuario2,Usuario3\n\n", pString);
format(pString, 1500, "%sAgradecimientos:\n", pString);
format(pString, 1500, "%sSA-MP FORUM\n\n", pString);
format(pString, 1500, "%sGracias %s por jugar en este servidor.", pString, pName );
Espero que se entienda...

PD: DesingP, ese cуdigo estб malo en la parte de:

pawn Код:
strcat(DesingP, "Gracias %s por jugar en este servidor.", pName);
Reply
#4

Muchas gracias a los dos, una pregunta... ї habra alguna forma de poner las variables al inicio o en alguna parte del gamemode y no tener que estar poniendolas para cada comando ?
Reply
#5

їTe refieres a new pString[1500];?, sн, debes colocarlo debajo de los includes o en los otros news que tengas en general. No te recomiendo utilizar 1500 celdas, usa como mбximo 512 para cualquier cosa que se te haga extensa. Utilizar muchas celdas da lag...
Reply
#6

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
їTe refieres a new pString[1500];?, sн, debes colocarlo debajo de los includes o en los otros news que tengas en general. No te recomiendo utilizar 1500 celdas, usa como mбximo 512 para cualquier cosa que se te haga extensa. Utilizar muchas celdas da lag...
Gracias
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)