18.03.2017, 20:30
Начал создавать систему личного Т.С.
Столкнулся с такой проблемой что транспорт тупо не выгружается из Базы Данных.
Столкнулся с такой проблемой что транспорт тупо не выгружается из Базы Данных.
PHP Code:
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];
PHP Code:
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);
PHP Code:
//тут уже проверка на то есть ли у игрока Т.С. или нет.
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]);
}
}
Я еще пробовал сделать так:
PHP Code:
//не работает
new x = P[playerid][p_vehicle];
V[x][v_model]...
//не работает
V[playerid][v_model]
Как я делал через цикл:
PHP Code:
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]);
}
}
У меня больше нету идей...
Смотрел код у модах из паблика, но там какая-то дичь...
Вопрос: Как сделать так, что-бы при входе, спавнилась машина игрока.
P.S: Владелец вычисляется из p_vehicle.
PHP Code:
SendClientMessage(playerid,-1,"%d",P[playerid][p_vehicle]);
// выдаст то значение что есть в БД, в моём случае это число 1
// Elegy что должна появлятся по координатам 0 0 3, в БД тоже находится под число 1, т.е. VID = 1