Работа сервера(Number of vehicle models) -
Mr.4o-4o - 11.10.2012
Перевожу личный транспорт в 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 , а раньше был до.
Re: Работа сервера(Number of vehicle models) -
Stepashka - 11.10.2012
Вы в курсе что говорится в приведенной строке?
Re: Работа сервера(Number of vehicle models) -
Mr.4o-4o - 11.10.2012
Quote:
Originally Posted by Stepashka
Вы в курсе что говорится в приведенной строке?
|
Данная строка указывает: сколько моделей было загружено.
Re: Работа сервера(Number of vehicle models) -
Stepashka - 11.10.2012
А теперь поясните мне как вы связали данное число с количеством машин?
Я могу загрузить 1 модель 2000 раз.
Re: Работа сервера(Number of vehicle models) -
Mr.4o-4o - 11.10.2012
Quote:
Originally Posted by Stepashka
А теперь поясните мне как вы связали данное число с количеством машин?
Я могу загрузить 1 модель 2000 раз.
|
Дело в том что загрузка машин(LoadCars у меня стояла в public OnGameModeInit(), сами машины хранил в ini файле. Загрузка использовалась sscanf2+mxINI ридер. Решил перевести на MySQL R7 загрузку, сохранение. Взял переменную "с", сделал цикл увеличения и далее стал считывать данные с БД. Число машин на авторынке 232 Теперь у меня всё сделано вот так.
PHP Code:
forward LoadMySQLCar();
public LoadMySQLCar()
{
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
for(new c; c < rows; c++)
{
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, а щас после.
Re: Работа сервера(Number of vehicle models) -
Stepashka - 11.10.2012
Ну про после это объясняется тем что сейчас она работает в колбеке и во втором потоке.
А вот почему вы используете кешированые функции я не понимаю:
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;
}
Re: Работа сервера(Number of vehicle models) -
Mr.4o-4o - 11.10.2012
Quote:
Originally Posted by Stepashka
Ну про после это объясняется тем что сейчас она работает в колбеке и во втором потоке.
А вот почему вы используете кешированые функции я не понимаю:
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.?
Re: Работа сервера(Number of vehicle models) -
Stepashka - 11.10.2012
Quote:
Originally Posted by Mr.4o-4o
Разве в MySQL R7 sscanf не убрали, нет?
|
Это два абсолютно разных и независимых плагина.
Quote:
Originally Posted by Mr.4o-4o
А как тогда решить мою проблему, чтобы всё работало в одном потоке, тоесть чтобы загрузка машин была до Number of vehicle models.?
|
при использовании R7 ни как.
Re: Работа сервера(Number of vehicle models) -
Mr.4o-4o - 11.10.2012
Quote:
Originally Posted by Stepashka
Это два абсолютно разных и независимых плагина.
при использовании R7 ни как.
|
Я не так выразился. Я читал что при использовании mysql r7, нельзя использовать sscanf. А вообще то что высвечивается у меня Number of vehicle models: 0. Это на работу сервера не влияет?
Re: Работа сервера(Number of vehicle models) -
Stepashka - 11.10.2012
Нет не влияет. Это означает только то что при выполнении
OnGameModeInit не было создано ни одной машины.
Re: Работа сервера(Number of vehicle models) -
Mr.4o-4o - 11.10.2012
Спасибо. Не могу поставить тебе +. Вы должны добавить отзыв кому-то ещё, прежде чем сможете снова добавить его Stepashka.