Lester.
Умник
Всем привет, ребят тут такая проблема, что в системе покупки лидерки.. не проверяется на лидерку, должно быть вот так SendClientMessage(playerid, COLOR_WHITE, "У данной фракции уже есть лидер!");
Как исправить , чтобы при покупки.. проверяло занята Лидерка или нет
Как исправить , чтобы при покупки.. проверяло занята Лидерка или нет
Код:
#define FRACTIONS_NUM (29)
new FractionVxod[FRACTIONS_NUM][60];
new FractionNamess[FRACTIONS_NUM][MAX_PLAYER_NAME];
new FractionHasLeader[FRACTIONS_NUM];
static const GetMemberPrice[29] = {
0,//Для ***ни
100, // LSPD
100, // FBI
100, // Авиносец
100, // МЧС ЛС
100, // LCN
100, // Yakuza
100, // Мэрия
0, // Запрещенно
0, // Запрещенно
100, // SFPD
100, // Инструкторы
100, // Ballas
100, // Vagos
100, // RM
100, // Groove
100, // Sa News
100, // Aztecas
100, // Rifa
100, // Zone 51
0, //
100, // LVPD
0, //
100, // Хитманы
100, // Стритрейсеры
100, // Swat
100, // АП
100, // Casino 4 Dragons
100 // Casino Calligulas
};
CMD:buylead(playerid)
{
if(AdminInfo[playerid][aLevel] > 0) return SendClientMessage(playerid, COLOR_FLOD,!"[Ошибка]:"WH_C" Вы администратор!");
format(mysql_query_, sizeof(mysql_query_), "SELECT * FROM `account` WHERE `leader` > 0 ORDER BY `leader`", playerid);
mysql_tquery(connects, mysql_query_, "BuyLead", "d", playerid);
return true;
}
publics:BuyLead(playerid)
{
new rows;
cache_get_row_count(rows);
if(rows > FRACTIONS_NUM) rows = FRACTIONS_NUM;
for(new i; i < FRACTIONS_NUM; i++)
{
FractionVxod[i] = "";
FractionNamess[i] = "";
FractionHasLeader[i] = false;
}
for(new i =0; i < rows; i++)
{
new FrID = cache_get_value_name_int(i, "leader", PlayerInfo[playerid][pLeader]);
if(FrID < 0 || FrID >= FRACTIONS_NUM) continue;
cache_get_value_name(i, "geton_date", FractionVxod[FrID], 60);
cache_get_value_name(i, "name", FractionNamess[FrID], 24);
FractionHasLeader[FrID] = true;
}
return LoadBuyLeadDialog(playerid);
}
publics:LoadBuyLeadDialog(playerid)
{
new fstring[1200] = "{ffffff}Фракция\t{ffffff}Цена\n{ffffff}", pvarString[32], itters;
for(new i = 0; i < FRACTIONS_NUM; i++)
{
if(!strlen(FractionNamess[i]) && GetMemberPrice[i] != 0)
{
format(pvarString, sizeof pvarString, "buylead_%i", itters);
SetPVarInt(playerid, pvarString, i);
itters++;
format(fstring, sizeof(fstring), "%s%s\t{8BD032}%d рублей\n", fstring, GetPlayerFracName[i], GetMemberPrice[i]);
}
}
if(itters == 0) return SendClientMessage(playerid, -1, "В данный момент нет свободных лидерок.");
return ShowPlayerDialog(playerid, 26381, DIALOG_STYLE_TABLIST_HEADERS, "{FFD700}Список свободных постов лидерства", fstring, "Купить", "Назад");
}
Код:
case 26381:
{
if(!response) return true;
new pvarString[32], leader, fstring[512];
format(pvarString, sizeof pvarString, "buylead_%i", listitem);
leader = GetPVarInt(playerid, pvarString);
SetPVarInt(playerid, "buylead", leader);
format(fstring, sizeof fstring, "{ffffff}Вы действительно хотите купить\nКупить права лидера фракции {8BD032}%s{ffffff}?\nСтоимость: {8BD032}%i{ffffff} рублей.", GetPlayerFracName[leader], GetMemberPrice[leader]);
ShowPlayerDialog(playerid, 26382, DIALOG_STYLE_MSGBOX, "{ffffff}Покупка лидерки", fstring, "Купить", "Отмена");
return true;
}
case 26382: // Подтверждение покупки
{
if(!response) return true;
new fractionid = GetPVarInt(playerid, "buylead");
if(strlen(FractionNamess[fractionid]) || GetMemberPrice[fractionid] == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "У данной фракции уже есть лидер!");
return true;//callcmd::buylead(playerid);
}
if(PlayerInfo[playerid][pRub] < GetMemberPrice[fractionid])
{
SendClientMessage(playerid, COLOR_FLOD,!">>>>"WH_C" У вас недостаточно Рубелй. Вы можете пополнить свой баланс [/donate]");
return true;//callcmd::buylead(playerid);
}
PlayerInfo[playerid][pMember] = fractionid;
PlayerInfo[playerid][pLeader] = fractionid;
PlayerInfo[playerid][pJob] = 0;
//-----------------------------------------
switch(PlayerInfo[playerid][pMember])
{
case 1,10,21:
{
PlayerInfo[playerid][pOdet] = 1, SendClientMessage(playerid,COLOR_BLUE,"Ваш рабочий день успешно начат!");
PlayerInfo[playerid][pRank] = 15;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (283) : (76);
}
case 2:
{
PlayerInfo[playerid][pOdet] = 1, SendClientMessage(playerid,COLOR_BLUE,"Ваш рабочий день успешно начат!");
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (165) : (141);
}
case 3,19:
{
PlayerInfo[playerid][pOdet] = 1, SendClientMessage(playerid,COLOR_BLUE,"Ваш рабочий день успешно начат!");
PlayerInfo[playerid][pRank] = 15;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (61) : (191);
}
case 4:
{
PlayerInfo[playerid][pOdet] = 1, SendClientMessage(playerid,COLOR_BLUE,"Ваш рабочий день успешно начат!");
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (70) : (219);
}
case 5:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (113) : (214);
}
case 6:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (186) : (169);
}
case 7:
{
PlayerInfo[playerid][pOdet] = 1, SendClientMessage(playerid,COLOR_BLUE,"Ваш рабочий день успешно начат!");
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (147) : (150);
}
case 11:
{
PlayerInfo[playerid][pOdet] = 1, SendClientMessage(playerid,COLOR_BLUE,"Ваш рабочий день успешно начат!");
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (59) : (172);
}
case 12:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (104) : (195);
}
case 13:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (110) : (190);
}
case 14:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (272) : (214);
}
case 15:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (270) : (56);
SendClientMessage(playerid, COLOR_WHITE, "Купил");
}
case 16:
{
PlayerInfo[playerid][pRank] = 13;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (187) : (211);
}
case 17:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (115) : (41);
}
case 18:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (173) : (226);
}
case 23:
{
PlayerInfo[playerid][pRank] = 12;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (294) : (169);
}
case 24:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (67) : (55);
}
case 25:
{
PlayerInfo[playerid][pOdet] = 1, SendClientMessage(playerid,COLOR_BLUE,"Ваш рабочий день успешно начат!");
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (285) : (76);
}
case 26:
{
PlayerInfo[playerid][pRank] = 10;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (295) : (12);
}
case 27,28:
{
PlayerInfo[playerid][pRank] = 5;
PlayerInfo[playerid][pModel] = (PlayerInfo[playerid][pSex] == 1) ? (189) : (172);
}
}
//-----------------------------------------
PlayerInfo[playerid][pRub] -= GetMemberPrice[fractionid];
SetPlayerToTeamColor(playerid, PlayerInfo[playerid][pMember]);
new query[400];
mysql_format(connects,query,sizeof(query),"UPDATE "TABLE_ACCOUNT" SET `member` = '%d', `rank` = '%d', `model` = '%d', `leader` = '%d', `job` = '0', `rubli` = '%d' WHERE `id` = '%d'",fractionid,PlayerInfo[playerid][pRank],PlayerInfo[playerid][pModel],fractionid, PlayerInfo[playerid][pRub], PlayerInfo[playerid][pID]);
mysql_query(connects,query);
SetPlayerSkinEx(playerid,PlayerInfo[playerid][pModel]);
return true;
}
