10:13
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: AXE, Weddew  
Анти-баннихоп
Fus1Дата: Суббота, 25.06.2011, 14:29 | Сообщение # 1
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Вообщем , давняя проблема, нашёл не так давно код который делал давно, и вспомнил что проблема так и не была решена, кто может подсказать в чём ошибка, указать или дать другой код, прошу за "+" и за награду.

Code
new BunnyHoppingTime[MAX_PLAYERS]; //Для Анти-Баннихопа
new BunnyHoppingPunTime[MAX_PLAYERS]; //Время, на сколько игрок заморожен за баннихопин


в таймер
Code
if(BunnyHoppingTime[i] > 0)
{
BunnyHoppingTime[i] --;
}
if(BunnyHoppingPunTime[i] > 0)
{
BunnyHoppingPunTime[i] --;
if(BunnyHoppingPunTime[i] == 0)
{
TogglePlayerControllable(i,1);
}


public onplayerkeystatechange
Code
if(newkeys & KEY_JUMP || (newkeys & KEY_SPRINT && newkeys & KEY_JUMP))
{
if(!IsPlayerInAnyVehicle(playerid))
{
if(BunnyHoppingTime[playerid] > 15)
{
BunnyHoppingPunTime[playerid] = 15; //секунды на сколько заморозит
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,COLOR_LIGHTRED," На нашем сервере баннихоп запрещен, тебя заморозило на 15 секунд");
}
BunnyHoppingTime[playerid] += 5;
}
}


Проблема в том что когда игрок нажимает допустим 4-5 раз, его морозит, всё в порядке, но после этого когда его разморозило, стоит нажать 1-2 раза и опять морозит, если пройдёт допустим 5 минут , то снова нужна нажать 4-5 раз. Почему ? как это время вычитываеться..
И реально ли узнать сколько раз игрок нажал
n
Code
ewkeys & KEY_JUMP || (newkeys & KEY_SPRINT && newkeys & KEY_JUMP

то есть допустим поставить 10 и если игрок нажал больше 10 раз то его замораживаем..
Так-же как можно сделать допустим чтобы если игрок нажал 4-5 раз (по данному коду) ему сначала выводим "Банихоп запрещён" , если нажал ещё пару раз то тогда уже морозим, ну тут же опять я считаю нужно вычислять сколько раз нажал игрок кнопку.

Добавлено (25.06.2011, 14:29)
---------------------------------------------
UP!!!!

HELKERNДата: Суббота, 25.06.2011, 15:04 | Сообщение # 2
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 767
Награды: 17
Город: Улан-Удэ
Репутация: 206
Замечания: 0%
Статус:
Ужас, всё просто же

Обнуляешь BunnyHoppingTime[playerid] после выполнения условия if(BunnyHoppingTime[playerid] > 15)

Fus1Дата: Суббота, 25.06.2011, 17:27 | Сообщение # 3
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
И реально ли узнать сколько раз игрок нажал

newkeys & KEY_JUMP || (newkeys & KEY_SPRINT && newkeys & KEY_JUMP



Сообщение отредактировал Fus1 - Суббота, 25.06.2011, 17:28
SanSayДата: Суббота, 25.06.2011, 19:22 | Сообщение # 4
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
Fus1,
я чесно гря вообще не понимаю как этот код работает, если проверяется время заморозки, а не колво нажатий этой комбинации
я так полагаю должно быть ченить в этом духе

newkeys & KEY_JUMP || (newkeys & KEY_SPRINT && newkeys & KEY_JUMP
hop++;
if(hop > 10)
BunnyHoppingPunTime[playerid] = 15; //секунды на сколько заморозит
TogglePlayerControllable(playerid,0);
SendClientMessage(playerid,COLOR_LIGHTRED," На нашем сервере баннихоп запрещен, тебя заморозило на 15 секунд");
hop = 0;

таймер оставляешь свой

вот и все, морозить будет только после 10 нажатий.



simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
stepmexДата: Суббота, 25.06.2011, 20:17 | Сообщение # 5
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
А накой это надо?


И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
Fus1Дата: Суббота, 25.06.2011, 20:53 | Сообщение # 6
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
SanSay, спасибо.
stepmex, для РП.

AlcoholikДата: Суббота, 25.06.2011, 20:55 | Сообщение # 7
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Quote (stepmex)
А накой это надо?

антибаннихоп? Чтобы люди не прыгали для увеличения скорости передвижения



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
Fus1Дата: Суббота, 25.06.2011, 20:56 | Сообщение # 8
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Тему прошу оставить открытой , как проверю то что написал SanSay ,отпишусь.
FLIPPIДата: Суббота, 25.06.2011, 21:16 | Сообщение # 9
Новенький
Группа: Пользователи
Сообщений: 50
Награды: 1
Город: Москва
Репутация: 32
Замечания: 0%
Статус:
Quote (SanSay)
newkeys & KEY_JUMP || (newkeys & KEY_SPRINT && newkeys & KEY_JUMP hop++; if(hop > 10) BunnyHoppingPunTime[playerid] = 15; //секунды на сколько заморозит TogglePlayerControllable(playerid,0); SendClientMessage(playerid,COLOR_LIGHTRED," На нашем сервере баннихоп запрещен, тебя заморозило на 15 секунд"); hop = 0;

Может я не прав. Прыгнул он 1 раз, hop стало равной 1, потом из функции выходит, прыгнул еще, hop снова 1?
Да и если в предположении выше я ошибся, ну или сделать массив , то, к примеру, за час напрыгает он 10 раз, и заморозит его, хотя не баннихоп

SanSayДата: Суббота, 25.06.2011, 21:33 | Сообщение # 10
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
FLIPPI, да, ты не прав, прыгнул 1 раз hop стал ++, т.е. увеличился на одну единицу, прыглул второй раз, увеличился еще на 1 ед., т.е. стало уже 2, когда дойдет до 10 накажет, единственное что я там не дописал, что нужно еще сделать сброс hop через опред. время... ну там через минуту или 5, а то за час/два полюбой 10 прыжков наберется без всяких банихопов.

П.С. хотя идея по моему бред, хоть РП это мод хоть нет, кому плохо от того, что чел чуть быстрее бежит... единственное где плохо - это если какие нить забеги на перегонки устраивать.



simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
AlcoholikДата: Суббота, 25.06.2011, 22:42 | Сообщение # 11
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Quote (SanSay)
hop++; if(hop > 10)

массив только надо или pvar, потому что если одновременно прыгнут 10, то сработает сразу защита



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
stepmexДата: Воскресенье, 26.06.2011, 00:28 | Сообщение # 12
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Quote (RoACh)
антибаннихоп? Чтобы люди не прыгали для увеличения скорости передвижения
спасибо я знаю что это ещё со времен когда задрачивался в КС.
Quote (Fus1)
stepmex, для РП.
т.е. ты утверждаешь, что человек не сможет сделать в реальности несколько прыжков подряд?
тогда как дети в школе норматив на тройной прыжок сдают?! asd



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
HELKERNДата: Воскресенье, 26.06.2011, 04:48 | Сообщение # 13
Уважаемый человек
Группа: I'm V.I.P.
Сообщений: 767
Награды: 17
Город: Улан-Удэ
Репутация: 206
Замечания: 0%
Статус:
SanSay, у него уже есть счетчик, только он увеличивает не на 1, а на 5. И если у него заморозка совершается при >15, то значит за 4 прыжка. И тут надо создавать массив, с MAX_PLAYERS(ну или что там у вас) количеством ячеек, потому что при одновременном выводе антиБХ для многих будут проблемы

Quote (stepmex)
т.е. ты утверждаешь, что человек не сможет сделать в реальности несколько прыжков подряд?
тогда как дети в школе норматив на тройной прыжок сдают?!

Перед этим они разминаются, потом отдыхают. А в игре этот прыжок совершает и как ни в чем не бывало дальше прыгает(на такую же длинную дистанцию)

SanSayДата: Воскресенье, 26.06.2011, 10:41 | Сообщение # 14
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
массив, массив конечно нужно hop[MAX_PLAYERS]
hop[playerid]++; if(hop[playerid] > 10)



simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
Fus1Дата: Среда, 29.06.2011, 00:53 | Сообщение # 15
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
так, всё правильно ?

// в таймер
Code
if(BunnyHoppingTime[i] > 0)
{
         if(--BunnyHoppingTime[i] == 0)  BunnyHoppingWarning[i] = false;
}
   
if(BunnyHoppingPunTime[i] > 0)
{
         if(--BunnyHoppingPunTime[i] == 0) TogglePlayerControllable(i,1);
}


//public onplayerkeystatechange
Code
if(newkeys & KEY_JUMP || (newkeys & KEY_SPRINT && newkeys & KEY_JUMP))
{
         if(!IsPlayerInAnyVehicle(playerid))
         {
                 if(BunnyHoppingTime[playerid] > 15)                             //      Если достигнут лимит прыжков за данный промежуток времени
                 {
                         BunnyHoppingTime[playerid] = 0;                         //      Сбросим счетчик
                         if(BunnyHoppingWarning[playerid])                       //      Если игрок уже получил предупреждение
                         {
                    BunnyHoppingPunTime[playerid] = 15;     //      Заморозим на 15 секунд
                    TogglePlayerControllable(playerid,0);
                    SendClientMessage(playerid,COLOR_LIGHTRED,"На нашем сервере баннихоп запрещен, тебя заморозило на 15 секунд");
                    BunnyHoppingWarning[playerid] = false;  //      Обнулим предупреждение
                         }
                         else                    //      Если еще не предупрежден
                         {
                    BunnyHoppingWarning[playerid] = true;   //      Предупредим
                    SendClientMessage(playerid,COLOR_LIGHTRED,"На нашем сервере баннихоп запрещен. В следующий раз вы будете заморожены");
                         }
                 }
                 else
                 BunnyHoppingTime[playerid] += 5;
         }
}

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua