Load problem?
#1

When i add cars into my MySQL they want come up in game.

pawn Код:
forward LoadCityCars();
public LoadCityCars()
{
    mysql_query("SELECT * FROM Vehicles ORDER BY carid");
    mysql_store_result();
    new data[11][512];
    new string[1024];
    while(mysql_fetch_row(string,"|"))
    {
        //if(mysql_num_rows() == 0) continue;
        split(string, data, '|');
        //printf(string);
        new Carid = CreateVehicle(strval(data[1]), floatstr(data[2]), floatstr(data[3]), floatstr(data[4]), floatstr(data[5]), strval(data[6]), strval(data[7]), 60000);
        DynamicCars[Carid][FactionCar] = strval(data[8]);
        DynamicCars[Carid][CarType] = strval(data[9]);
        strmid(DynamicCars[Carid][cDescription], data[10], 0, strlen(data[10]), 255);
        SetVehicleNumberPlate(Carid, "XMT 3432");
        SetVehicleToRespawn(Carid);
        if(Carid == RGCARS)
        {
            mysql_free_result();
            return 0;
        }
    }
    return 1;
Reply
#2

You are not using any function to create them like CreateVehicle , AddStaticVehicle or so
Reply
#3

Quote:
Originally Posted by Ballu Miaa
Посмотреть сообщение
You are not using any function to create them like CreateVehicle , AddStaticVehicle or so
Yes here

Код:
new Carid = CreateVehicle(strval(data[1]), floatstr(data[2]), floatstr(data[3]), floatstr(data[4]), floatstr(data[5]), strval(data[6]), strval(data[7]), 60000);
Reply
#4

Try to replace your while with this one, and to load the data, I prefer to use it this way, because if you need to add fields in the future it could give you some problems, in the case of the order were changed.
PHP код:
while(mysql_retrieve_row())
mysql_fetch_field_row(string to store specific value"name of the field in the database"); 
Reply
#5

Quote:
Originally Posted by mati233
Посмотреть сообщение
Try to replace your while with this one, and to load the data, I prefer to use it this way, because if you need to add fields in the future it could give you some problems, in the case of the order were changed.
PHP код:
while(mysql_retrieve_row())
mysql_fetch_field_row(string to store specific value"name of the field in the database"); 
But you know, i have add 60 cars but when i add carid 61 carid 61 wont come up but the others cars come up..
Reply
#6

The problem should come from this:
PHP код:
if(Carid == RGCARS)
        {
            
mysql_free_result();
            return 
0;
        } 
I believe that RGCARS should be the variable with the quantity of cars that you have, the problem should come from there. Anyways, you don't have to do that, just remove that little check, and add the mysql_free_result(); and return 0; after the end of the while loop, like this:
PHP код:
forward LoadCityCars();
public 
LoadCityCars(){
    
mysql_query("SELECT * FROM Vehicles ORDER BY carid");
    
mysql_store_result();
    new 
data[11][512];
    new 
string[1024];
    while(
mysql_retrieve_row()){
        
mysql_fetch_field_row(data[1], "model field");  
        
mysql_fetch_field_row(data[2], "X position field");  
        
mysql_fetch_field_row(data[3], "Y position field");  
        
mysql_fetch_field_row(data[4], "Z position field");  
        
mysql_fetch_field_row(data[5], "Angle field");  
        
mysql_fetch_field_row(data[6], "color 1 field");  
        
mysql_fetch_field_row(data[7], "color 2 field");  
        
mysql_fetch_field_row(data[8], "faction id field");  
        
mysql_fetch_field_row(data[9], "car type field");  
        
mysql_fetch_field_row(data[10], "description field");  
        new 
Carid CreateVehicle(strval(data[1]), floatstr(data[2]), floatstr(data[3]), floatstr(data[4]), floatstr(data[5]), strval(data[6]), strval(data[7]), 0);
        
DynamicCars[Carid][FactionCar] = strval(data[8]);
        
DynamicCars[Carid][CarType] = strval(data[9]);
        
strmid(DynamicCars[Carid][cDescription], data[10], 0strlen(data[10]), 255);
        
SetVehicleNumberPlate(Carid"XMT 3432");
        
SetVehicleToRespawn(Carid);
    }
    
mysql_free_result();
    return 
0;

I hope that works
Reply
#7

get this

Код:
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6546) : error 017: undefined symbol "mysql_retrieve_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6547) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6548) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6549) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6550) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6551) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6552) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6553) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6554) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6555) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6556) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6545) : warning 204: symbol is assigned a value that is never used: "string"
Reply
#8

Quote:
Originally Posted by N0FeaR
Посмотреть сообщение
get this

Код:
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6546) : error 017: undefined symbol "mysql_retrieve_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6547) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6548) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6549) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6550) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6551) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6552) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6553) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6554) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6555) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6556) : error 017: undefined symbol "mysql_fetch_field_row"
C:\Users\Hellman\Desktop\Rebound Roleplay server\gamemodes\RGRP.pwn(6545) : warning 204: symbol is assigned a value that is never used: "string"
That means you haven't added the MySQL Include
Reply
#9

Check here is the whole load vehicle system, my friend scriptet the mysql but he quited, so i dont know much about mysql, this is for the owner cars i think but you can check it too.

http://pastebin.com/6GyeKxFh
Reply
#10

Quote:
Originally Posted by ViruZz
Посмотреть сообщение
That means you haven't added the MySQL Include
I have MySQL Include

here
pawn Код:
/**
 *       SA:MP MySQL Functions    
 *  © Copyright 2010, <__Ethan__>
 *
 **/


#if defined __mysql_included
    #endinput
#endif
#define __mysql_included
#pragma library mysql

// defines

#define INVALID_MYSQL_ID (-1)


#define LOG_OFF           (0)
#define LOG_ALL           (1)
#define LOG_ONLY_ERRORS   (2)

// plugin callbacks

forward OnMysqlQueryArray(resultid, extravars[], MySQL:connection);
forward OnMysqlQuery(resultid, spareid, MySQL:connection);
forward OnMysqlError(error[], errorid, MySQL:connection);

// plugin natives

native MySQL:mysql_connect(const host[], const user[], const pass[], const db[], auto_reconnect = 0);
native mysql_log(logtype, windowerrors = (1), MySQL:handle = (MySQL:0));
native mysql_close(MySQL:handle = (MySQL:0));
native mysql_reload(MySQL:handle = (MySQL:0));
native mysql_select_db(const db[], MySQL:handle = (MySQL:0));
native mysql_query(const query[], resultid = (-1), spareid = (0), MySQL:handle = (MySQL:0));
native mysql_query_array(const query[], resultid = (-1), {Float,_}:extravars[], MySQL:handle = (MySQL:0));
native mysql_store_result(MySQL:handle = (MySQL:0));
native mysql_free_result(MySQL:handle = (MySQL:0));
native mysql_result_stored(MySQL:handle = (MySQL:0));
native mysql_fetch_field(const fieldname[], dest[], MySQL:handle = (MySQL:0));
native mysql_fetch_field_num(fieldnum, dest[], MySQL:handle = (MySQL:0));
native mysql_fetch_row(dest[], const splitter[] = "|", MySQL:handle = (MySQL:0));
native mysql_fetch_row_data(MySQL:handle = (MySQL:0));
native mysql_real_escape_string(const string[], dest[], MySQL:handle = (MySQL:0));
native mysql_num_rows(MySQL:handle = (MySQL:0));
native mysql_num_fields(MySQL:handle = (MySQL:0));
native mysql_affected_rows(MySQL:handle = (MySQL:0));
native mysql_insert_id(MySQL:handle = (MySQL:0));
native mysql_ping(MySQL:handle = (MySQL:0));
native mysql_error(dest[], MySQL:handle = (MySQL:0));
native mysql_errno(MySQL:handle = (MySQL:0));
native mysql_warning_count(MySQL:handle = (MySQL:0));
native mysql_info(dest[], MySQL:handle = (MySQL:0));
native mysql_stat(dest[], MySQL:handle = (MySQL:0));
native mysql_get_server_info(dest[], MySQL:handle = (MySQL:0));
native mysql_get_host_info(dest[], MySQL:handle = (MySQL:0));
native mysql_data_seek(rownum, MySQL:handle = (MySQL:0));
native mysql_set_character_set(const csname[], MySQL:handle = (MySQL:0));
native mysql_fetch_int(MySQL:handle = (MySQL:0));
native Float:mysql_fetch_float(MySQL:handle = (MySQL:0));
native mysql_fetch_string(dest[], MySQL:handle = (MySQL:0));

// split function - thanks to Blacklite
stock split(const strsrc[], strdest[][], delimiter = '|')
{
    new i, li, aNum, len, srclen = strlen(strsrc);
    while(i <= srclen)
    {
        if (strsrc[i] == delimiter || i == srclen)
        {
            len = strmid(strdest[aNum], strsrc, li, i, 128);
            strdest[aNum][len] = 0;
            li = i + 1;
            aNum++;
        }
        i++;
    }
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)