Система семей и их загрузка
У меня есть проблема, к примеру люди создают 3 семьи, после рестарта, они нормально выгрузились из базы данных, но если удалить к примеру 1 семью, то игрок с 2 семьей, имеет 3 семью, как это можно решить?
#define MAX_FAMILY (1000)
enum e_FAMILY_INFO
{
famID,
famName[15],
famSlogan[40],
famOnline,
famMembersCount,
famCreator[MAX_PLAYER_NAME],
famZam[MAX_PLAYER_NAME],
famZam2[MAX_PLAYER_NAME],
famChatColor,
famGalka,
famBrand,
famDiscord[40],
famRaidCall[10]
}
new FamilyInfo[MAX_FAMILY][e_FAMILY_INFO];
mysql_tquery(mysql, "SELECT * FROM family ORDER BY family.id ASC ", "@LoadFamily", "");
@LoadFamily();
@LoadFamily()
{
new rows, fields;
cache_get_data(rows, fields);
if(rows)
{
for(new i = 0; i < rows; i++)
{
FamilyInfo[i+1][famID] = cache_get_field_content_int(i, "id", mysql);
cache_get_field_content(i, "slogan", FamilyInfo[i+1][famSlogan], mysql);
cache_get_field_content(i, "name", FamilyInfo[i+1][famName], mysql);
FamilyInfo[i+1][famMembersCount] = cache_get_field_content_int(i, "memberscount", mysql);
cache_get_field_content(i, "creator", FamilyInfo[i+1][famCreator], mysql);
cache_get_field_content(i, "zam", FamilyInfo[i+1][famZam], mysql);
cache_get_field_content(i, "zam2", FamilyInfo[i+1][famZam2], mysql);
FamilyInfo[i+1][famChatColor] = cache_get_field_content_int(i, "chatcolor", mysql);
FamilyInfo[i+1][famGalka] = cache_get_field_content_int(i, "galka", mysql);
FamilyInfo[i+1][famBrand] = cache_get_field_content_int(i, "brand", mysql);
cache_get_field_content(i, "discord", FamilyInfo[i+1][famDiscord], mysql);
cache_get_field_content(i, "raidcall", FamilyInfo[i+1][famRaidCall], mysql);
TOTALFAMILY ++;
}
}
printf("[Загружено семей]: <%i>. Потрачено: <%i ms>.", TOTALFAMILY
, GetTickCount() - time
); return 1;
}
Структура базы данных семей:
Скриншот