Показано с 1 по 3 из 3

Тема: Анти НонРП Капт

  1. #1
    Пользователь
    Регистрация
    01.02.2013
    Возраст
    27
    Сообщений
    13
    Репутация: 0

    Звание: пока не определено

    Анти НонРП Капт

    Представьте, что вы администратор только что открывшегося сервера! Вы выдаете лидерку какой-нибудь банды и ее лидер без всяких зазрений совести начинает захватывать гангзоны банд, у которых еще даже лидера нет! Это легко исправить просто поставив систему проверки на онлайн членов банд! Это значит, что зону будет нельзя атаковать, если игроков банды, которая ее контролируют нет в онлайне:ninja:. Приступим

    Находим команду "/capture" (рассмотрим на примере этой):
    PHP код:
        if(!strcmp(cmd,"/capture",true))
        {
            if(
    FrakCD[PlayerInfo[playerid][pMember]] == 0)
            {
                if(!
    IsInAllowed(playerid)) return SendClientMessage(playerid,COLOR_GRAD1,"Вы не можете захватить территорию");
                new 
    tmphourtmpminutetmpsecond;
                
    gettime(tmphourtmpminutetmpsecond);
                
    tmphour shifthour;
                for(new 
    0;i<MAX_GANGZONES;i++)
                {
                    if(
    PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]) && GZInfo[i][gFrakVlad] != PlayerInfo[playerid][pMember] && ZoneOnBattle[i]==0)
                    {
                        if(
    FrakCD[GZInfo[i][gFrakVlad]] != 0) return SendClientMessage(playerid,COLOR_GRAD1,"Банда на которую вы хотите напасть уже воевала в этом часу");
                        if(
    PlayerInfo[playerid][pMember] == GZInfo[i][gFrakVlad]) return SendClientMessage(playerid,COLOR_GRAD1,"Нельзя напасть на свою территорию");
                        if(
    StartBatleGZ == 1) return SendClientMessage(playeridCOLOR_GRAD1"Ваша банда уже воевала/воюет войну за территорию");
                        if(
    IsATerra(playerid)) return SendClientMessage(playerid,COLOR_WHITE,"Нельзя захватить эту территорию");
                        if(
    ItsWar[GZInfo[i][gFrakVlad]] == true) return SendClientMessage(playerid,COLOR_GRAD1,"Ваша банда уже воюет/воевала за территорию");
                        if(
    ItsWar[PlayerInfo[playerid][pMember]] == true) return SendClientMessage(playerid,COLOR_GRAD1,"Ваша банда уже воюет/воевала за территорию");
                        
    format(string,sizeof(string),"[Внимание]: Ваша банда напала на территорию %s",GetGangName(GZInfo[i][gFrakVlad]));
                        
    SendFamilyMessage(PlayerInfo[playerid][pMember],0x1DAD8EAA,string);
                        
    SendClientMessage(playerid,COLOR_WHITE,"Территория будет мигать 6 минут. Победит банда, которая останется последней");
                        
    SendClientMessage(playerid,COLOR_WHITE,"Территория будет мигать до тех пор, пока на ней не останется 1 банда");
                        
    format(string,sizeof(string),"[Внимание]: На вашу территорию напала банда %s",GetGangName(PlayerInfo[playerid][pMember]));
                        
    SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_RED,string);
                        
    GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
                        
    FrakCD[PlayerInfo[playerid][pMember]]  = 3000;
                        
    GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
                        
    GZSafeTime[i] = 360;
                        
    ZoneOnBattle[i] = 1;
                        
    ItsWar[GZInfo[i][gNapad]] = true;
                        
    ItsWar[GZInfo[i][gFrakVlad]] = true;
                        break;
                    }
                }
            }
        } 
    Теперь вам необходимо вставить сюда это:
    PHP код:
    if(!IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid,COLOR_LIGHTRED,"Зону банды которую вы хотите атаковать нет в онлайне!"); 
    Должно получиться вот так:
    PHP код:
        if(!strcmp(cmd,"/capture",true))
        {
            if(
    FrakCD[PlayerInfo[playerid][pMember]] == 0)
            {
                if(!
    IsInAllowed(playerid)) return SendClientMessage(playerid,COLOR_GRAD1,"Вы не можете захватить территорию");
                new 
    tmphourtmpminutetmpsecond;
                
    gettime(tmphourtmpminutetmpsecond);
                
    tmphour shifthour;
                for(new 
    0;i<MAX_GANGZONES;i++)
                {
                    if(
    PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]) && GZInfo[i][gFrakVlad] != PlayerInfo[playerid][pMember] && ZoneOnBattle[i]==0)
                    {
                        if(!
    IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid,COLOR_LIGHTRED,"Зону банды которую вы хотите атаковать нет в онлайне!"); //Вот эта строка!
                        
    if(FrakCD[GZInfo[i][gFrakVlad]] != 0) return SendClientMessage(playerid,COLOR_GRAD1,"Банда на которую вы хотите напасть уже воевала в этом часу");
                        if(
    PlayerInfo[playerid][pMember] == GZInfo[i][gFrakVlad]) return SendClientMessage(playerid,COLOR_GRAD1,"Нельзя напасть на свою территорию");
                        if(
    StartBatleGZ == 1) return SendClientMessage(playeridCOLOR_GRAD1"Ваша банда уже воевала/воюет войну за территорию");
                        if(
    IsATerra(playerid)) return SendClientMessage(playerid,COLOR_WHITE,"Нельзя захватить эту территорию");
                        if(
    ItsWar[GZInfo[i][gFrakVlad]] == true) return SendClientMessage(playerid,COLOR_GRAD1,"Ваша банда уже воюет/воевала за территорию");
                        if(
    ItsWar[PlayerInfo[playerid][pMember]] == true) return SendClientMessage(playerid,COLOR_GRAD1,"Ваша банда уже воюет/воевала за территорию");
                        
    format(string,sizeof(string),"[Внимание]: Ваша банда напала на территорию %s",GetGangName(GZInfo[i][gFrakVlad]));
                        
    SendFamilyMessage(PlayerInfo[playerid][pMember],0x1DAD8EAA,string);
                        
    SendClientMessage(playerid,COLOR_WHITE,"Территория будет мигать 6 минут. Победит банда, которая останется последней");
                        
    SendClientMessage(playerid,COLOR_WHITE,"Территория будет мигать до тех пор, пока на ней не останется 1 банда");
                        
    format(string,sizeof(string),"[Внимание]: На вашу территорию напала банда %s",GetGangName(PlayerInfo[playerid][pMember]));
                        
    SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_RED,string);
                        
    GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
                        
    FrakCD[PlayerInfo[playerid][pMember]]  = 3000;
                        
    GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
                        
    GZSafeTime[i] = 360;
                        
    ZoneOnBattle[i] = 1;
                        
    ItsWar[GZInfo[i][gNapad]] = true;
                        
    ItsWar[GZInfo[i][gFrakVlad]] = true;
                        break;
                    }
                }
            }
        } 
    Теперь ко всем stock мы добавляем:
    PHP код:
    stock IsPlayerInBandOnline(bandid)
    {
        for(new 
    0MAX_PLAYERSi++)
        {
            if(
    PlayerInfo[i][pMember] == bandid || PlayerInfo[i][pLeader] == bandid)
            return 
    true;
        }
        return 
    false;

    Все готово, на всех РЛС модах и выходцах из РЛС идет 100%
    Вырезал из какого-то старого мода названия не помню
    так как не было указано автора тоже не было...

    Надеюсь это вам поможет =)

  2. #2
    ex-Pawn developer Аватар для SHOROOP
    Регистрация
    28.05.2011
    Адрес
    St.Petersburg
    Возраст
    31
    Сообщений
    2,667
    Репутация: 306

    Звание: как роза среди колючек

    Re: Анти НонРП Капт

    Тема перенесена в соответствующий сабжу раздел. В таком виде - это не урок.

  3. #3
    Друг админа Аватар для l1ghter
    Регистрация
    04.09.2011
    Адрес
    Москва
    Сообщений
    2,348
    Репутация: 188

    Звание: - весьма и весьма положительная личность

    Re: Анти НонРП Капт

    вырезал из такого же рлс...

Похожие темы

  1. Ищю скрипт кикающих нонРП ников(чтобе показивалось игроку)
    от Tema98 в разделе Ищу скрипт/мод/функцию/программу/плагин...
    Ответов: 2
    Последнее сообщение: 04.07.2012, 10:42
  2. [Урок] Анти SandBoxie (Анти песочница)
    от Lion в разделе Pawn WIKI
    Ответов: 23
    Последнее сообщение: 26.06.2012, 01:18
  3. помогите с нонрп никами!!
    от артем васильев в разделе Вопросы по скриптингу
    Ответов: 6
    Последнее сообщение: 10.11.2011, 16:57
  4. [ИЩУ] Анти собейт, анти сх, и т.д за +!
    от thecool в разделе Ищу скрипт/мод/функцию/программу/плагин...
    Ответов: 13
    Последнее сообщение: 03.06.2011, 14:20
  5. Помогите с проблемой нонрп
    от venom220v в разделе Вопросы по скриптингу
    Ответов: 10
    Последнее сообщение: 31.03.2011, 15:11

Метки этой темы

Ваши права

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