- Регистрация
- 16 Окт 2016
- Сообщения
- 31
- Лучшие ответы
- 0
- Репутация
- 0
Честно говоря даже не знаю как все это описать...
Вообщем я хочу сделать систему гетто как на ДРП, а именно что бы команду /capture можно было прописывать только на той территории, которая соприкасается с территория твоей банды... Что бы не было кулибяки ( цвета не должны быть перемешаны.. то есть должны быть вот так
Вообщем я хочу сделать систему гетто как на ДРП, а именно что бы команду /capture можно было прописывать только на той территории, которая соприкасается с территория твоей банды... Что бы не было кулибяки ( цвета не должны быть перемешаны.. то есть должны быть вот так
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
, ) я пытался что-то сделать... и знакомые помогали но ничего не вышло.. Вот что есть на данный момент
PHP:
{
if(!pTemp[playerid][pLogined]) return 1;
new string[256];
if(IsAGang(playerid))
{
new h, ZonePos[MAX_PLAYERS], ZoneTrue; gettime(h);
if(pData[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_LIGHTRED,"Функция доступна с 7 ранга и выше!");
new faction = pData[playerid][pFraction];
if(!IsInAllowed(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Ваша банда уже учавствует в захвате зон!");
if(zGangTime[faction] <= 0) return SendClientMessage(playerid, -1, "Сегодня ваша банда больше не может учавствовать в захвате");
new bool: dostup = false;
for(new i; i < MAX_GZONE;i++)
{
if(PlayerToKvadrat(playerid,GZMZ[i][gCoords][0], GZMZ[i][gCoords][1],GZMZ[i][gCoords][2],GZMZ[i][gCoords][3]) && ZoneOnBattle[i] == 0)
{
ZonePos[playerid] = i;
switch(i)
{
case 1, 2, 3, 4, 5: dostup = true;
}
if(dostup == true) return SendClientMessage(playerid, COLOR_GREY, "Эта основная территория банды её нельзя захватить");
}
}
for(new i; i < MAX_GZONE;i++)
{
new Float: PosXZone = (GZMZ[ZonePos[playerid]][gCoords][0] + GZMZ[i][gCoords][2])/2;
new Float: PosYZone = (GZMZ[ZonePos[playerid]][gCoords][1] + GZMZ[i][gCoords][3])/2;
if(((PosXZone <= GZMZ[ZonePos[playerid]][gCoords][0] && PosXZone >= GZMZ[i][gCoords][2]) && (PosYZone <= GZMZ[ZonePos[playerid]][gCoords][1] && PosYZone >= GZMZ[i][gCoords][3])) && ZoneOnBattle[i] == 0)
{
if(GZMZ[i][gFrak] == pData[playerid][pFraction]) ZoneTrue++;
}
}
if(ZoneTrue == 0) return SendClientMessage(playerid, COLOR_GREY, "Данную территорию нельзя завоевать. Нужно находится возле своей территории!");
if(FrakCD > 0)
{
new fd[128];
format(fd,128,"До следующего захвата территори %d минут.", floatround(FrakCD/60));
SendClientMessage(playerid,CGRAY,fd);
return 1;
}
for(new i=1;i<=TOTALGZ;i++)
{
if(PlayerToKvadrat(playerid,GZMZ[i][gCoords][0], GZMZ[i][gCoords][1],GZMZ[i][gCoords][2],GZMZ[i][gCoords][3]) && ZoneOnBattle[i] == 0)
{
if(IsPlayerInBandOnline(faction) < 1) return SendMes(playerid,COLOR_GREY, "В вашей банде мало игроков онлайн!");
if(IsPlayerInBandOnline(GZMZ[i][gFrak]) < 1) return SendMes(playerid,COLOR_GREY, "У банды \"%s\" мало игроков!", GetGangName(GZMZ[i][gFrak]));
if(IsCapture == 1) return SendClientMessage(playerid, COLOR_GREY, "Уже происходит захват одной из зон. Дождитесь окончания!");
format(string, 2024, ""W"Эта территория принадлежит %s\nВы уверены что хотите её захватить?",GetGangName(GZMZ[i][gFrak]));
ShowPlayerDialog(playerid,dZaxvat,DIALOG_STYLE_MSGBOX,"{F3FF02}Захват территории",string,"Да","Нет");
}
}
}
return true;
}
Последнее редактирование: