[AYUDA] No se crea vehнculo [MySQL]
#1

Hola!
Resulta que estoy haciendo un sistema de vehнculos en MySQL para mi servidor y pues cree una funciуn la cual carga los vehнculos pero no funciona.
Cуdigo:

pawn Код:
#define SpawnearVehiculo(%1) CreateVehicle(VScope[%1][vmodelo], VScope[%1][vx], VScope[%1][vy], VScope[%1][vz], VScope[%1][va], VScope[%1][vcolor1], VScope[%1][vcolor2], TIEMPO_RESPAWN);

stock VScopeCargar()
{
    new query[300], string[128];
    new contar;
    for(new i=1; i < MAXIMO_VEHICULOS; i++)
    {
    format(query, sizeof(query), "SELECT * FROM vehiculos WHERE id = '%d'", i);
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(query,"|"))
    {
    mysql_fetch_field_row(string, "modelo"); VScope[i][vmodelo] = strval(string);
    mysql_fetch_field_row(string, "x"); VScope[i][vx] = strval(string);
    mysql_fetch_field_row(string, "y"); VScope[i][vy] = strval(string);
    mysql_fetch_field_row(string, "z"); VScope[i][vz] = strval(string);
    mysql_fetch_field_row(string, "a"); VScope[i][va] = strval(string);
    mysql_fetch_field_row(string, "color1"); VScope[i][vcolor1] = strval(string);
    mysql_fetch_field_row(string, "color2"); VScope[i][vcolor2] = strval(string);
    mysql_fetch_field_row(string, "propietario"); VScope[i][vpropietario] = strval(string);
    mysql_fetch_field_row(string, "precio"); VScope[i][vprecio] = strval(string);
    contar++;
    SpawnearVehiculo(i)
    }
    }
    printf("VScope: %d vehiculos cargados.", contar);
}
Carga los vehнculos bien asн que lo ъnico que no funciona es que no los crea. Se que cargan bien ya que el printf me pone cuantos vehiculos cargo en la consola.

Saludos! Espero su respuesta

EDIT: PD: El VScopeCargar(); lo abro desde OnGameModeInit()
Reply
#2

їAlguien sabe cual es mi error? Debo solucionarlo pronto
Reply
#3

Lo que nunca use fue los "%1" para que sirven?
Reply
#4

Quote:
Originally Posted by elvago
Посмотреть сообщение
Lo que nunca use fue los "%1" para que sirven?
Si pongo:
pawn Код:
SpawnearVehiculo(i)
Estaria llamando al define spawnearvehiculo y los %1 serian en este caso lo que pongo dentro del (), osea i:
pawn Код:
#define SpawnearVehiculo(%1) CreateVehicle(VScope[%1][vmodelo], VScope[%1][vx], VScope[%1][vy], VScope[%1][vz], VScope[%1][va], VScope[%1][vcolor1], VScope[%1][vcolor2], TIEMPO_RESPAWN);
Seria lo mismo que poner:
pawn Код:
CreateVehicle(VScope[i][vmodelo], VScope[i][vx], VScope[i][vy], VScope[i][vz], VScope[i][va], VScope[i][vcolor1], VScope[i][vcolor2], TIEMPO_RESPAWN
Si me equivoco corrijanme por favor

EDIT:
pawn Код:
LlamarDefine(a,b)
Si entiendo bien poniendo eso los %1 serian, %1 para a y %2 para b
Reply
#5

Ok, solo son dudas que tengo, y los %0?, tambiйn los he visto.
/EDIT:
Porquй
Код:
mysql_fetch_field_row
y no
Код:
mysql_fetch_field
?
Y si usas
pawn Код:
mysql_fetch_field("modelo", string); VScope[i][vmodelo] = strval(string);
en vez de
pawn Код:
mysql_fetch_field_row(string, "modelo"); VScope[i][vmodelo] = strval(string);
?
Reply
#6

Quote:
Originally Posted by elvago
Посмотреть сообщение
Ok, solo son dudas que tengo, y los %0?, tambiйn los he visto.
/EDIT:
Porquй
Код:
mysql_fetch_field_row
y no
Код:
mysql_fetch_field
?
Y si usas
pawn Код:
mysql_fetch_field("modelo", string); VScope[i][vmodelo] = strval(string);
en vez de
pawn Код:
mysql_fetch_field_row(string, "modelo"); VScope[i][vmodelo] = strval(string);
?
Probй asн:
pawn Код:
stock VScopeCargar()
{
    new query[300], string[128];
    new contar;
    for(new i=1; i < MAXIMO_VEHICULOS; i++)
    {
    format(query, sizeof(query), "SELECT * FROM vehiculos WHERE id = '%d'", i);
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(query,"|"))
    {
    mysql_fetch_field("modelo", string) VScope[i][vmodelo] = strval(string);
    mysql_fetch_field("x", string) VScope[i][vx] = strval(string);
    mysql_fetch_field("y", string) VScope[i][vy] = strval(string);
    mysql_fetch_field("z", string) VScope[i][vz] = strval(string);
    mysql_fetch_field("a", string) VScope[i][va] = strval(string);
    mysql_fetch_field("color1", string) VScope[i][vcolor1] = strval(string);
    mysql_fetch_field("color2", string) VScope[i][vcolor2] = strval(string);
    mysql_fetch_field("propietario", string); VScope[i][vpropietario] = strval(string);
    mysql_fetch_field("precio", string) VScope[i][vprecio] = strval(string);
    contar++;
    SpawnearVehiculo(i)
    }
    }
    printf("VScope: %d vehiculos cargados.", contar);
}
Y me saltaron estos errores de Type Mystach
Код:
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1596) : error 035: argument type mismatch (argument 1)
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1597) : error 035: argument type mismatch (argument 1)
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1598) : error 035: argument type mismatch (argument 1)
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1599) : error 035: argument type mismatch (argument 1)
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1600) : error 035: argument type mismatch (argument 1)
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1601) : error 035: argument type mismatch (argument 1)
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1602) : error 035: argument type mismatch (argument 1)
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1603) : error 035: argument type mismatch (argument 1)
C:\Users\Manu\Desktop\Cosas\SA-MP\Linea Enemiga\gamemodes\le.pwn(1604) : error 035: argument type mismatch (argument 1)
Me salto en cada linea que esta mysql_fetch_field

PD: Uso MySQL R6
Reply
#7

Te falto cerrar todos los ";"
pawn Код:
mysql_fetch_field("modelo", string);
Y asн sucesivamente
Reply
#8

Quote:
Originally Posted by elvago
Посмотреть сообщение
Te falto cerrar todos los ";"
pawn Код:
mysql_fetch_field("modelo", string);
Y asн sucesivamente
Habнa puesto una coma pero olvide de ponerla al postear, igualmente siguen saltando los mismos errores :S

Ademбs cargaba bien de la otra forma, lo ъnico que no se creaban los vehнculos :S

Por favor necesito resolver esto

Saludos y gracias por responder elvago.

PD: Si los errores hubiesen sido por los ; tendrнa que salir este error:
Код:
error 001: expected token: ";", but found "-identifier-"
Reply
#9

pero para las coordenadas del vehiculo, no se utiliza mysql_fetch_float ?

PD: no entiendo mucho de mysql pero creo ke lo estas haciendo mal al code :S
https://sampwiki.blast.hk/wiki/MySQL
Reply
#10

Probalo de esta manera.
pawn Код:
stock VScopeCargar()
{
    new query[300], string[128];
    new contar;

    for(new i=1; i < MAXIMO_VEHICULOS; i++)
    {
        format(query, sizeof(query), "SELECT * FROM vehiculos WHERE id = '%d'", i);
        mysql_query(query);
        if(mysql_store_result()) {
            //while(mysql_fetch_row_format(query,"|"))
            //{
            mysql_fetch_field_row(string,"modelo"); VScope[i][vmodelo] = strval(string);
            mysql_fetch_field_row(string,"x"); VScope[i][vx] = floatstr(string); //strval(string);
            mysql_fetch_field_row(string,"y"); VScope[i][vy] = floatstr(string); //strval(string);
            mysql_fetch_field_row(string,"z"); VScope[i][vz] = floatstr(string); //strval(string);
            mysql_fetch_field_row(string,"a"); VScope[i][va] = floatstr(string); //strval(string);
            mysql_fetch_field_row(string,"color1"); VScope[i][vcolor1] = strval(string);
            mysql_fetch_field_row(string,"color2"); VScope[i][vcolor2] = strval(string);
            mysql_fetch_field_row(VScope[i][vpropietario],"propietario"); //VScope[i][vpropietario] = strval(string);
            mysql_fetch_field_row(string,"precio"); VScope[i][vprecio] = strval(string);
            contar++;
            SpawnearVehiculo(i);
       
            mysql_free_result();
            //}
        }
    }
    printf("VScope: %d vehiculos cargados.", contar);
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)