Narek
Компетентный
подключение к БД
PHP:
public OnGameModeInit()
{
/////////////// MySQL загрузка мода ///////////////
mysql_log();
DATABASE = mysql_connect(mysql_host, mysql_user, mysql_db, mysql_pass);
mysql_function_query(DATABASE,"SET NAMES cp1251",false,"","");
mysql_function_query(DATABASE,"SET SESSION character_set_server='utf8';",false,"","");
mysql_stat(string); print(string);
mysql_function_query(DATABASE,"SELECT * FROM `"TABLE_HOUSE"`",true,"OnMySQL_QUERY","iis",11,-1,"");
SetGameModeText("New Mod");
return true;
}
PHP:
forward OnMySQL_QUERY(idx, playerid, str[]);
public OnMySQL_QUERY(idx, playerid, str[])
{
new r, f, x;
cache_get_data(r, f);
switch(idx)
{
case 11:
{
if(!r) return printf("[Загрузка ...] Данные из House не получены!");
for(x = 1; x <= r; x++)
{
HouseInfo[x][hID] = cache_get_row_int(x-1,0, DATABASE);
HouseInfo[x][hEntrancex] = cache_get_row_float(x-1,1, DATABASE);
HouseInfo[x][hEntrancey] = cache_get_row_float(x-1,2, DATABASE);
HouseInfo[x][hEntrancez] = cache_get_row_float(x-1,3, DATABASE);
HouseInfo[x][hExitx] = cache_get_row_float(x-1,4, DATABASE);
HouseInfo[x][hExity] = cache_get_row_float(x-1,5, DATABASE);
HouseInfo[x][hExitz] = cache_get_row_float(x-1,6, DATABASE);
HouseInfo[x][hCarx] = cache_get_row_float(x-1,7, DATABASE);
HouseInfo[x][hCary] = cache_get_row_float(x-1,8, DATABASE);
HouseInfo[x][hCarz] = cache_get_row_float(x-1,9, DATABASE);
HouseInfo[x][hCarc] = cache_get_row_float(x-1,10, DATABASE);
cache_get_row(x-1, 11, HouseInfo[x][hOwner], DATABASE, MAX_PLAYER_NAME);
HouseInfo[x][hValue] = cache_get_row_int(x-1,12, DATABASE);
HouseInfo[x][hHel] = cache_get_row_int(x-1,13, DATABASE);
HouseInfo[x][hInt] = cache_get_row_int(x-1,14, DATABASE);
HouseInfo[x][hLock] = cache_get_row_int(x-1,15, DATABASE);
HouseInfo[x][hTakings] = cache_get_row_int(x-1,16, DATABASE);
HouseInfo[x][hDate] = cache_get_row_int(x-1,17, DATABASE);
HouseInfo[x][hKlass] = cache_get_row_int(x-1,18, DATABASE);
HouseInfo[x][hVec] = cache_get_row_int(x-1,19, DATABASE);
HouseInfo[x][hVcol1] = cache_get_row_int(x-1,20, DATABASE);
HouseInfo[x][hVcol2] = cache_get_row_int(x-1,21, DATABASE);
HouseInfo[x][hVehSost] = cache_get_row_int(x-1,22, DATABASE);
cache_get_row(x-1, 34, HouseInfo[x][hSafes], DATABASE, 64);
sscanf(HouseInfo[x][hSafes], "p<,>a<i>[11]",HouseInfo[x][hSafe]);
if(strcmp(HouseInfo[x][hOwner],"None",true) == 0)
{
HouseInfo[x][hPickup] = CreatePickup(1273, 23, HouseInfo[x][hEntrancex], HouseInfo[x][hEntrancey], HouseInfo[x][hEntrancez],-1);
HouseInfo[x][hMIcon] = CreateDynamicMapIcon(HouseInfo[x][hEntrancex], HouseInfo[x][hEntrancey], HouseInfo[x][hEntrancez], 31, COLOR_WHITE, 0, -1, -1,150);
}
else
{
HouseInfo[x][hPickup] = CreatePickup(1272, 23, HouseInfo[x][hEntrancex], HouseInfo[x][hEntrancey], HouseInfo[x][hEntrancez],-1);
HouseInfo[x][hMIcon] = CreateDynamicMapIcon(HouseInfo[x][hEntrancex], HouseInfo[x][hEntrancey], HouseInfo[x][hEntrancez], 32, COLOR_WHITE, 0, -1, -1,150);
}
HouseInfo[x][hExitText] = CreateDynamic3DTextLabel("Чтобы выйти, нажмите клавишу '~k~~VEHICLE_ENTER_EXIT~'\nКупить/продать, нажмите клавишу '~k~~SNEAK_ABOUT~'",0x0076FCFF,HouseInfo[x][hExitx],HouseInfo[x][hExity],HouseInfo[x][hExitz]+1,5.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,x+50);
TotalHouse++;
}
printf("[Загрузка ...] Данные из House получены! (%i шт.)",TotalHouse);
}
}
return true;
}
