Salutare am si eu o problema cu asceasta functie.
Nici cand pornesc serverul nu imi apar cate factiuni am in baza de date (in baza de date am 6 factiuni).
In gamemode nu imi apare nici-o eroare ,dar in notepad-ul errors din logs primesc aceste erori:
[08:45:45] [plugins/mysql] mysql_query: invalid connection handle '0'
[08:45:45] [plugins/mysql] cache_get_row_count: no active cache
[08:45:45] [plugins/mysql] cache_delete: invalid cache id '0'
Functia este aceasta:
function LoadFactions()
{
new Cache: db = mysql_query (g_Sql, "SELECT * FROM `factions` ORDER BY `factions`.`ID` ASC");
new
x,
szLabelString[500],
result[256],
rows;
for (new i, j = cache_get_row_count (rows); i != j; ++i)
{
factions ++;
cache_get_value_name(i, "ID", result); x = strval(result);
cache_get_value_name(i, "Name", result); format(FactionInfo[x][fName], 32, result);
cache_get_value_name(i, "InteriorPosX", result); FactionInfo[x][fInteriorPos][0] = floatstr(result);
cache_get_value_name(i, "InteriorPosY", result); FactionInfo[x][fInteriorPos][1] = floatstr(result);
cache_get_value_name(i, "InteriorPosZ", result); FactionInfo[x][fInteriorPos][2] = floatstr(result);
cache_get_value_name(i, "ExteriorPosX", result); FactionInfo[x][fExteriorPos][0] = floatstr(result);
cache_get_value_name(i, "ExteriorPosY", result); FactionInfo[x][fExteriorPos][1] = floatstr(result);
cache_get_value_name(i, "ExteriorPosZ", result); FactionInfo[x][fExteriorPos][2] = floatstr(result);
cache_get_value_name(i, "Rank1", result); format(FactionInfo[x][fRank1Name], 64, result);
cache_get_value_name(i, "Rank2", result); format(FactionInfo[x][fRank2Name], 64, result);
cache_get_value_name(i, "Rank3", result); format(FactionInfo[x][fRank3Name], 64, result);
cache_get_value_name(i, "Rank4", result); format(FactionInfo[x][fRank4Name], 64, result);
cache_get_value_name(i, "Rank5", result); format(FactionInfo[x][fRank5Name], 64, result);
cache_get_value_name(i, "Rank6", result); format(FactionInfo[x][fRank6Name], 64, result);
cache_get_value_name(i, "Level", result); FactionInfo[x][fLevel] = strval(result);
cache_get_value_name(i, "Applications", result); FactionInfo[x][fApplications] = strval(result);
cache_get_value_name(i, "Slots", result); FactionInfo[x][fSlots] = strval(result);
cache_get_value_name(i, "Interior", result); FactionInfo[x][fInteriorID] = strval(result);
cache_get_value_name(i, "Virtual", result); FactionInfo[x][fVirtualID] = strval(result);
cache_get_value_name(i, "Locked", result); FactionInfo[x][fLocked] = strval(result);
cache_get_value_name(i, "Motd", result); format(FactionInfo[x][fMotd], 128, result);
cache_get_value_name(i, "Icon", result); FactionInfo[x][fIcon] = strval(result);
if(FactionInfo[x][fIcon] != -1) {
CreateDynamicMapIcon(FactionInfo[x][fExteriorPos][0], FactionInfo[x][fExteriorPos][1], FactionInfo[x][fExteriorPos][2], FactionInfo[x][fIcon],0,-1,-1,-1,1000.0); // Banka
}
format(szLabelString, 256, "%s's faction (ID: %d).\nPress 'F' to enter in HQ!", FactionInfo[x][fName], x);
FactionInfo[x][fLabelID] = CreateDynamic3DTextLabel(szLabelString, 0x3F76B5FF, FactionInfo[x][fExteriorPos][0], FactionInfo[x][fExteriorPos][1], FactionInfo[x][fExteriorPos][2], 100, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 20.0);
FactionInfo[x][fPickupID] = CreateDynamicPickup(1239, 23, FactionInfo[x][fExteriorPos][0], FactionInfo[x][fExteriorPos][1], FactionInfo[x][fExteriorPos][2], 0, 0, -1, 250);
}
printf("[MySQL INFO]: %d factions loaded.", factions);
cache_delete(db);
return 1;
}