Hammsterrr09089
Дебютант
Написал систему семейных квартир копия аризона рп и выдает такую ошибку
====================КОД
#include <ostalnoe/tuning>
CMD:buyfam(playerid)
{
if(!pFam) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}Вы не состоите в одной из семей!");
if(PI[playerid][pFamily] == 1) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {ffffff}Семья еще не настроена! Используйте /fammenu");
if(!GetString(PN(playerid), FamilyInfo[pFam][famCreator]) && !GetString(PN(playerid), FamilyInfo[pFam][famZam]) && !GetString(PN(playerid), FamilyInfo[pFam][famZam2])) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}Эта команда доступна только лидеру и заместителю!");
if(FamilyInfo[pFam][fHouse] != -1) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}У вашей семьи уже есть семейная квартира!");
if(FamEntered[playerid] == -1) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}Вы не возле семейной квартиры!");
new i = FamEntered[playerid];
//FamilyInfo[pFam][fHouse] == -1;
if(strcmp(famHouse[famHouse_Name], "The State", false)) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}Эта квартира принадлежит другой семье!");
//if(FamilyInfo[pFam][fReps] < famHouse[famHouse_COST]) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}У вашей семьи недостаточно репутации для покупки этой квартиры!");
FamilyInfo[pFam][fReps] -= famHouse[famHouse_COST];
FamilyInfo[pFam][fHouse] = famHouse[famHouse_ID]-1;
//TSave(FamilyInfo[pFam][famID], "family", "famrep", FamilyInfo[pFam][fReps], "d");
TSave(FamilyInfo[pFam][famID], "family", "house", FamilyInfo[pFam][fHouse], "d");
strmid(famHouse[famHouse_Name], FamilyInfo[pFam][famName], 0, 15);
TSave(famHouse[famHouse_ID], "familyhouse", "FamHouseName", famHouse[famHouse_Name], "s");
UpdateFamHouse(i);
static const fmt_str[] = "{%s}[Семья (Новости)] %s[%d]:{B9C1B8} приобрел семейную квартиру";
new string[sizeof(fmt_str)+MAX_PLAYER_NAME+3-2];
format(string, sizeof(string), fmt_str, FamColor, PN(playerid), playerid);
SendFamilyMessage(pFam, COLOR_FAMILY, string);
return 1;
}
//By Автор системы `Семейные квартиры` Слава Залетаев vk.com/slavabojenka
CMD:addfamhouse(playerid, params[])
{
new HouseFamCost, Float: p_X, Float: p_Y, Float: p_Z;
if(PI[playerid][pAdmin] < 8) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка]{FFFFFF} Вы не уполномочены использовать данную команду!");
if(sscanf(params, "d", HouseFamCost)) return SendClientMessage(playerid, COLOR_VALIK, !"[Используйте]{FFFFFF} /addfamhouse [Цена]");
GetPlayerPos(playerid, p_X, p_Y, p_Z);
famHouse[FamilyHouses][famHouse_Enter_X] = p_X;
famHouse[FamilyHouses][famHouse_Enter_Y] = p_Y;
famHouse[FamilyHouses][famHouse_Enter_Z] = p_Z;
famHouse[FamilyHouses][famHouse_COST] = HouseFamCost;
famHouse[FamilyHouses][famHouse_INT] = FamilyHouses+1;
static fmt_str[] =
"\
INSERT INTO `familyhouse` (`Cost`, `Enter_X`, `Enter_Y`, `Enter_Z`, `INT`)\
VALUES ('%d', '%.2f', '%.2f', '%.2f', '%d')\
";
new string[sizeof(fmt_str)+55];
mysql_format(mysql, string, sizeof(string), fmt_str,
famHouse[FamilyHouses][famHouse_COST],
famHouse[FamilyHouses][famHouse_Enter_X],
famHouse[FamilyHouses][famHouse_Enter_Y],
famHouse[FamilyHouses][famHouse_Enter_Z],
famHouse[FamilyHouses][famHouse_INT]);
SendClientMessage(playerid, COLOR_RED, !"[Подсказка] {FFFFFF}Вы успешно создали новую семейную квартиру!");
mysql_function_query(mysql, string, true, "@_FamilyHouseID", "i", playerid);
string[0] = EOS;
return 1;
}
CMD:giverep(playerid)
{
if(PI[playerid][pAdmin] < 6)return false;
FamilyInfo[pFam][fReps] += 10000;
SendClientMessage(playerid, COLOR_RED, "[Подсказка] {FFFFFF}Вы успешно выдали репутацию своей семьи!");
TSave(FamilyInfo[pFam][famID], "family", "famrep", FamilyInfo[pFam][fReps], "d");
return 1;
}
stock TSave(id, const TableName[], const FieldName[], const set[], const type[])
{
new string[136+1];
if(!strcmp(type, "d", true)) mysql_format(mysql, string, sizeof(string), "UPDATE `%s` SET `%s` = '%d' WHERE `ID` = '%d' LIMIT 1", TableName, FieldName, set, id);
else if(!strcmp(type, "s", true)) mysql_format(mysql, string, sizeof(string), "UPDATE `%s` SET `%s` = '%s' WHERE `ID` = '%d' LIMIT 1", TableName, FieldName, set, id);
mysql_function_query(mysql, string, false, "", "");
}
stock UpdateFamHouse(famhouse)
{
if(GetString(famHouse[famhouse][famHouse_Name],"The State"))
{
static const fmt_str[] =
"\
Семейная квартира\n\
Стоимость: {87EB7F}%d репутации\n\
{FFFFFF}Статус: %s\
";
new string[sizeof(fmt_str)+29-2];
format(string, sizeof(string), fmt_str, famHouse[famhouse][famHouse_COST], (famHouse[famhouse][famHouse_status] == 0) ? ("{87EB7F}[Открыта]") : ("{FF5E5E}[Закрыта]"));
UpdateDynamic3DTextLabelText(FamHouseText[famhouse], COLOR_WHITE, string);
}
else
{
static const fmt_str[] =
"\
Семейная квартира\n\
Владелец: {56A351}%s\n\
{FFFFFF}Статус: %s\
";
new string[sizeof(fmt_str)+32-2];
format(string, sizeof(string), fmt_str, famHouse[famhouse][famHouse_Name], (famHouse[famhouse][famHouse_status] == 0) ? ("{87EB7F}[Открыта]") : ("{FF5E5E}[Закрыта]"));
UpdateDynamic3DTextLabelText(FamHouseText[famhouse], COLOR_WHITE, string);
}
return 1;
}
stock LoadFamilyHouse()
{
new TimeHouseLoad = GetTickCount(), Cache:result = mysql_query(mysql, "SELECT * FROM `familyhouse`");
FamilyHouses = cache_get_row_count(mysql);
for(new i = 0; i <FamilyHouses; i++)
{
famHouse[famHouse_ID] = cache_get_row_int(i, 0, mysql);
cache_get_row(i, 1, famHouse[famHouse_Name], mysql, 15+1);
famHouse[famHouse_COST] = cache_get_row_int(i, 2, mysql);
famHouse[famHouse_Enter_X] = cache_get_row_float(i, 3, mysql);
famHouse[famHouse_Enter_Y] = cache_get_row_float(i, 4, mysql);
famHouse[famHouse_Enter_Z] = cache_get_row_float(i, 5, mysql);
famHouse[famHouse_Exit_X] = cache_get_row_float(i, 6, mysql);
famHouse[famHouse_Exit_Y] = cache_get_row_float(i, 7, mysql);
famHouse[famHouse_Exit_Z] = cache_get_row_float(i, 8, mysql);
famHouse[famHouse_INT] = cache_get_row_int(i, 9, mysql);
famHouse[famHouse_status] = cache_get_row_int(i, 10, mysql);
if(IsValidDynamic3DTextLabel(FamHouseText)) continue;
if(IsValidDynamicPickup(famHousePickUp[0])) continue;
if(IsValidDynamicPickup(famHousePickUp[1])) continue;
if(IsValidDynamicArea(famDynamicZone)) continue;
if(GetString(famHouse[famHouse_Name],"The State"))
{
static const fmt_str[] =
"\
Семейная квартира\n\
Стоимость: {87EB7F}%d репутации\n\
{FFFFFF}Статус: %s\
";
new string[sizeof(fmt_str)+29-2];
format(string, sizeof(string), fmt_str, famHouse[famHouse_COST], (famHouse[famHouse_status] == 0) ? ("{87EB7F}[Открыта]") : ("{FF5E5E}[Закрыта]"));
FamHouseText = CreateDynamic3DTextLabel(string, COLOR_WHITE, famHouse[famHouse_Enter_X], famHouse[famHouse_Enter_Y], famHouse[famHouse_Enter_Z], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0);
}
else
{
static const fmt_str[] =
"\
Семейная квартира\n\
Владелец: {56A351}%s\n\
{FFFFFF}Статус: %s\
";
new string[sizeof(fmt_str)+32-2];
format(string, sizeof(string), fmt_str, famHouse[famHouse_Name], (famHouse[famHouse_status] == 0) ? ("{87EB7F}[Открыта]") : ("{FF5E5E}[Закрыта]"));
FamHouseText = CreateDynamic3DTextLabel(string, COLOR_WHITE, famHouse[famHouse_Enter_X], famHouse[famHouse_Enter_Y], famHouse[famHouse_Enter_Z], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0);
}
famHousePickUp[0] = CreateDynamicPickup(19132, 23, famHouse[famHouse_Enter_X], famHouse[famHouse_Enter_Y], famHouse[famHouse_Enter_Z], -1);
famHousePickUp[1] = CreateDynamicPickup(19132, 23, famHouse[famHouse_Exit_X], famHouse[famHouse_Exit_Y], famHouse[famHouse_Exit_Z], (famHouse[famHouse_ID]+50), famHouse[famHouse_INT]);
famDynamicZone = CreateDynamicSphere(famHouse[famHouse_Enter_X], famHouse[famHouse_Enter_Y], famHouse[famHouse_Enter_Z], 1.0, -1, -1, -1);
}
cache_delete(result, mysql);
printf("[Server Log][Семейных квартир загружено: %i][Потраченое время на загрузку семейных квартир: %i]", FamilyHouses, GetTickCount()-TimeHouseLoad);
return 1;
}
====================КОД
#include <ostalnoe/tuning>
CMD:buyfam(playerid)
{
if(!pFam) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}Вы не состоите в одной из семей!");
if(PI[playerid][pFamily] == 1) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {ffffff}Семья еще не настроена! Используйте /fammenu");
if(!GetString(PN(playerid), FamilyInfo[pFam][famCreator]) && !GetString(PN(playerid), FamilyInfo[pFam][famZam]) && !GetString(PN(playerid), FamilyInfo[pFam][famZam2])) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}Эта команда доступна только лидеру и заместителю!");
if(FamilyInfo[pFam][fHouse] != -1) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}У вашей семьи уже есть семейная квартира!");
if(FamEntered[playerid] == -1) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}Вы не возле семейной квартиры!");
new i = FamEntered[playerid];
//FamilyInfo[pFam][fHouse] == -1;
if(strcmp(famHouse[famHouse_Name], "The State", false)) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}Эта квартира принадлежит другой семье!");
//if(FamilyInfo[pFam][fReps] < famHouse[famHouse_COST]) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка] {FFFFFF}У вашей семьи недостаточно репутации для покупки этой квартиры!");
FamilyInfo[pFam][fReps] -= famHouse[famHouse_COST];
FamilyInfo[pFam][fHouse] = famHouse[famHouse_ID]-1;
//TSave(FamilyInfo[pFam][famID], "family", "famrep", FamilyInfo[pFam][fReps], "d");
TSave(FamilyInfo[pFam][famID], "family", "house", FamilyInfo[pFam][fHouse], "d");
strmid(famHouse[famHouse_Name], FamilyInfo[pFam][famName], 0, 15);
TSave(famHouse[famHouse_ID], "familyhouse", "FamHouseName", famHouse[famHouse_Name], "s");
UpdateFamHouse(i);
static const fmt_str[] = "{%s}[Семья (Новости)] %s[%d]:{B9C1B8} приобрел семейную квартиру";
new string[sizeof(fmt_str)+MAX_PLAYER_NAME+3-2];
format(string, sizeof(string), fmt_str, FamColor, PN(playerid), playerid);
SendFamilyMessage(pFam, COLOR_FAMILY, string);
return 1;
}
//By Автор системы `Семейные квартиры` Слава Залетаев vk.com/slavabojenka
CMD:addfamhouse(playerid, params[])
{
new HouseFamCost, Float: p_X, Float: p_Y, Float: p_Z;
if(PI[playerid][pAdmin] < 8) return SendClientMessage(playerid, COLOR_RED, !"[Ошибка]{FFFFFF} Вы не уполномочены использовать данную команду!");
if(sscanf(params, "d", HouseFamCost)) return SendClientMessage(playerid, COLOR_VALIK, !"[Используйте]{FFFFFF} /addfamhouse [Цена]");
GetPlayerPos(playerid, p_X, p_Y, p_Z);
famHouse[FamilyHouses][famHouse_Enter_X] = p_X;
famHouse[FamilyHouses][famHouse_Enter_Y] = p_Y;
famHouse[FamilyHouses][famHouse_Enter_Z] = p_Z;
famHouse[FamilyHouses][famHouse_COST] = HouseFamCost;
famHouse[FamilyHouses][famHouse_INT] = FamilyHouses+1;
static fmt_str[] =
"\
INSERT INTO `familyhouse` (`Cost`, `Enter_X`, `Enter_Y`, `Enter_Z`, `INT`)\
VALUES ('%d', '%.2f', '%.2f', '%.2f', '%d')\
";
new string[sizeof(fmt_str)+55];
mysql_format(mysql, string, sizeof(string), fmt_str,
famHouse[FamilyHouses][famHouse_COST],
famHouse[FamilyHouses][famHouse_Enter_X],
famHouse[FamilyHouses][famHouse_Enter_Y],
famHouse[FamilyHouses][famHouse_Enter_Z],
famHouse[FamilyHouses][famHouse_INT]);
SendClientMessage(playerid, COLOR_RED, !"[Подсказка] {FFFFFF}Вы успешно создали новую семейную квартиру!");
mysql_function_query(mysql, string, true, "@_FamilyHouseID", "i", playerid);
string[0] = EOS;
return 1;
}
CMD:giverep(playerid)
{
if(PI[playerid][pAdmin] < 6)return false;
FamilyInfo[pFam][fReps] += 10000;
SendClientMessage(playerid, COLOR_RED, "[Подсказка] {FFFFFF}Вы успешно выдали репутацию своей семьи!");
TSave(FamilyInfo[pFam][famID], "family", "famrep", FamilyInfo[pFam][fReps], "d");
return 1;
}
stock TSave(id, const TableName[], const FieldName[], const set[], const type[])
{
new string[136+1];
if(!strcmp(type, "d", true)) mysql_format(mysql, string, sizeof(string), "UPDATE `%s` SET `%s` = '%d' WHERE `ID` = '%d' LIMIT 1", TableName, FieldName, set, id);
else if(!strcmp(type, "s", true)) mysql_format(mysql, string, sizeof(string), "UPDATE `%s` SET `%s` = '%s' WHERE `ID` = '%d' LIMIT 1", TableName, FieldName, set, id);
mysql_function_query(mysql, string, false, "", "");
}
stock UpdateFamHouse(famhouse)
{
if(GetString(famHouse[famhouse][famHouse_Name],"The State"))
{
static const fmt_str[] =
"\
Семейная квартира\n\
Стоимость: {87EB7F}%d репутации\n\
{FFFFFF}Статус: %s\
";
new string[sizeof(fmt_str)+29-2];
format(string, sizeof(string), fmt_str, famHouse[famhouse][famHouse_COST], (famHouse[famhouse][famHouse_status] == 0) ? ("{87EB7F}[Открыта]") : ("{FF5E5E}[Закрыта]"));
UpdateDynamic3DTextLabelText(FamHouseText[famhouse], COLOR_WHITE, string);
}
else
{
static const fmt_str[] =
"\
Семейная квартира\n\
Владелец: {56A351}%s\n\
{FFFFFF}Статус: %s\
";
new string[sizeof(fmt_str)+32-2];
format(string, sizeof(string), fmt_str, famHouse[famhouse][famHouse_Name], (famHouse[famhouse][famHouse_status] == 0) ? ("{87EB7F}[Открыта]") : ("{FF5E5E}[Закрыта]"));
UpdateDynamic3DTextLabelText(FamHouseText[famhouse], COLOR_WHITE, string);
}
return 1;
}
stock LoadFamilyHouse()
{
new TimeHouseLoad = GetTickCount(), Cache:result = mysql_query(mysql, "SELECT * FROM `familyhouse`");
FamilyHouses = cache_get_row_count(mysql);
for(new i = 0; i <FamilyHouses; i++)
{
famHouse[famHouse_ID] = cache_get_row_int(i, 0, mysql);
cache_get_row(i, 1, famHouse[famHouse_Name], mysql, 15+1);
famHouse[famHouse_COST] = cache_get_row_int(i, 2, mysql);
famHouse[famHouse_Enter_X] = cache_get_row_float(i, 3, mysql);
famHouse[famHouse_Enter_Y] = cache_get_row_float(i, 4, mysql);
famHouse[famHouse_Enter_Z] = cache_get_row_float(i, 5, mysql);
famHouse[famHouse_Exit_X] = cache_get_row_float(i, 6, mysql);
famHouse[famHouse_Exit_Y] = cache_get_row_float(i, 7, mysql);
famHouse[famHouse_Exit_Z] = cache_get_row_float(i, 8, mysql);
famHouse[famHouse_INT] = cache_get_row_int(i, 9, mysql);
famHouse[famHouse_status] = cache_get_row_int(i, 10, mysql);
if(IsValidDynamic3DTextLabel(FamHouseText)) continue;
if(IsValidDynamicPickup(famHousePickUp[0])) continue;
if(IsValidDynamicPickup(famHousePickUp[1])) continue;
if(IsValidDynamicArea(famDynamicZone)) continue;
if(GetString(famHouse[famHouse_Name],"The State"))
{
static const fmt_str[] =
"\
Семейная квартира\n\
Стоимость: {87EB7F}%d репутации\n\
{FFFFFF}Статус: %s\
";
new string[sizeof(fmt_str)+29-2];
format(string, sizeof(string), fmt_str, famHouse[famHouse_COST], (famHouse[famHouse_status] == 0) ? ("{87EB7F}[Открыта]") : ("{FF5E5E}[Закрыта]"));
FamHouseText = CreateDynamic3DTextLabel(string, COLOR_WHITE, famHouse[famHouse_Enter_X], famHouse[famHouse_Enter_Y], famHouse[famHouse_Enter_Z], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0);
}
else
{
static const fmt_str[] =
"\
Семейная квартира\n\
Владелец: {56A351}%s\n\
{FFFFFF}Статус: %s\
";
new string[sizeof(fmt_str)+32-2];
format(string, sizeof(string), fmt_str, famHouse[famHouse_Name], (famHouse[famHouse_status] == 0) ? ("{87EB7F}[Открыта]") : ("{FF5E5E}[Закрыта]"));
FamHouseText = CreateDynamic3DTextLabel(string, COLOR_WHITE, famHouse[famHouse_Enter_X], famHouse[famHouse_Enter_Y], famHouse[famHouse_Enter_Z], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0);
}
famHousePickUp[0] = CreateDynamicPickup(19132, 23, famHouse[famHouse_Enter_X], famHouse[famHouse_Enter_Y], famHouse[famHouse_Enter_Z], -1);
famHousePickUp[1] = CreateDynamicPickup(19132, 23, famHouse[famHouse_Exit_X], famHouse[famHouse_Exit_Y], famHouse[famHouse_Exit_Z], (famHouse[famHouse_ID]+50), famHouse[famHouse_INT]);
famDynamicZone = CreateDynamicSphere(famHouse[famHouse_Enter_X], famHouse[famHouse_Enter_Y], famHouse[famHouse_Enter_Z], 1.0, -1, -1, -1);
}
cache_delete(result, mysql);
printf("[Server Log][Семейных квартир загружено: %i][Потраченое время на загрузку семейных квартир: %i]", FamilyHouses, GetTickCount()-TimeHouseLoad);
return 1;
}
