Ок, разложим по полочкам, у тебя имеется массив размером 4 ячейки (0..3) типа float, по дефолту он будет равен 0 (0.0). Получается у каждой GZ изначально координаты равны нулю, а в сохранении ганг зон, в базу данных идёт именно из этого массива, в котором изначально данные равны нулю, получается, если за всё время, до сохранения ганг зон, значения в ячейках не менялись, то базу данных запишется ноль.
Проверьте, выгружаются ли в ячейки значения из базы данных самым простым олдфаговским способом через printf, сразу-же в массиве с загрузкой данных из БД, выводите значение координат и id гз, к которой они принадлежат, если они будут равны нулю, а в базе данных, до этого, были иные значения в ячейках, сделайте mysql_debug(true); Или какая функция отвечает за дебаг запросов mysql, и проверьте, нет ли ошибки в выгрузке данных из БД.
Не немножко не понял как..PHP код:
forward LoadGZ();
public LoadGZ()
{
new fields;
cache_get_data(TOTALGZ, fields);
if(!TOTALGZ) return print("[Загрузка ганг зон] Ошибка: Таблица пуста");
if(TOTALGZ > sizeof(GZInfo)) return printf("[Загрузка ганг зон] Ошибка: Число гангзон в базе данных (%d) больше, чем размер массива GZInfo(%d)", TOTALGZ, sizeof(GZInfo));
new time = GetTickCount();
for(new i = 0; i != sizeof(GZInfo); i++)
{
GZInfo[i][gCoords][0] = cache_get_field_content_float(i-1, "First_Coordinate", connect_to_mysql);
GZInfo[i][gCoords][1] = cache_get_field_content_float(i-1, "Second_Coordinate", connect_to_mysql);
GZInfo[i][gCoords][2] = cache_get_field_content_float(i-1, "Third_Coordinate", connect_to_mysql);
GZInfo[i][gCoords][3] = cache_get_field_content_float(i-1, "Fourth_Coordinate", connect_to_mysql);
GZInfo[i][gFrak] = cache_get_field_content_int(i-1, "Group", connect_to_mysql);
switch(GZInfo[i][gFrak])
{
case 1: GZGrove++;
case 2: GZBallas++;
case 3: GZRifa++;
case 4: GZAztecas++;
case 5: GZVagos++;
}
GZInfo[i][id] = GangZoneCreate(GZInfo[i][gCoords][0],GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]);
}
return printf(" [Загрузка ганг зон]: Было загружено - %d потрачено %d (ms)", TOTALGZ, GetTickCount() - time);
}
После этого вставьтеPHP код:
GZInfo[i][gCoords][0] = cache_get_field_content_float(i-1, "First_Coordinate", connect_to_mysql);
GZInfo[i][gCoords][1] = cache_get_field_content_float(i-1, "Second_Coordinate", connect_to_mysql);
GZInfo[i][gCoords][2] = cache_get_field_content_float(i-1, "Third_Coordinate", connect_to_mysql);
GZInfo[i][gCoords][3] = cache_get_field_content_float(i-1, "Fourth_Coordinate", connect_to_mysql);
PHP код:
printf ("[Debug] ID: %d | [0]: %f | [1]: %f | [2]: %f | [3]: %f", i, GZInfo[i][gCoords][0], GZInfo[i][gCoords][1], GZInfo[i][gCoords][2], GZInfo[i][gCoords][3]);
Теперь откройте server_log.txt и скопируйте эти строчки, далее зайдите на www.pastebin.com и вставьте их в поле, после этого нажмите кнопку Submit и предоставьте ссылку сюда.
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)