Zeka_Peka228
Умник
Вырезал отели с мода SGL RP. Все скомпилировал без ошибок, все столбцы занес в БД. Но когда покупаю отель и перезахожу дает скин сидоджи.
Я думаю проблема в этом(с mysql_log.txt):
Вот сток загрузки отелей:
Загрузку отелей я впихнул в сток MysqlConnect:
В стоке логина игрока вот так вот:
Кстати, сообщение про то что я проживаю в отеле мне не пишет.
Вот это все.
P.S Сам мод на MySQL R38(так я прочитал в инлюде a_mysql.inc
+ конеш дам
Я думаю проблема в этом(с mysql_log.txt):
PHP:
14:22:30] [WARNING] cache_get_data - no active cache
[14:31:37] [WARNING] cache_get_data - no active cache
[14:31:37] [ERROR] "mysql_tquery" - invalid connection handle (id: 0)
[14:58:17] [WARNING] cache_get_data - no active cache
[14:58:17] [ERROR] "mysql_tquery" - invalid connection handle (id: 0)
[16:57:13] [WARNING] cache_get_data - no active cache
[16:57:13] [ERROR] "mysql_tquery" - invalid connection handle (id: 0)
[16:57:13] [WARNING] cache_get_row_count - no active cache
[17:03:47] [WARNING] cache_get_data - no active cache
[17:04:21] [WARNING] cache_get_data - no active cache
PHP:
public LoadHotel()
{
if(!cache_get_row_count(dbHandle)) return printf("Отели не загружены");
new time = GetTickCount();
for(new i; i != cache_get_row_count(dbHandle); i++)
{
HotelInfo[i+1][mID] = cache_get_field_content_int(i, "mID", dbHandle);
cache_get_field_content(i, "mOwned", HotelInfo[i+1][mOwned], dbHandle, strlen(HotelInfo[i+1][mOwned]));
HotelInfo[i+1][mOwner] = cache_get_field_content_int(i, "mOwner", dbHandle);
HotelInfo[i+1][mEnter][0] = cache_get_field_content_float(i, "mX", dbHandle);
HotelInfo[i+1][mEnter][1] = cache_get_field_content_float(i, "mY", dbHandle);
HotelInfo[i+1][mEnter][2] = cache_get_field_content_float(i, "mZ", dbHandle);
HotelInfo[i+1][mVW] = cache_get_field_content_int(i, "mVW", dbHandle);
HotelInfo[i+1][mCar] = cache_get_field_content_int(i, "mCar", dbHandle);
HotelInfo[i+1][mExit][0] = cache_get_field_content_float(i, "eX", dbHandle);
HotelInfo[i+1][mExit][1] = cache_get_field_content_float(i, "eY", dbHandle);
HotelInfo[i+1][mExit][2] = cache_get_field_content_float(i, "eZ", dbHandle);
HotelInfo[i+1][mLock] = cache_get_field_content_int(i, "mLock", dbHandle);
HotelInfo[i+1][mMoney] = cache_get_field_content_int(i, "mMoney", dbHandle);
HotelInfo[i+1][mOplata] = cache_get_field_content_int(i, "mOplata", dbHandle);
HotelInfo[i+1][mVirt] = cache_get_field_content_int(i, "mVirt", dbHandle);
HotelInfo[i+1][mCarDrived] = cache_get_field_content_float(i, "mCarDrived", dbHandle);
new stringer[500];
CreateDynamic3DTextLabel("Чтобы выйти из гаража нажмите 'ALT'", -1, 1177.3361,-1081.6122,1002.8329+0.8,9.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,i+50);
CreateDynamic3DTextLabel("Чтобы покинуть гараж\nПосигнальте 'H'", COLOR_BLUE, 1165.5143,-1071.1439,1004.1325+0.8,9.0,INVALID_PLAYER_ID, INVALID_VEHICLE_ID,0,i+50);
if(!strcmp(HotelInfo[i+1][mOwned], "None", true)) format(stringer, 130, "{FFFFFF}Комната в отеле - {FF7800}№%d{FFFFFF}\nКомната свободна\nНажмите на клавишу {FF7800}L-ALT{FFFFFF} чтобы заселится", i+1);
else format(stringer, 200, "{FFFFFF}Комната в отеле - {FF7800}№%d{FFFFFF}\nКомната занята!\nВладелец: {FF7800}%s{FFFFFF}\nИнформация: {FF7800}L-ALT", i+1, HotelInfo[i+1][mOwned]);
HotelInfo[i+1][hLabelHot] = CreateDynamic3DTextLabel(stringer, 0xC4DAADFF, HotelInfo[i+1][mEnter][0],HotelInfo[i+1][mEnter][1],HotelInfo[i+1][mEnter][2], 9.0,INVALID_PLAYER_ID,INVALID_PLAYER_ID,1,-1,-1,-1,100.0);
addhotel ++;
}
printf("[Загрузка]: LoadHotel загружено - %i потрачено %i (ms)", addhotel, GetTickCount() - time);
return 1;
}
PHP:
stock MySQLConnect ( )
{
dbHandle = mysql_connect( SQL_HOST, SQL_USER, SQL_DB, SQL_PASS ) ;//Подключение к базе данных и объявление её переменной dbHandle
if(mysql_errno() == 0)
{
printf( "MySQL connection: OK.");
}
else
{
printf( "MySQL connection: Error.");
}
mysql_query( dbHandle, "SET NAMES cp1251", false) ;//Придаём именам необходимый формат для записи в базу
mysql_function_query(dbHandle, "SELECT * FROM `hotel`", true, "LoadHotel", ""); // вот тут
return 1;
}
PHP:
PlayerInfo[playerid][pHotel] = cache_get_field_content_int(0, "pHotel");
if(PlayerInfo[playerid][pHotel] != -1)
{
if(!strcmp(HotelInfo[PlayerInfo[playerid][pHotel]][mOwned], PlayerInfo[playerid][pName], true)) SCMF(playerid, 0x269BB8FF, "Вы проживаете в комнате в отеле под номером: {FFFFFF}%d", HotelInfo[PlayerInfo[playerid][pHotel]][mID]);
else PlayerInfo[playerid][pHotel] = -1;
}
Вот это все.
P.S Сам мод на MySQL R38(так я прочитал в инлюде a_mysql.inc
+ конеш дам
