SA-MP Forums Archive
[DUDA] Nose que pasa aca.. - 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: [DUDA] Nose que pasa aca.. (/showthread.php?tid=314651)



[DUDA] Nose que pasa aca.. - Cacoby - 30.01.2012

Bueno miren esque yo estoy haciendo un panel de control de usuario en mi server, i le tengo una opcion para poner el nombre del jugador, lo que sucede esque al escribir en el dialog el nombre se me cambia a (por ejemplo si mi nombre es carlos) me sale "c[" y nada mas, este es el codigo que tengo para el dialog

pawn Код:
if(dialogid == DIALOG_IDS+15) // Nombre de Usuario
    {
        if(response == 1)
        {
            if(strlen(inputtext) > 0)
            {
                AccountInfo[playerid][Nombre] = inputtext[0];
            }
            else
            {
                SendClientMessage(playerid, COLOR_ROJO, "[ ! ] Debes escribir algo");
            }
        }
        else
        {
            OnPlayerOpenDialog(playerid, 2, 1); // Configuracion General
        }
        return 1;
    }
Como puedo lograr que me cambie bien el nombre y que se me guarde en la base de datos? :P


Respuesta: [DUDA] Nose que pasa aca.. - TiNcH010 - 30.01.2012

Podes usar strval, o bien, strmid:
pawn Код:
if(dialogid == DIALOG_IDS+15) // Nombre de Usuario
    {
        if(response == 1)
        {
            if(strlen(inputtext) > 0)
            {
                strmid(AccountInfo[playerid][Nombre], inputtext, 0, strlen(inputtext), 255); // strmid: aca quedarнa el nombre que inserte en el dialog seteando la variable Nombre.
            }
            else
            {
                SendClientMessage(playerid, COLOR_ROJO, "[ ! ] Debes escribir algo");
            }
        }
        else
        {
            OnPlayerOpenDialog(playerid, 2, 1); // Configuracion General
        }
        return 1;
    }
EDIT: Agrego otra forma, vos proba la de arriba primero igual.

pawn Код:
if(dialogid == DIALOG_IDS+15) // Nombre de Usuario
    {
        if(response == 1)
        {
            if(strlen(inputtext) > 0)
            {
                new nombre = strval(inputtext);
                AccountInfo[playerid][Nombre] = nombre; // para asigar nъmeros conviene.
            }
            else
            {
                SendClientMessage(playerid, COLOR_ROJO, "[ ! ] Debes escribir algo");
            }
        }
        else
        {
            OnPlayerOpenDialog(playerid, 2, 1); // Configuracion General
        }
        return 1;
    }



Respuesta: [DUDA] Nose que pasa aca.. - iDarkRain - 30.01.2012

TiNCh010, de la segunda forma le va a dar error, no puedes asignar el valor de una variable integer a un array


Re: [DUDA] Nose que pasa aca.. - Cacoby - 30.01.2012

Muy bueno, gracias, el primero me funciono a la perfeccion c: gracias por tu ayuda n.n

Edit: D: encontre un bug, al poner mi nombre mis stats cambian aqui un ejemplo de lo que sucedio

pawn Код:
Nombre=caca
Frase=97
Correo=ca
Muertes=97
Asesinatos=0
Premium=0
AdminLvl=0
Color=
Grupo=0
Dinero=0
Spawn=0
Idioma=0
aca otro ejemplo -.-

pawn Код:
Pass=contrasenia
Nombre=Nombre de Prueba
Frase=111
Correo=mbre de Prueba
Muertes=98
Asesinatos=114
Premium=101
AdminLvl=32
Color=de Prueba
Grupo=101
Dinero=32
Spawn=80
Idioma=114