[AYUDA] datos mysql
#1

Hola, tengo un comando que es /comprarveh (no lo hize yo) y lo que hace es te da un auto, pone su nueva id y sus datos en una tabla de coches, despues pone la id del auto en la tabla de users para saber que el usuario tiene ese auto.

El problema es que en vez de poner la id del auto en la tabla de USERS pone "0". Noc porque, ya que la variable que le da el valor a las tablas es la misma.

NO SE SI EL PROBLEMA PUEDE SER DE LA TABLA :S

Aca le da la id correspondiente a la info del coche
pawn Код:
new SQLId[12];
mysql_fetch_row(SQLId);
InfoCoche[vehicleid][cSQLID] = strval(SQLId);
Aca le da a la columna 'id' de la tabla de COCHES el valor de InfoCoche[vehicleid][cSQLID] (funciona bien)
pawn Код:
format(query,sizeof(query),"INSERT INTO coches (Id,Modelo,X,Y,Z,A,Color1,Color2,Comprable,Bloqueado,Propietario,Nombre,Faccion,Trabajo,Multa,MultaRazon,MultaPor,Arma1,Arma2,Mun1,Mun2,Drogas,Espacio,Alarma,Placa,Gas,PaintJob,Expira,Legal) VALUES (%d,%d,%f,%f,%f,%f,%d,%d,%d,%d,'%s','%s',%d,%d,%d,'%s','%s',%d,%d,%d,%d,%d,%d,%d,'%s',%d,%d,%d,%d)",
                InfoCoche[vehicleid][cSQLID],InfoCoche[vehicleid][cModelo], InfoCoche[vehicleid][cX], InfoCoche[vehicleid][cY], InfoCoche[vehicleid][cZ], InfoCoche[vehicleid][cA], color1, color2, InfoCoche[vehicleid][cComprable], InfoCoche[vehicleid][cBloqueado], InfoCoche[vehicleid][cProp], InfoCoche[vehicleid][cNombre], InfoCoche[vehicleid][cFaccion],
                InfoCoche[vehicleid][cTrabajo],InfoCoche[vehicleid][cMulta], InfoCoche[vehicleid][cMultaRazon], InfoCoche[vehicleid][cMultaPor], InfoCoche[vehicleid][cArma1], InfoCoche[vehicleid][cArma2], InfoCoche[vehicleid][cMun1], InfoCoche[vehicleid][cMun2], InfoCoche[vehicleid][cDrogas],
                InfoCoche[vehicleid][cEspacio], InfoCoche[vehicleid][cAlarma], InfoCoche[vehicleid][cPlaca], InfoCoche[vehicleid][cEspacio], InfoCoche[vehicleid][cAlarma], InfoCoche[vehicleid][cPlaca], InfoCoche[vehicleid][cGas], InfoCoche[vehicleid][cPaintJob], InfoCoche[vehicleid][cExpira], InfoCoche[vehicleid][cLegal]);
                mysql_query(query);
y aca le da el valor a la columna de coche en la tabla del USER (le da la id 0 siempre)
pawn Код:
DarLlave(playerid,InfoCoche[vehicleid][cSQLID]);
el codigo de darllave es el siguiente:
pawn Код:
stock DarLlave(playerid,llave) //Trenico
{
    if (InfoJugador[playerid][jLlave1] == 2000)
    {
        InfoJugador[playerid][jLlave1] = llave;
        MySQLGuardarCuenta(playerid);
        return 1;
    }
    else if ( InfoJugador[playerid][jLlave2] == 2000)
    {
        InfoJugador[playerid][jLlave2] = llave;
        MySQLGuardarCuenta(playerid);
        return 1;
    }
    else if (InfoJugador[playerid][jLlave3] == 2000)
    {
        InfoJugador[playerid][jLlave3] = llave;
        MySQLGuardarCuenta(playerid);
        return 1;
    }
    else print("Una llave no pudo ser entregada debido a que un llavero estaba ocupado!");
    return 0;
}
en mysqlguardar cuenta:
pawn Код:
MySQLUpdatePlayerInt(query, InfoJugador[playerid][jSQLID], "coche1", InfoJugador[playerid][jLlave1]);
        MySQLUpdatePlayerInt(query, InfoJugador[playerid][jSQLID], "coche2", InfoJugador[playerid][jLlave2]);
        MySQLUpdatePlayerInt(query, InfoJugador[playerid][jSQLID], "coche3", InfoJugador[playerid][jLlave3]);
No puedo ver el problema, algun tip? o alguna idea??
Reply
#2

intenta hacer un printf a ver que dato es el que te esta dando, si te da 0 esque esta obteniendo un valor nulo o o el puntero esta vacio.

como estas obteniendo la id del auto?, una manera seria la siguiente:

pawn Код:
new vehicleid;
vehicleid= GetPlayerVehicleID(playerid);
pero supongo que tambien tendrias que verificar el estado en el que se encuentra el jugador con GetPlayerState, podria estar pasando esto porque estas fuera del vehiculo?, has intentado usar el comando dentro del vehiculo?

saludos
Reply
#3

Se me olvido aclarar, con id me refiero a la id de la base de datos osea, si la id del coche es 3, es porque fue el tercer auto en crearse en el juego, el proximo sera cuatro y asi. No me refiero a la id de tipo de coche. De todas formas voy a intentar lo del printf aunque el valor viene siempre de la misma variable, y en una tabla es correcto y en la otra no, eso es lo raro :S

Edit: Me olvide de poner como conseguia la id, ahi lo puse
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)