• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

/capture каптит неверную зону + TextDraw видят все банды

Nikita_Rellex

Умник
Уважаемые скриптеры такая у меня проблема, Прописываю команду /capture у меня начинает мигать другая gangzona не в том квадрате где я стою а выше и хочу добавить что у меня еще баг когда идёт капт другие банды не могут каптиться и у них появляется тот же текстдрав что и у тех кто начал капт. ( Отредактировал думаю так подробнее описал свой вопрос. )
PHP:
CMD:capture(playerid)
{
    if(!IsAGang(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вам не доступна эта функция");
    if(zahvat == true) return SendClientMessage(playerid, COLOR_GREY, "В данный момент идёт захват территории");
    if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid, COLOR_GREY, "Доступно с 9 ранга");
    new h, m, s; gettime(h,m,s);
    //if(h < 14 || h >= 23) return SendClientMessage(playerid, COLOR_GREY, "Использовать команду можно только с 14:00 до 23:00");
    new string[244];
    //if(RecoveryTime == PlayerInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Ваша банда может начать захват только через капт");
    if(capture_kd[PlayerInfo[playerid][pMember]] > unix) {
        new year, month, day, hour, minute, second;
        timestamp_to_date(capture_kd[PlayerInfo[playerid][pMember]] - unix, year, month, day, hour, minute, second);
        format(string,128,"Таймер до следующего захвата {AFAFAF}[%02d:%02d:%02d]", hour, minute, second);
        SendClientMessage(playerid, COLOR_GREY, string);
        return 1;
    }
    new gang1 = -1;
    switch(PlayerInfo[playerid][pMember]) {
        case fBALLAS: gang1 = MOROZ_BALLAS;
        case fVAGOS: gang1 = MOROZ_VAGOS;
        case fGROVE: gang1 = MOROZ_GROVE;
        case fAZTEC: gang1 = MOROZ_AZTECAS;
        case fRIFA: gang1 = MOROZ_RIFA;
    }
    if(gang1 != -1) {
        if(fracmoroz[gang1] > unix) {
            SendClientMessage(playerid, COLOR_GREY,"Ваша банда заморожена");
            return 1;
        }
    }
    IDGZ[playerid] = GetIDGZ(playerid);
    if(IDGZ[playerid] != -1) {
        new i = IDGZ[playerid];
        if(capture_kd[GZInfo[i][gFrakVlad]] > unix) {
            new year, month, day, hour, minute, second;
            timestamp_to_date(capture_kd[GZInfo[i][gFrakVlad]] - unix, year, month, day, hour, minute, second);
            format(string,128,"Таймер до следующего захвата данной банды {AFAFAF}[%02d:%02d:%02d]", hour, minute, second);
            SendClientMessage(playerid, COLOR_GREY, string);
            return 1;
        }
        if(PlayerInfo[playerid][pMember] == GZInfo[i][gFrakVlad]) return SendClientMessage(playerid, COLOR_GREY,"Вы не можете захватить собственную территорию");
        if(i == 90 && black_prods[9] > unix) return SendClientMessage(playerid, COLOR_GREY,"В данный момент борьба за чёрный рынок недоступна");
        if(i == 97 || i == 93 || i == 41 || i == 0 || i == 24) return SendClientMessage(playerid, COLOR_GREY,"Нельзя закаптить спавн банды");
        if(f_diplomacy[PlayerInfo[playerid][pMember] - 15][GZInfo[i][gFrakVlad] - 15] == dip_status_alliance) return SendClientMessage(playerid, COLOR_GREY,"С данной бандой заключен союз");
        //if(!IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid, COLOR_GREY, "Банда на которую вы собираетесь напасть нет в сети / Меньше трёх человек");
        new gang = -1;

        switch(GZInfo[i][gFrakVlad]) {
            case fBALLAS: gang = MOROZ_BALLAS;
            case fVAGOS: gang = MOROZ_VAGOS;
            case fGROVE: gang = MOROZ_GROVE;
            case fAZTEC: gang = MOROZ_AZTECAS;
            case fRIFA: gang = MOROZ_RIFA;
        }
        if(gang != -1) {
            if(fracmoroz[gang] > unix) {
                SendClientMessage(playerid, COLOR_GREY,"Банду которую вы хотите захватить невозможно");
                SendClientMessage(playerid, COLOR_GREY,"Она заморожена администратором, ожидайте сообщения в чате когда заморозка будет снята");
                return 1;
            }
        }
        new attemptslot= -1;
        switch(PlayerInfo[playerid][pMember]) {
            case fVAGOS: attemptslot = 0;
            case fBALLAS: attemptslot = 1;
            case fGROVE: attemptslot = 2;
            case fRIFA: attemptslot = 3;
            case fAZTEC: attemptslot = 4;
        }
        if(attemptslot != -1) {
            if(CaptureAttempt[attemptslot] >= MAX_ATTEMPT_GANG) {
                format(string, 128, "Ваша банда уже воевала более %i раз", MAX_ATTEMPT_GANG);
                SendClientMessage(playerid, COLOR_GREY, string);
                return 1;
            }
        }
        zahvat = true;
        //RecoveryTime = PlayerInfo[playerid][pMember];
        GZInfo[i][gTime] = 60*15;
        GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
        format(string, 112, "%s(%s) начал(a) захват территории банды %s",GFrac(PlayerInfo[playerid][pMember]),player_name[playerid],GFrac(GZInfo[i][gFrakVlad]));
        SendBand(COLOR_LIGHTRED,string);
        format(string, 144, "[A] Начался капт между бандой %s и %s",GFrac(PlayerInfo[playerid][pMember]),GFrac(GZInfo[i][gFrakVlad]));
        AdmMSG(COLOR_YELLOW, string, 1);
        GangZoneFlashForAll(GZInfo[i][gID],GetGangColor(GZInfo[i][gNapad]));
     
        GZInfo[i][ZoneOnBattle] = 1;
        new Float:x_pos,Float:y_pos,Float:z_pos;
        GetPlayerPos(playerid, x_pos,y_pos,z_pos);
        gz_area = CreateDynamicSphere(x_pos,y_pos,z_pos, 170, 0,0);
        GZInfo[i][gzTimer] = SetTimerEx("GzCheck",1000,1,"iii",i, PlayerInfo[playerid][pMember], GZInfo[i][gFrakVlad]);
        if(attemptslot != -1) CaptureAttempt[attemptslot] ++;

        if(QuestProgress[playerid][9] < 1 && AcceptQuest[playerid][9] != 0) QuestProgress[playerid][9] ++;
        if(QuestProgress[playerid][9] == 1 && AcceptQuest[playerid][9] != 0) {
            D(playerid,DIALOG_NONE,DSM, ""P"Квест",""W"Вы успешно спровоцировали войну. Данное задание можно завершить и забрать за него награду","Закрыть","");
            NextStapQI(playerid,9);
        }
        return 1;
    }
    else SendClientMessage(playerid, COLOR_GREY, "Необходимо находится на территории которую хотите завоевать");
    return 1;
}
Я не правильно оформил вопрос? Вы скажите я оформлю лучше если надо. не молчите помогите пожалуйста.
 
Последнее редактирование:
Сверху Снизу