Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для lowka123
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.08.2015
    Сообщений
    9
    Репутация:
    0 ±

    Можно каптить более 1-й терры

    Такая проблема:
    При капте 2-х банд,можно каптить более 1-й терры
    Подскажите как исправить.
    P/S Что за код кидать?
    https://youtu.be/SMayS6q1btg
    PHP код:
        else if(!strcmp(cmd,"/capture",true))//GzCheck
        
    {
            if(
    IsPlayerConnected(playerid))
            {
                if(
    PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pMember] == 18)
                {
                    if(
    PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_GREY,"Команда доступна с 7 ранга и выше");
                    new 
    tmphourtmpminutetmpsecond;
                    new 
    bigstringer[200];
                    
    gettime(tmphourtmpminutetmpsecond);
                    
    tmphour shifthour;
                    
    //if(tmphour < 12 || tmphour > 24) return SendClientMessage(playerid, COLOR_GREY, "Ошибка: захват территории разрешен с 12:00 до 24:00!");
                    //if(capt == 1 || capt == 10) return SendClientMessage(playerid,COLOR_GREY,"Ошибка: война за территорию уже идет");
                    //if(capt == 4) return SendClientMessage(playerid, COLOR_GREY, "Ошибка: в этом часе уже прошло два возможных захвата. Больше в один час нельзя");
                    
    switch(tmpminute)
                    {
                    case 
    0..59:
                        {
                            for(new 
    0;i<130;i++)
                            {
                                if(
    PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
                                {
                                    if(
    GZInfo[i][gFrakVlad] == PlayerInfo[playerid][pMember]) return SendClientMessage(playerid,COLOR_GREY,"Ошибка: нельзя воевать за свою же территорию");
                                    new 
    namegang[24],namegangv[24];
                                    switch(
    PlayerInfo[playerid][pMember])
                                    {
                                        case 
    15namegang "Grove Street Gang";
                                        case 
    17namegang "Aztecas Gang";
                                        case 
    12namegang "Ballas Gang";
                                        case 
    18namegang "Rifa Gang";
                                        case 
    13namegang "Vagos Gang";
                                    }
                                    switch(
    GZInfo[i][gFrakVlad])
                                    {
                                        case 
    15namegangv "Grove Street Gang";
                                        case 
    17namegangv "Aztecas Gang";
                                        case 
    12namegangv "Ballas Gang";
                                        case 
    18namegangv "Rifa Gang";
                                        case 
    13namegangv "Vagos Gang";
                                    }
                                    if(
    capt == && PlayerInfo[playerid][pMember] == WarBeen[0]) return SendClientMessage(playerid,COLOR_GREY,"Ошибка: Ваша банда уже воевала в этом часе");
                                    if(
    capt == && GZInfo[i][gFrakVlad] == WarBeen[1]) return SendClientMessage(playerid,COLOR_GREY,"Ошибка: эта банда уже воевала в этом часе");
                                    if(
    capt == && PlayerInfo[playerid][pMember] == WarBeen[1]) return SendClientMessage(playerid,COLOR_GREY,"Ошибка: Ваша банда уже воевала в этом часе");
                                    if(
    capt == && GZInfo[i][gFrakVlad] == WarBeen[1]) return SendClientMessage(playerid,COLOR_GREY,"Ошибка: эта банда уже воевала в этом часе");
                                    if(
    IsATerra(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Нельзя захватить эту территорию");
                                    new 
    gonline;
                                    foreach(
    Playery)
                                    {
                                        if(
    PlayerInfo[y][pMember] == PlayerInfo[playerid][pMember]) gonline++;
                                    }
                                    
    //if(gonline < 3) return SendClientMessage(playerid, COLOR_GREY, "Ошибка: нельзя захватывать территорию, если в Вашей банде онлайн меньше 3 человек");
                                    //else gonline = 0;
                                    
    foreach(Playery)
                                    {
                                        if(
    PlayerInfo[y][pMember] == GZInfo[i][gFrakVlad]) gonline++;
                                    }
                                    
    //if(gonline < 3) return SendClientMessage(playerid, COLOR_GREY, "Ошибка: нельзя захватывать территорию, если в вражейской банде онлайн меньше 3 человек");
                                    
    if(capt == 0capt 1;
                                    else if(
    capt == 2capt 10;
                                    
    captureteam[0] = PlayerInfo[playerid][pMember];//Банда нападающих
                                    
    captureteam[1] = GZInfo[i][gFrakVlad];//Банда обороняющихся
                                    
    format(bigstringersizeof(bigstringer), "[F] Банда '%s' начала захват территории у '%s' в районе '%s' (Захват начал %s[%i])"namegangnamegangvGetPlayerZone(playerid), PlayerInfo[playerid][pNames], playerid);
                                    
    SendFamilyMessage(15COLOR_REDbigstringer); SendFamilyMessage(17COLOR_REDbigstringer); SendFamilyMessage(12COLOR_REDbigstringer); SendFamilyMessage(18COLOR_REDbigstringer); SendFamilyMessage(13COLOR_REDbigstringer);
                                    
    format(bigstringersizeof(bigstringer), "[A] {FFCC00}Банда '%s' начала захват территории у '%s' в районе '%s' {B0B0B0}(Захват начал %s[%i])"namegangnamegangvGetPlayerZone(playerid), PlayerInfo[playerid][pNames], playerid);
                                    
    SendAdminMessage(0x99CC00FFbigstringer);
                                    
    GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
                                    
    GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
                                    
    WarTimeMin 7;
                                    
    WarTimeSec 1;
                                    
    WarZoneID i;
                                    
    WarBeen[0] = PlayerInfo[playerid][pMember];
                                    
    WarBeen[1] = GZInfo[i][gFrakVlad];
                                    
    CommandKill[0] = 0;
                                    
    CommandKill[1] = 0;
                                    
    ScoreZahvat[PlayerInfo[playerid][pMember]] = 0;
                                    
    ScoreZahvat[GZInfo[i][gFrakVlad]] = 0;
                                    
    capture[PlayerInfo[playerid][pMember]] = 1;
                                    
    FrakCD[PlayerInfo[playerid][pMember]] = 1;
                                    
    FrakCD[GZInfo[i][gFrakVlad]] = 1;
                                    new 
    ftext[20], ftext1[20];
                                     switch(
    captureteam[0])
                                    {
                                        case 
    15ftext "Grove St.";
                                        case 
    12ftext "Ballas";
                                        case 
    18ftext "Rifa";
                                        case 
    17ftext "Aztec";
                                        case 
    13ftext "Vagos";
                                    }
                                     switch(
    captureteam[1])
                                    {
                                        case 
    15ftext1 "Grove St.";
                                        case 
    12ftext1 "Ballas";
                                        case 
    18ftext1 "Rifa";
                                        case 
    17ftext1 "Aztec";
                                        case 
    13ftext1 "Vagos";
                                    }
                                    
    TextDrawSetString(onecommandftext);
                                    
    TextDrawSetString(twocommandftext1);
                                    
    TextDrawSetString(kolone"0");
                                    
    TextDrawSetString(koltwo"0");
                                    foreach(
    Playerz)
                                    {
                                        if(
    PlayerInfo[z][pMember] == 15 || PlayerInfo[z][pMember] == 17 || PlayerInfo[z][pMember] == 12 || PlayerInfo[z][pMember] == 18 || PlayerInfo[z][pMember] == 13)
                                        {
                                            
    TextDrawShowForPlayer(z,fon);
                                            
    TextDrawShowForPlayer(z,timetext);
                                            
    TextDrawShowForPlayer(z,vremya);
                                            
    TextDrawShowForPlayer(z,onecommand);
                                            
    TextDrawShowForPlayer(z,twocommand);
                                            
    TextDrawShowForPlayer(z,kolone);
                                            
    TextDrawShowForPlayer(z,koltwo);
                                        }
                                    }
                                    return 
    true;
                                }
                            }
                        }
                    default: 
    SendClientMessage(playerid,COLOR_GREY,"Воевать за территории можно в течение 30 минут после нового часа");
                    }
                }
            }
            return 
    true;
         } 
    Последний раз редактировалось lowka123; 02.09.2015 в 21:07. Причина: апдате

  2. #2
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Просто заведи переменную куда при старте капта будешь записывать значение true а после завершения false. И проверять в этой же команде.

  3. #3
    Аватар для lowka123
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.08.2015
    Сообщений
    9
    Репутация:
    0 ±
    Цитата Сообщение от wAx Посмотреть сообщение
    Просто заведи переменную куда при старте капта будешь записывать значение true а после завершения false. И проверять в этой же команде.
    Не понял,добавил код.

  4. #4
    Аватар для gangzone.ini
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    651
    Репутация:
    106 ±
    В начало
    PHP код:
    new capture
    В начало капта
    PHP код:
    capture 1
    В конец
    PHP код:
    capture 0
    В команду
    PHP код:
    if(capture == 1) return SendClientMessage(playerid, -1"Уже идёт захват территории"); 

  5. #5
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от gangzone.ini Посмотреть сообщение
    В начало
    PHP код:
    new capture
    В начало капта
    PHP код:
    capture 1
    В конец
    PHP код:
    capture 0
    В команду
    PHP код:
    if(capture == 1) return SendClientMessage(playerid, -1"Уже идёт захват территории"); 
    Не удачно, как - то.
    status_gang_capture - что ли
    Последний раз редактировалось $continue$; 04.09.2015 в 00:27.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •