zazais
Специалист
Привет, хотел сделать команду /capture на диалоге как адванс рп, с названием банд ну типа вводишь команду там тебе пишет диалог "Вы действительно хотите напасть на территорию банды Баллас" но че то не получилось у меня
воть команда /capture
воть команда /capture
C++:
CMD:capture(playerid, params[])
{
if(IsAGang(playerid))
{
new h; gettime(h);
if(h < 9 || h > 23 ) return SendClientMessage(playerid, COLOR_GREY, "Использовать команду можно только с 9:00 до 0:00");
if(PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_GREY,"Функция доступная с 7 ранга и выше!");
new faction = PlayerInfo[playerid][pMember];
if(!IsInAllowed(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Ваша банда уже учавствует в захвате зон!");
if(PlayerInfo[playerid][pMember] == 15 && b_Ghetto{0}) return SendClientMessage(playerid, COLOR_GREY, "Администрация запретила Вашей банде воевать за территории");
if(PlayerInfo[playerid][pMember] == 17 && b_Ghetto{1}) return SendClientMessage(playerid, COLOR_GREY, "Администрация запретила Вашей банде воевать за территории");
if(PlayerInfo[playerid][pMember] == 12 && b_Ghetto{2}) return SendClientMessage(playerid, COLOR_GREY, "Администрация запретила Вашей банде воевать за территории");
if(PlayerInfo[playerid][pMember] == 18 && b_Ghetto{3}) return SendClientMessage(playerid, COLOR_GREY, "Администрация запретила Вашей банде воевать за территории");
if(PlayerInfo[playerid][pMember] == 13 && b_Ghetto{4}) return SendClientMessage(playerid, COLOR_GREY, "Администрация запретила Вашей банде воевать за территории");
if(FrakCD[faction] > 0) return SendClientMessage(playerid, COLOR_GREY, "Захватывать зону можно раз в час!");
for(new i = 1;i<=TOTALGZ;i++)
{
if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]) && ZoneOnBattle[i] == 0)
{
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Нельзя использовать в машине");
{
if(GZInfo[i][gFrak] == faction) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете захватывать зону вашей банды!");
if(IsCapture == 1) return SendClientMessage(playerid, COLOR_GREY, "Уже происходит захват одной из зон. Дождитесь окончания!");
if(IsATerra(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Нельзя захватить эту территорию");
switch(GZInfo[i][gFrak])
{
case 15: if(b_Ghetto{0}) return SendClientMessage(playerid,COLOR_GRAY,"Ошибка: Данная банда заморожена!");
case 13: if(b_Ghetto{4}) return SendClientMessage(playerid,COLOR_GRAY,"Ошибка: Данная банда заморожена!");
case 12: if(b_Ghetto{2}) return SendClientMessage(playerid,COLOR_GRAY,"Ошибка: Данная банда заморожена!");
case 18: if(b_Ghetto{3}) return SendClientMessage(playerid,COLOR_GRAY,"Ошибка: Данная банда заморожена!");
case 17: if(b_Ghetto{1}) return SendClientMessage(playerid,COLOR_GRAY,"Ошибка: Данная банда заморожена!");
}
//if(IsPlayerInBandOnline(faction) < 2) return SendClientMessage(playerid,COLOR_GREY, "В вашей банде мало игроков онлайн!");
//if(IsPlayerInBandOnline(GZInfo[i][gFrak]) < 2) return format(stringer1,128,"У банды \"%s\" мало игроков!", GetPlayerFracName[GZInfo[i][gFrak]]), SendClientMessage(playerid,0x6495EDFF, stringer1);
//для адм
format(stringer,168,"[A] Игрок %s[%d] ранг: %s(%d) из банды (%s) начал капт против банды %s.",PlayerInfo[playerid][pNames],playerid,fRankName[PlayerInfo[playerid][pMember]-1][PlayerInfo[playerid][pRank]-1],PlayerInfo[playerid][pRank],GetPlayerFracName[PlayerInfo[playerid][pMember]],GetPlayerFracName[GZInfo[i][gFrak]]);
SendAdminMessage(COLOR_GREY ,stringer);
//для банд
format(stringer,112,"%s спровоцировал(а) захват территории банды %s. (Район %s.)",GetPlayerFracName[PlayerInfo[playerid][pMember]],GetPlayerFracName[GZInfo[i][gFrak]],GetPlayerZone(playerid));
SendFamilyMessage(PlayerInfo[playerid][pMember],COLOR_ORANGE, stringer);
SendFamilyMessage(GZInfo[i][gFrak],COLOR_ORANGE, stringer);
format(stringer,112,"%s %s(%d) инициировал захват",PlayerInfo[playerid][pNames],fRankName[PlayerInfo[playerid][pMember]-1][PlayerInfo[playerid][pRank]-1],PlayerInfo[playerid][pRank]);
SendFamilyMessage(PlayerInfo[playerid][pMember],COLOR_ORANGE, stringer);
SendFamilyMessage(GZInfo[i][gFrak],COLOR_ORANGE, stringer);
SendFamilyMessage(PlayerInfo[playerid][pMember],0xFFFF00AA, "Место отмечено на карте. Отправляйтесь туда и поддержите свою банду");
SendFamilyMessage(GZInfo[i][gFrak],0xFFFF00AA,"Место отмечено на карте. Отправляйтесь туда и поддержите свою банду");
GangZoneFlashForAll(GZInfo[i][id],GetGangColor(GZInfo[i][gNapad]));
new
Float:x = (GZInfo[i][gCoords][0]+GZInfo[i][gCoords][2])/2.0,
Float:y = (GZInfo[i][gCoords][1]+GZInfo[i][gCoords][3])/2.0,
Float:z = 0;
foreach(new a: Player)
{
switch(PlayerInfo[playerid][pMember])
{
case 15: SetPlayerMapIcon(a, 31, x, y , z, 62, 0, MAPICON_GLOBAL);
case 13: SetPlayerMapIcon(a, 31, x, y , z, 60, 0, MAPICON_GLOBAL);
case 12: SetPlayerMapIcon(a, 31, x, y , z, 59, 0, MAPICON_GLOBAL);
case 17: SetPlayerMapIcon(a, 31, x, y , z, 58, 0, MAPICON_GLOBAL);
case 18: SetPlayerMapIcon(a, 31, x, y , z, 61, 0, MAPICON_GLOBAL);
}
}
GZSafeTime[i] = 30;
FrakCD[faction] = 3600;
GZInfo[i][gNapad] = faction;
ZoneOnBattle[i] = 1;
IsCapture = 1;
SendPlaySound(30800, 0.0, 0.0, 0.0);
GangInfo[faction][capture] = 1;
GangInfo[GZInfo[i][gFrak]][capture] = 1;
GangInfo[GZInfo[i][gFrak]][captureid] = faction;
GangInfo[faction][captureid] = faction;
GangInfo[faction][gangnumber] = 1;
GangInfo[GZInfo[i][gFrak]][gangnumber] = 0;
IDzone = GZInfo[i][id];
Timer[7] = gettime()+1;
break;
}
}
}
}
else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
return true;
}
