Cual es el problema...
#1

Hola estoy con un registro de usuarios pero tengo problemas al guardar el genero del usuario.

El problema lo tengo cuando intento acceder a JugadorInfo[playerid][Genero] desde otra funcion que tengo creada. Es como si tuviera disponible JugadorInfo[playerid][Genero] solo en el la funcion que tengo debajo.

pawn Код:
enum jInfo
{
    // Otras variables
    Genero,
    // Otras variables
}

new JugadorInfo[MAX_PLAYERS][jInfo];

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch (dialogid)
    {   /* Arriba tengo mas dialogos. */
        case DIALOGO_REG_GENERO:
        {
            new string[128];
            if (!response) return Kick(playerid);
            if (listitem == 0)
            {
                JugadorInfo[playerid][Genero] = 1;
                format(string, sizeof(string), " Genial, eres hombre (%i).", JugadorInfo[playerid][Genero]); // Aqui me imprime 2, el valor que tiene JugadorInfo[playerid][Genero] y esta correcto.
                SendClientMessage(playerid, COLOR_GRIS, string);
                ShowPlayerDialog(playerid, DIALOGO_REG_EDAD, DIALOG_STYLE_INPUT, "{00C6FF}› Ingrese su edad", "Por favor ingrese la edad que desea para su personaje,\n debe ser mayor de 12 & menor de 65.", "Continuar", "");
            }
            else if (listitem == 1)
            {
                JugadorInfo[playerid][Genero] = 2;
                format(string, sizeof(string), " Genial, eres mujer (%i).", JugadorInfo[playerid][Genero]); // Aqui me imprime 2, el valor que tiene JugadorInfo[playerid][Genero] y esta correcto.
                SendClientMessage(playerid, COLOR_GRIS, string);
                ShowPlayerDialog(playerid, DIALOGO_REG_EDAD, DIALOG_STYLE_INPUT, "{00C6FF}› Ingrese su edad", "Por favor ingrese la edad que desea para su personaje,\n debe ser mayor de 12 & menor de 65.", "Continuar", "");
            }
        }
        /* Abajo tengo mas dialogos. */
    }
    return 1;
}
Reply
#2

no entiendo, quй funciуn que tienes debajo?

edit: hablas de algo asн?

pawn Код:
stock GeneroJugador(playerid)
{
    return JugadorInfo[playerid][jInfo];
}
Reply
#3

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
no entiendo, quй funciуn que tienes debajo?

edit: hablas de algo asн?

pawn Код:
stock GeneroJugador(playerid)
{
    return JugadorInfo[playerid][jInfo];
}
Claro, es como JugadorInfo[playerid][Genero] solo lo tengo disponible en DIALOGO_REG_GENERO y no en otra funcion. Cuando selecciono el genero me manda el mensaje segun el sexo que escoja y eso esta bien, pero a la hora de utilizar JugadorInfo[playerid][Genero] en otra funcion no me toma el resultado 1 (hombre) o 2 (mujer) que yo guarde.

EJ:
pawn Код:
public DiGenero(playerid)
{
    new string[64];
    format(string, sizeof(string), "Tu genero es (%i).", JugadorInfo[playerid][Genero]);
    return SendClientMessage(playerid, COLOR_BLANCO, string);
               
}

// No me arroja 1 o 2 si no que un numero cualquiera, 55, 56, 49....
Reply
#4

Alguien que me pueda ayudar con esto?
Reply
#5

quй tal si pones %d en vez de %i. de lo contrario intenta otro mйtodo

pawn Код:
stock SexoPJ(playerid)
{
    new sexous[8];
    switch(JugadorInfo[playerid][Genero])
    {
        case 1:  format(sexous, sizeof(sexous), "Hombre");
        case 2:  format(sexous, sizeof(sexous), "Mujer");
        default: format(sexous, sizeof(sexous), "Desconocido");
    }
    return sexous;
}
pawn Код:
new string[64];
    format(string, sizeof(string), "Tu genero es (%s).", SexoPJ(playerid));
    return SendClientMessage(playerid, COLOR_BLANCO, string);
Reply
#6

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
quй tal si pones %d en vez de %i. de lo contrario intenta otro mйtodo

pawn Код:
stock SexoPJ(playerid)
{
    new sexous[8];
    switch(JugadorInfo[playerid][Genero])
    {
        case 1:  format(sexous, sizeof(sexous), "Hombre");
        case 2:  format(sexous, sizeof(sexous), "Mujer");
        default: format(sexous, sizeof(sexous), "Desconocido");
    }
    return sexous;
}
pawn Код:
new string[64];
    format(string, sizeof(string), "Tu genero es (%s).", SexoPJ(playerid));
    return SendClientMessage(playerid, COLOR_BLANCO, string);
No me funciona.... como que no me guarda el skin, cuando hago spawnear al jugador me aparece con el skin de CJ. Seleccione genero 1, hombre y me lo guarda como 48, es decir JugadorInfo[playerid][Genero] = 48, cuando deberia de ser 1.

pawn Код:
new genero[2];
switch(JugadorInfo[playerid][Genero])
{
    case 1:  format(genero, sizeof(genero), "1");
    case 2:  format(genero, sizeof(genero), "2");
}

if (strval(genero) == 1)
{
    JugadorInfo[playerid][Skin] = 20;
    SetPlayerSkin(playerid, JugadorInfo[playerid][Skin]);
}
else if (strval(genero) == 2)
{
    JugadorInfo[playerid][Skin] = 12;
    SetPlayerSkin(playerid, JugadorInfo[playerid][Skin]);
}
Reply
#7

pero quй es eso? usa "JugadorInfo[playerid][Genero]" como condiciуn
Reply
#8

Tampoco funciona.

pawn Код:
if (JugadorInfo[playerid][Genero] == 1)
{
    JugadorInfo[playerid][Skin] = 20;
}
else if (JugadorInfo[playerid][Genero] == 2)
{
    JugadorInfo[playerid][Skin] = 12;
}
Reply
#9

Dejo mi codigo completo... http://pastebin.com/tcyu8YzA
Reply
#10

No estarбs reseteando el Gйnero?. їHas comprobado que los datos se cargan correctamente?.

їEs de 0 el GM? si es asн, usa SQLite, es algo muy sencillo. Yo he comenzado hoy, y no he tenido problema con nada, ni con guardado, ni cargado.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)