Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    Аватар для Kenny_Dalglish
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    24.02.2014
    Сообщений
    179
    Репутация:
    -1 ±

    Как сделать что бы не флудило.

    Как сделать что бы не флудило Обнаружено использование чит-программ (#Rapid)
    Данный код ставиться в OnPlayerWeaponShot
    PHP код:
        if(weaponid != 38)
        {
            if((
    gettime() - shotTime[playerid]) < 1shot[playerid] += 1;
            else 
    shot[playerid] = 0;
            if(
    shot[playerid] > 10SendClientMessage(playerid,COLOR_ARPCVET228"Обнаружено использование чит-программ {ff0000}(#Rapid)"), KickNew(playerid);
            
    shotTime[playerid] = gettime();
        } 

  2. #2
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    new
        
    server_tick GetTickCount()
    ;

    if(
    weaponid != 38 && GetPVarInt(playerid"StopFlood") < server_tick)
    {
        if((
    gettime() - shotTime[playerid]) < 1)
            
    shot[playerid] += 1;
        else
            
    shot[playerid] = 0;
            
        if(
    shot[playerid] > 10)
            
    SendClientMessage(playerid, -1"Обнаружено использование чит-программ {ff0000}(#Rapid)"),
            
    SetPVarInt(playerid"StopFlood"server_tick 10000),
            
    KickNew(playerid);
            
        
    shotTime[playerid] = gettime();

    10000 (10 секунд) - это время через которое игрок снова увидит сообщение, если значение shot[playerid] больше чем 10.

  3. Пользователь сказал cпасибо:
    Salvacore (28.05.2014)
  4. #3
    Аватар для Kenny_Dalglish
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    24.02.2014
    Сообщений
    179
    Репутация:
    -1 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    PHP код:
    new
        
    server_tick GetTickCount()
    ;

    if(
    weaponid != 38 && GetPVarInt(playerid"StopFlood") < server_tick)
    {
        if((
    gettime() - shotTime[playerid]) < 1)
            
    shot[playerid] += 1;
        else
            
    shot[playerid] = 0;
            
        if(
    shot[playerid] > 10)
            
    SendClientMessage(playerid, -1"Обнаружено использование чит-программ {ff0000}(#Rapid)"),
            
    SetPVarInt(playerid"StopFlood"server_tick 10000),
            
    KickNew(playerid);
            
        
    shotTime[playerid] = gettime();

    10000 (10 секунд) - это время через которое игрок снова увидит сообщение, если значение shot[playerid] больше чем 10.
    Сообщение - не доставляться вообще, и теперь если даже без рапида все рао кикнет.

  5. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    if(weaponid != 38 && gettime() >= shotTime[playerid]
    {
        if((
    gettime() - (shotTime[playerid]-30)) < 1shot[playerid] += 1;//30 - число секунд, после которых проверка вновь сработает (зависит от значения ниже)
        
    else shot[playerid] = 0;
        if(
    shot[playerid] > 10SendClientMessage(playerid,COLOR_ARPCVET228"Обнаружено использование чит-программ {ff0000}(#Rapid)"), KickNew(playerid);
        
    shotTime[playerid] = gettime()+30;//30 - число секунд, после которых проверка вновь сработает

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. #5
    Аватар для Kenny_Dalglish
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    24.02.2014
    Сообщений
    179
    Репутация:
    -1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    if(weaponid != 38 && gettime() >= shotTime[playerid]
    {
        if((
    gettime() - (shotTime[playerid]-30)) < 1shot[playerid] += 1;//30 - число секунд, после которых проверка вновь сработает (зависит от значения ниже)
        
    else shot[playerid] = 0;
        if(
    shot[playerid] > 10SendClientMessage(playerid,COLOR_ARPCVET228"Обнаружено использование чит-программ {ff0000}(#Rapid)"), KickNew(playerid);
        
    shotTime[playerid] = gettime()+30;//30 - число секунд, после которых проверка вновь сработает

    Вообще не срабатывает код.

  7. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, скобку то поставить сами догадались?
    Ну и попробуйте вот
    PHP код:
    if(weaponid != 38 && gettime() >= shotTime[playerid])
    {
        if((
    gettime() - (shotTime[playerid]-30)) < && shotTime[playerid]) shot[playerid] += 1;//30 - число секунд, после которых проверка вновь сработает (зависит от значения ниже)
        
    else shot[playerid] = 0;
        if(
    shot[playerid] > 10
        {
            
    SendClientMessage(playerid,COLOR_ARPCVET228"Обнаружено использование чит-программ {ff0000}(#Rapid)"); 
            
    KickNew(playerid);
            return 
    1;
        }
        
    shotTime[playerid] = gettime()+30;//30 - число секунд, после которых проверка вновь сработает

    - - - Добавлено - - -

    Так, стоп... Чем вообще флудит? И что за KickNew?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. #7
    Аватар для Kenny_Dalglish
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    24.02.2014
    Сообщений
    179
    Репутация:
    -1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Эмм, скобку то поставить сами догадались?
    Ну и попробуйте вот
    PHP код:
    if(weaponid != 38 && gettime() >= shotTime[playerid])
    {
        if((
    gettime() - (shotTime[playerid]-30)) < && shotTime[playerid]) shot[playerid] += 1;//30 - число секунд, после которых проверка вновь сработает (зависит от значения ниже)
        
    else shot[playerid] = 0;
        if(
    shot[playerid] > 10
        {
            
    SendClientMessage(playerid,COLOR_ARPCVET228"Обнаружено использование чит-программ {ff0000}(#Rapid)"); 
            
    KickNew(playerid);
            return 
    1;
        }
        
    shotTime[playerid] = gettime()+30;//30 - число секунд, после которых проверка вновь сработает

    - - - Добавлено - - -

    Так, стоп... Чем вообще флудит? И что за KickNew?
    Скобку, поставил сам. Флудит сообщением SendClientMessage(playerid,COLOR_ARPCVET228, "Обнаружено использование чит-программ {ff0000}(#Rapid)"); т.к сам колэбек вызывается при каждом выстреле. KickNew это что бы успевало доставлять сообщение.
    PHP код:
    stock KickNew(playerid)
    {
        
    SetTimerEx("KickPublic"1000false"d"playerid);
        
    SetPVarInt(playerid"kicked"1);
        return 
    true;

    PHP код:
     forward KickPublic(playerid);
    public 
    KickPublic(playerid)
    {
        if(
    IsPlayerConnected(playerid))
        {
            
    ResetPlayerWeapons(playerid);
            
    DeletePVar(playerid"kicked");
             
    Kick(playerid);
        }


  9. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Во 1:
    PHP код:
    stock KickNew(playerid)
    {
        if(
    GetPVarInt(playerid"kicked")) return 1;
        
    SetTimerEx("KickPublic"1000false"d"playerid);
        
    SetPVarInt(playerid"kicked"1);
        return 
    true;

    Во вторых:
    PHP код:
    if(weaponid != 38

        if(
    GetPVarInt(playerid"kicked")) return 0;
        if((
    gettime() - shotTime[playerid]) < 1shot[playerid] += 1
        else 
    shot[playerid] = 0
        if(
    shot[playerid] > 10SendClientMessage(playerid,COLOR_ARPCVET228"Обнаружено использование чит-программ {ff0000}(#Rapid)"), KickNew(playerid); 
        
    shotTime[playerid] = gettime(); 

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  10. #9
    Аватар для Kenny_Dalglish
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    24.02.2014
    Сообщений
    179
    Репутация:
    -1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Во 1:
    PHP код:
    stock KickNew(playerid)
    {
        if(
    GetPVarInt(playerid"kicked")) return 1;
        
    SetTimerEx("KickPublic"1000false"d"playerid);
        
    SetPVarInt(playerid"kicked"1);
        return 
    true;

    Во вторых:
    PHP код:
    if(weaponid != 38

        if(
    GetPVarInt(playerid"kicked")) return 0;
        if((
    gettime() - shotTime[playerid]) < 1shot[playerid] += 1
        else 
    shot[playerid] = 0
        if(
    shot[playerid] > 10SendClientMessage(playerid,COLOR_ARPCVET228"Обнаружено использование чит-программ {ff0000}(#Rapid)"), KickNew(playerid); 
        
    shotTime[playerid] = gettime(); 

    Функция кика работает все нормально зачем мне ей переделывать?

  11. #10
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Kenny_Dalglish Посмотреть сообщение
    Функция кика работает все нормально зачем мне ей переделывать?
    Потому что если часто вызывать этот паблик - каждый раз будет создаваться таймер, не? -_-
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

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

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

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

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

Ваши права

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