Cars wont spawn
#1

Well the cars saving on my DB on mysql but for some reason it wont spawn if i restart server
pawn Код:
stock LoadOrg()
{
    new ocount;
    for(new i=1; i<MAX_ORGS; i++)
    {
        format(str,sizeof(str),"SELECT * FROM orgs WHERE `Orgid` = '%d' LIMIT 1",i);
        mysql_query(str);
        mysql_store_result();
        if(mysql_num_rows() != 0)
        {
            ocount ++;
            mysql_fetch_row_format(drow, "|");
            explode(drow, field, "|");
            format(OrgInfo[i][Orgname],50,"%s",field[1]);
            OrgInfo[i][Genre] = strval(field[2]);
            OrgInfo[i][Skin1] = strval(field[5]);
            OrgInfo[i][Skin2] = strval(field[6]);
            OrgInfo[i][Lskin] = strval(field[7]);
            OrgInfo[i][Wep1] = strval(field[8]);
            OrgInfo[i][Wep2] = strval(field[9]);
            OrgInfo[i][Wep3] = strval(field[10]);
            format(OrgInfo[i][Color],11,"%s",field[11]);
            OrgInfo[i][OCol1] = strval(field[12]);
            OrgInfo[i][OCol2] = strval(field[13]);
            OrgInfo[i][Bank] = strval(field[14]);
            OrgInfo[i][CPX] = strval(field[15]);
            OrgInfo[i][CPY] = strval(field[16]);
            OrgInfo[i][CPZ] = strval(field[17]);
            OrgInfo[i][PX] = strval(field[18]);
            OrgInfo[i][PY] = strval(field[19]);
            OrgInfo[i][PZ] = strval(field[20]);
            /*OrgInfo[i][CP] = CreateDynamicCP(OrgInfo[i][CPX],OrgInfo[i][CPY],OrgInfo[i][CPZ],2,-1,-1,-1,100.0);*/
            OrgInfo[i][Pickup] = CreateDynamicPickup(1242,2,OrgInfo[i][PX],OrgInfo[i][PY],OrgInfo[i][PZ],-1,-1,-1,100.0);
            mysql_free_result();
            LoadOrgVeh(i);
        }
    }
    return printf("%d org loaded",ocount);
}
pawn Код:
stock LoadOrgVeh(orgid)
{
    for(new i=1; i<9; i++)
    {
        format(str,sizeof(str),"SELECT * FROM orgvehs WHERE `ID` = %d, Vehicle = %d",orgid,i);
        mysql_query(str);
        mysql_store_result();
        if(mysql_num_rows() != 0)
        {
            mysql_fetch_row_format(drow, "|");
            explode(drow, field, "|");
            OrgInfo[orgid][Model] = strval(field[2]);
            OrgInfo[orgid][VehX] = floatstr(field[3]);
            OrgInfo[orgid][VehY] = floatstr(field[4]);
            OrgInfo[orgid][VehZ] = floatstr(field[5]);
            OrgInfo[orgid][VehA] = floatstr(field[6]);
            OrgInfo[orgid][Vehicle][i] = CreateVehicle(OrgInfo[orgid][Model],OrgInfo[orgid][VehX],OrgInfo[orgid][VehY],OrgInfo[orgid][VehZ],OrgInfo[orgid][VehA],OrgInfo[orgid][OCol1],OrgInfo[orgid][OCol2],-1);
            printf("orgid: %d vehicle loaded. total: %d",orgid,i);
            mysql_free_result();
        }
    }
}
I got a problem with LoadOrgVeh
Reply
#2

Oh man, this is such a bad way to load data from MySQL. Instead of using 1 query, you're sending MAX_ORGS queries. That's bad. Also your query for LoadOrgVehicles is wrong. To load an unknown amount of rows, one would use a while loop.

pawn Код:
stock LoadOrgVeh(orgid)
{
    format(str,sizeof(str),"SELECT * FROM orgvehs WHERE `ID` = %d",orgid);
    mysql_query(str);
    mysql_store_result();

    new i;

    while(mysql_fetch_row(drow))
    {
        explode(drow, field, "|");
        OrgInfo[orgid][Model] = strval(field[2]);
        OrgInfo[orgid][VehX] = floatstr(field[3]);
        OrgInfo[orgid][VehY] = floatstr(field[4]);
        OrgInfo[orgid][VehZ] = floatstr(field[5]);
        OrgInfo[orgid][VehA] = floatstr(field[6]);
        OrgInfo[orgid][Vehicle][i] = CreateVehicle(OrgInfo[orgid][Model],OrgInfo[orgid][VehX],OrgInfo[orgid][VehY],OrgInfo[orgid][VehZ],OrgInfo[orgid][VehA],OrgInfo[orgid][OCol1],OrgInfo[orgid][OCol2],-1);
        printf("orgid: %d vehicle loaded. total: %d",orgid,++i);
    }

    mysql_free_result();
}
Also I prefer sscanf to split lines, but that's a totally different matter.
Reply
#3

Help, it wont still load...
Reply
#4

bump
Reply
#5

bump
Reply
#6

Nobody will help if you constantly bump.
Reply
#7

im bumping every day.
Reply
#8

bump
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)