Работа сервера(Number of vehicle models)
#1

Перевожу личный транспорт в MySQL R7, и столкнулся с такой проблемой, что личный транспорт не создается. За создание ТС, у меня отвечает stock CreateVehicles(). Он у меня находится в public OnGameModeInit(). После просмотра лога сервера я увидел, что вместо положенных Number of vehicle models: 132, у меня создается Number of vehicle models: 92. После чего я CreateVehicles, перенес в конец загрузки личного авто, моя проблема впринципе была решана, но теперь стало Number of vehicle models: 0 . Захожу на сервер, посмотрел, по ТПшался, вроде всё создано. Повлияет ли Number of vehicle models: 0 на работу сервера? Если да, то прошу вас помочь с моей проблемой.
P.S. Личный транспорт стал загружаться уже после Number of vehicle models , а раньше был до.
Reply
#2

Вы в курсе что говорится в приведенной строке?
Reply
#3

Quote:
Originally Posted by Stepashka
View Post
Вы в курсе что говорится в приведенной строке?
Данная строка указывает: сколько моделей было загружено.
Reply
#4

А теперь поясните мне как вы связали данное число с количеством машин?
Я могу загрузить 1 модель 2000 раз.
Reply
#5

Quote:
Originally Posted by Stepashka
View Post
А теперь поясните мне как вы связали данное число с количеством машин?
Я могу загрузить 1 модель 2000 раз.
Дело в том что загрузка машин(LoadCars у меня стояла в public OnGameModeInit(), сами машины хранил в ini файле. Загрузка использовалась sscanf2+mxINI ридер. Решил перевести на MySQL R7 загрузку, сохранение. Взял переменную "с", сделал цикл увеличения и далее стал считывать данные с БД. Число машин на авторынке 232 Теперь у меня всё сделано вот так.
PHP Code:
forward LoadMySQLCar();
public 
LoadMySQLCar()
{
    new 
rowsfields;
    
cache_get_data(rowsfields);
    if(
rows)
    {
        for(new 
crowsc++)
        {
            new 
mysqltext[1024];
            
cache_get_field_content(c"CarID"mysqltext), CarsInfo[c][vID] = strval(mysqltext);
            
cache_get_field_content(c"Saled"mysqltext), CarsInfo[c][vSaled] = strval(mysqltext);
            
cache_get_field_content(c"Owner"CarsInfo[c][vOwner]);
            
cache_get_field_content(c"Model"mysqltext), CarsInfo[c][vModel] = strval(mysqltext);
            
cache_get_field_content(c"Pos_X"mysqltext), CarsInfo[c][vPosX] = floatstr(mysqltext);
            
cache_get_field_content(c"Pos_Y"mysqltext), CarsInfo[c][vPosY] = floatstr(mysqltext);
            
cache_get_field_content(c"Pos_Z"mysqltext), CarsInfo[c][vPosZ] = floatstr(mysqltext);
            
cache_get_field_content(c"Pos_Angle"mysqltext), CarsInfo[c][vPosAngle] = floatstr(mysqltext);
            
cache_get_field_content(c"ColorOne"mysqltext), CarsInfo[c][vColorOne] = strval(mysqltext);
            
cache_get_field_content(c"ColorTwo"mysqltext), CarsInfo[c][vColorTwo] = strval(mysqltext);
            
cache_get_field_content(c"Lock"mysqltext), CarsInfo[c][vLock] = strval(mysqltext);
            
cache_get_field_content(c"BuyPrice"mysqltext), CarsInfo[c][vBuyPrice] = strval(mysqltext);
            
cache_get_field_content(c"Park_X"mysqltext), CarsInfo[c][vParkX] = floatstr(mysqltext);
            
cache_get_field_content(c"Park_Y"mysqltext), CarsInfo[c][vParkY] = floatstr(mysqltext);
            
cache_get_field_content(c"Park_Z"mysqltext), CarsInfo[c][vParkZ] = floatstr(mysqltext);
            
cache_get_field_content(c"Park_Angle"mysqltext), CarsInfo[c][vParkAngle] = floatstr(mysqltext);
            
cache_get_field_content(c"Number"mysqltext), CarsInfo[c][vNumber] = strval(mysqltext);
            
cache_get_field_content(c"Date"mysqltext), CarsInfo[c][vDate] = strval(mysqltext);
            
cache_get_field_content(c"Pass"mysqltext), CarsInfo[c][vPTS] = strval(mysqltext);
            
printf("ТС %d загруженí",CarsInfo[c][vID]);
        }
    }
    
CreateVehicles();
    return 
true;

public OnGameModeInit()
PHP Code:
mysql_function_query(dbHandle,"SELECT * FROM `cars`",true,"LoadMySQLCar",""); 
А также, когда система загрузки была не на MySQL R7, а просто всё хранил в ini., то загрузка происходила до Number of vehicle models, а щас после.
Reply
#6

Ну про после это объясняется тем что сейчас она работает в колбеке и во втором потоке.
А вот почему вы используете кешированые функции я не понимаю:
pawn Code:
forward LoadMySQLCar();
public LoadMySQLCar() {
    new mysqltext[1024], idx = 0;
    while(mysql_fetch_row_format(mysqltext)) {
        sscanf(mysqltext, "p<|>dds", ...);//ну тут думаю сообразите что.
        printf("ТС %d загруженí",CarsInfo[idx][vID]);
        idx++;
    }
    CreateVehicles();
    return true;
}
Reply
#7

Quote:
Originally Posted by Stepashka
View Post
Ну про после это объясняется тем что сейчас она работает в колбеке и во втором потоке.
А вот почему вы используете кешированые функции я не понимаю:
pawn Code:
forward LoadMySQLCar();
public LoadMySQLCar() {
    new mysqltext[1024], idx = 0;
    while(mysql_fetch_row_format(mysqltext)) {
        sscanf(mysqltext, "p<|>dds", ...);//ну тут думаю сообразите что.
        printf("ТС %d загруженí",CarsInfo[idx][vID]);
        idx++;
    }
    CreateVehicles();
    return true;
}
Разве в MySQL R7 sscanf не убрали, нет? А как тогда решить мою проблему, чтобы всё работало в одном потоке, тоесть чтобы загрузка машин была до Number of vehicle models.?
Reply
#8

Quote:
Originally Posted by Mr.4o-4o
View Post
Разве в MySQL R7 sscanf не убрали, нет?
Это два абсолютно разных и независимых плагина.
Quote:
Originally Posted by Mr.4o-4o
View Post
А как тогда решить мою проблему, чтобы всё работало в одном потоке, тоесть чтобы загрузка машин была до Number of vehicle models.?
при использовании R7 ни как.
Reply
#9

Quote:
Originally Posted by Stepashka
View Post
Это два абсолютно разных и независимых плагина.
при использовании R7 ни как.
Я не так выразился. Я читал что при использовании mysql r7, нельзя использовать sscanf. А вообще то что высвечивается у меня Number of vehicle models: 0. Это на работу сервера не влияет?
Reply
#10

Нет не влияет. Это означает только то что при выполнении OnGameModeInit не было создано ни одной машины.
Reply
#11

Спасибо. Не могу поставить тебе +. Вы должны добавить отзыв кому-то ещё, прежде чем сможете снова добавить его Stepashka.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)