Всем привет, ребят. У меня проблема, не понятного рода.
Вначале в двух словах, затем код. Записал в БД координаты спавна, интерьера и виртуального мира для банды Grove Street Gang. Переписал сам код спавна, ибо он был очень огромен.
Далее, думаю зайду проверю, захожу и спавнюсь по координатам 0.000 0.000 0.000. При включении сервера вывожу координаты через printf, все окей, координаты ровные, но как доходит до OnPlayerSpawn координаты по неизвестным причинам обнуляются. Проверял с помощью printf.
Собственно код спавна:
PHP код:
if(pInfo[playerid][pMember] != 0)
{
new fracid = pInfo[playerid][pMember];
SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
SetPlayerPos(playerid, fInfo[fracid][fSpawnX], fInfo[fracid][fSpawnY], fInfo[fracid][fSpawnZ]);
SetPlayerFacingAngle(playerid, fInfo[fracid][fSpawnA]);
SetPlayerInterior(playerid, fInfo[fracid][fSpawnInt]);
SetPlayerVirtualWorld(playerid, fInfo[fracid][fVirtWorld]);
printf("%f %f %f", fInfo[fracid][fSpawnX], fInfo[fracid][fSpawnY], fInfo[fracid][fSpawnZ]);
}
Код загрузки и сохранения:
PHP код:
fpublic LoadFraction()
{
Max_Frac = 0;
new
rows,
fields,
time = GetTickCount();
cache_get_data(rows, fields);
if(!rows) return printf("[ERROR LOADING FRACTION]: Не удалось загрузить.");
for(new f = 0; f < rows; f++)
{
fInfo[f][fID] = cache_get_field_content_int(f, "ID", mysql_connBD);
cache_get_field_content(f, "LEADER", fInfo[f][fLeader], mysql_connBD, 24);
cache_get_field_content(f, "NAME", fInfo[f][fName], mysql_connBD, 36);
fInfo[f][fSpawnX] = cache_get_field_content_float(f, "SPAWNX", mysql_connBD);
fInfo[f][fSpawnY] = cache_get_field_content_float(f, "SPAWNY", mysql_connBD);
fInfo[f][fSpawnZ] = cache_get_field_content_float(f, "SPAWNZ", mysql_connBD);
fInfo[f][fSpawnA] = cache_get_field_content_float(f, "SPAWNA", mysql_connBD);
fInfo[f][fSpawnInt] = cache_get_field_content_int(f, "SPAWNINT", mysql_connBD);
fInfo[f][fVirtWorld] = cache_get_field_content_int(f, "VIRTWORLD", mysql_connBD);
Max_Frac++;
}
printf("[Фракций загружено]: <%d>. [Время загрузки]: <%d>", Max_Frac, GetTickCount()-time);
return true;
}
stock SaveFraction()
{
static const
mysql_f[] = "UPDATE `fraction` SET\
`LEADER` = '%s',\
`NAME` = '%s' WHERE `ID` = '%d'";
new mysql_f_size[sizeof(mysql_f) + ((MAX_PLAYER_NAME-2) + (36-2) + (2-2))];
format(mysql_f_size, sizeof mysql_f_size, mysql_f, fInfo[Max_Frac][fLeader], fInfo[Max_Frac][fName], fInfo[Max_Frac][fID]);
mysql_function_query(mysql_connBD, mysql_f_size, false, "", "");
}
И все. В моде ни черта нет связанное с координатами спавна.
Забыл упомянуть, если изменить на циферки, то спавнит на указанное место.