Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 21

Тема: [Анти-Чит]Песочница

  1. #1
    Аватар для Tolyanchik
    Активный участник
    Регистрация
    25.06.2012
    Сообщений
    150
    Благодарностей
    28
    Сказали спасибо: 107

    [Анти-Чит]Песочница

    Здравствуйте дорогие скриптеры билайна,давно я не выкладывал уроки,вот сегодня я хочу вам показать 1 анти-чит,в чём он заключается,есть такая программа Песочница которая может запустить 2 окна Sa-Mp на ваш сервер.

    ко всем new
    PHP код:
            new IP1[16],IP2[16];
            
    GetPlayerIp(playeridIP1sizeof(IP1));
            for(new 
    i=0i<GetMaxPlayers(); i++)
            {
                if(
    playerid == || !IsPlayerConnected(i)) continue;
                
    GetPlayerIp(iIP2sizeof(IP2));
                if(!
    strcmp(IP1IP2true)) return Kick(playerid);
            } 
    Давайте разберёмся что к чему и так:
    new IP1[16],IP2[16] - Это переменные
    GetPlayerIP - Игрок с таким то IP адресом
    If(playerid == i || !IsPlayerConnected(i)) continue; - Когда игрок конектица
    GetPlayerIP - Игрок с таким то IP адресом(тоесть IP адрес такой же как и у игрока с IP1)
    if(!strcmp(IP1,IP2,true)) return Kick(playerid) - Значит игрок с IP1 и IP2 будут кикнуты по причине одного и товоже IP

    Давайте избавимся от читеров раз и навсегда
    Последний раз редактировалось Tolyanchik; 18.02.2013 в 22:06.

    Мужиком считается не тот кто баб еб..,а тот кто мид не про....

  2. #11
    Аватар для Tolyanchik
    Активный участник
    Регистрация
    25.06.2012
    Сообщений
    150
    Благодарностей
    28
    Сказали спасибо: 107
    Цитата Сообщение от music Посмотреть сообщение
    пфф, а если будут играть с комп. клуба??? где IP одинаковый везде!
    Музыка,ты что не понял что другие форумчане писали,если игрок с одинаковым IP зайдёт то его сразу кикнут,во 1 вкомпьютерные клубы SAMP не будут загружать так как они наверное даже и не знают про него,во 2 они в интернет клубе играют только доту и контр,и там ещё какие нибудь игры локальные,так что не надо тут пыффкать.

    Мужиком считается не тот кто баб еб..,а тот кто мид не про....

  3. #12
    Аватар для Нико
    Game Модератор
    Регистрация
    22.06.2012
    Сообщений
    4,163
    Благодарностей
    768
    Сказали спасибо: 1,372
    Цитата Сообщение от music Посмотреть сообщение
    пфф, а если будут играть с комп. клуба??? где IP одинаковый везде!
    Редко где есть SAMP в комп. клубах, хотя на нашем квартале таких 2 ). Но там по сути адекваты не играют, там вообще, кроме доты и кс - ни во что не играют.

  4. #13
    Аватар для 4yBAК
    Активный участник
    Регистрация
    13.02.2013
    Сообщений
    337
    Благодарностей
    36
    Сказали спасибо: 50
    Цитата Сообщение от NikoBellic Посмотреть сообщение
    Редко где есть SAMP в комп. клубах, хотя на нашем квартале таких 2 ). Но там по сути адекваты не играют, там вообще, кроме доты и кс - ни во что не играют.
    В комп.клубе где я АДМ точно есть !!!) я там лично самп устанавливал !!
    А ты знаешь этот жест ?

  5. #14
    Аватар для Rubick
    Забанен(а)
    Регистрация
    24.05.2013
    Сообщений
    3
    Благодарностей
    0
    Сказали спасибо: 1
    Оптимизация:

    PHP код:
    static IP[2][32];
    GetPlayerIp(playeridIP[1], sizeof(IP[1]));
    for(new 
    0GetMaxPlayers(); i++)
    {
       if(
    playerid == || !IsPlayerConnected(i)) continue;
       
    GetPlayerIp(iIP[2], sizeof(IP[2]));
       if(!
    strcmp(IP[1], IP[2], true)) return Kick(playerid):

    Последний раз редактировалось Rubick; 27.05.2013 в 14:44.

  6. 1 пользователь сказал cпасибо Rubick за это полезное сообщение:

    Takashi (22.09.2013)

  7. #15
    Аватар для Takashi
    Модератор CS
    Регистрация
    29.06.2012
    Адрес
    Сообщений
    1,075
    Благодарностей
    440
    Сказали спасибо: 246
    Цитата Сообщение от Rubick Посмотреть сообщение
    Оптимизация:

    PHP код:
    static IP[2][32];
    GetPlayerIp(playeridIP[1], sizeof(IP[1]));
    for(new 
    0GetMaxPlayers(); i++)
    {
       if(
    playerid == || !IsPlayerConnected(i)) continue;
       
    GetPlayerIp(iIP[2], sizeof(IP[2]));
       if(!
    strcmp(IP[1], IP[2], true)) return Kick(playerid):

    спс.

  8. #16
    Аватар для st1m
    Новичок
    Регистрация
    08.09.2013
    Сообщений
    23
    Благодарностей
    0
    Сказали спасибо: 2
    я не понимаю как делать помогите мне

  9. #17
    Аватар для Tolyanchik
    Активный участник
    Регистрация
    25.06.2012
    Сообщений
    150
    Благодарностей
    28
    Сказали спасибо: 107
    а ты и не сможешь понять это,тебе нужно сначала азы выучить,а потом переходить на более сложные уроки.

    Мужиком считается не тот кто баб еб..,а тот кто мид не про....

  10. #18
    Аватар для Scooter
    Новичок
    Регистрация
    10.08.2014
    Сообщений
    14
    Благодарностей
    1
    Сказали спасибо: 2
    Давайте разберёмся что к чему и так:
    new IP1[16],IP2[16] - Это переменные
    GetPlayerIP - Игрок с таким то IP адресом
    If(playerid == i || !IsPlayerConnected(i)) continue; - Когда игрок конектица
    GetPlayerIP - Игрок с таким то IP адресом(тоесть IP адрес такой же как и у игрока с IP1)
    if(!strcmp(IP1,IP2,true)) return Kick(playerid) - Значит игрок с IP1 и IP2 будут кикнуты по причине одного и товоже IP
    GetPlayerIP - это не "игрок с таким то IP" а функция возврата/записи IP игрока в переменную.
    If(playerid == i || !IsPlayerConnected(i)) continue; - это не "Когда игрок конектица" а пропуск если он не подключен, и проверяет не одинакова ли ID игроков в цикле, так избегают бага.

  11. #19
    Аватар для SAPPHIRE
    Модератор
    Регистрация
    28.05.2014
    Адрес
    Лаборатория.
    Сообщений
    102
    Благодарностей
    7
    Сказали спасибо: 18

    Exclamation

    Цитата Сообщение от Scooter Посмотреть сообщение
    GetPlayerIP - это не "игрок с таким то IP" а функция возврата/записи IP игрока в переменную.
    If(playerid == i || !IsPlayerConnected(i)) continue; - это не "Когда игрок конектица" а пропуск если он не подключен, и проверяет не одинакова ли ID игроков в цикле, так избегают бага.
    GetPlayerIp - запись в переменную типа string, if(playerid... установление проверки на подключение игрока.
    Цикл здесь для того, чтобы проверить каждого игрока на принадлежность к "совпадению IP адресов", в случае если они совпадают, происходит возвращение функции Kick(playerid).

    Условный оператор '!' означает, что проверка IsPlayerConnected(i) приобретает обратное значение.

    Цитата Сообщение от Rubick Посмотреть сообщение
    Оптимизация:

    PHP код:
    static IP[2][32];
    GetPlayerIp(playeridIP[1], sizeof(IP[1]));
    for(new 
    0GetMaxPlayers(); i++)
    {
       if(
    playerid == || !IsPlayerConnected(i)) continue;
       
    GetPlayerIp(iIP[2], sizeof(IP[2]));
       if(!
    strcmp(IP[1], IP[2], true)) return Kick(playerid):

    Это не оптимизация, а скорее всего наоборот, то есть переменная типа static остаётся в памяти постоянно, а если учесть то, что она будет отсеивать лишние значения в цикле, сервер в лучшем случае впадет в рекурсию.

    (На заметку: переменная типа string имеет размер в 2 байта. 16x2 = 32, 32x500=15000 байт ~ 120000 бит, с учётом того, что в сервер имеет количество игроков: 500.
    VISHERA

  12. 1 пользователь сказал cпасибо SAPPHIRE за это полезное сообщение:

    Scooter (02.12.2014)

  13. #20
    Аватар для Zeus979
    Активный участник
    Регистрация
    03.10.2012
    Адрес
    ???
    Сообщений
    440
    Благодарностей
    280
    Сказали спасибо: 102
    рор

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Ваши права

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