enum E_VEHICLE_DATA {
ORM: _v_ormid,
_v_stream_id,
_v_stream_url[128],
// mysql synced
v_uid,
v_model,
v_owner,
Float: v_pos_x,
Float: v_pos_y,
Float: v_pos_z,
Float: v_angle,
Float: v_fuel,
v_paint_job,
v_color_1,
v_color_2,
v_component[10],
Float: v_cost
}
new V[MAX_VEHICLES][E_VEHICLE_DATA];
new x = P[playerid][p_vehicle];
new ORM: ormid = V[x][_v_ormid] = orm_create("vehicles");
orm_addvar_int(ormid, V[x][v_uid], "VID");
orm_setkey(ormid, "VID");
orm_addvar_int(ormid, V[x][v_model], "Model");
orm_addvar_int(ormid, V[x][v_owner], "Owner");
orm_addvar_float(ormid, V[x][v_pos_x], "Pos_X");
orm_addvar_float(ormid, V[x][v_pos_y], "Pos_Y");
orm_addvar_float(ormid, V[x][v_pos_z], "Pos_Z");
orm_addvar_float(ormid, V[x][v_angle], "Angle");
orm_addvar_float(ormid, V[x][v_fuel], "Fuel");
orm_addvar_int(ormid, V[x][v_paint_job], "Paint_Job");
orm_addvar_int(ormid, V[x][v_color_1], "Color_1");
orm_addvar_int(ormid, V[x][v_color_2], "Color_2");
orm_addvar_float(ormid, V[x][v_cost], "Cost");
va_SendClientMessage(playerid,-1,"%d",V[playerid][v_model]); // для дебага
orm_select(ormid, "OnMySQL_SelectVehicles", "d", playerid);
//тут уже проверка на то есть ли у игрока Т.С. или нет.
forward OnMySQL_SelectVehicles(playerid);
public OnMySQL_SelectVehicles(playerid)
{
if(P[playerid][p_vehicle] >= 1){
SendClientMessage(playerid,-1,"asda");
new x = P[playerid][p_vehicle];
Vehicle_Add(V[x][v_model],V[x][v_pos_x],V[x][v_pos_y],V[x][v_pos_z],V[x][v_angle],V[x][v_color_1],V[x][v_color_2]);
va_SendClientMessage(playerid,-1,"%d | %.4f | %.4f | %.4f | %.4f | %d | %d",V[x][v_model],V[x][v_pos_x],V[x][v_pos_y],V[x][v_pos_z],V[x][v_angle],V[x][v_color_1],V[x][v_color_2]);
}
}
//не работает
new x = P[playerid][p_vehicle];
V[x][v_model]...
//не работает
V[playerid][v_model]
forward OnMySQL_SelectVehicles();
public OnMySQL_SelectVehicles()
{
for(new x=0; x < sizeof(V); x++){
V[x][_v_ormid] = orm_create("vehicles");
orm_addvar_int(V[x][_v_ormid], V[x][v_uid], "VID");
orm_setkey(V[x][_v_ormid], "VID");
orm_addvar_int(V[x][_v_ormid], V[x][v_model], "Model");
orm_addvar_int(V[x][_v_ormid], V[x][v_owner], "Owner");
orm_addvar_float(V[x][_v_ormid], V[x][v_pos_x], "Pos_X");
orm_addvar_float(V[x][_v_ormid], V[x][v_pos_y], "Pos_Y");
orm_addvar_float(V[x][_v_ormid], V[x][v_pos_z], "Pos_Z");
orm_addvar_float(V[x][_v_ormid], V[x][v_angle], "Angle");
orm_addvar_float(V[x][_v_ormid], V[x][v_fuel], "Fuel");
orm_addvar_int(V[x][_v_ormid], V[x][v_paint_job], "Paint_Job");
orm_addvar_int(V[x][_v_ormid], V[x][v_color_1], "Color_1");
orm_addvar_int(V[x][_v_ormid], V[x][v_color_2], "Color_2");
orm_addvar_float(V[x][_v_ormid], V[x][v_cost], "Cost");
orm_apply_cache(V[x][_v_ormid], x);
Vehicle_Add(V[x][v_model],V[x][v_pos_x],V[x][v_pos_y],V[x][v_pos_z],V[x][v_angle],V[x][v_color_1],V[x][v_color_2]);
printf("%d | %.4f | %.4f | %.4f | %.4f | %d | %d",V[x][v_model],V[x][v_pos_x],V[x][v_pos_y],V[x][v_pos_z],V[x][v_angle],V[x][v_color_1],V[x][v_color_2]);
}
}
SendClientMessage(playerid,-1,"%d",P[playerid][p_vehicle]);
// выдаст то значение что есть в БД, в моём случае это число 1
// Elegy что должна появлятся по координатам 0 0 3, в БД тоже находится под число 1, т.е. VID = 1
Ничего не понял. Что значит не выгружается из БД?
Если ты хочешь подгрузить личный ТС, то в базе можно прочесть ту машину, которая принадлежит игроку по столбцу ""Owner"". Я надеюсь, что в "Owner" ты хранишь БД_ИД игрока. |