 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Анти-баннихоп
| |
| 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 раз. Почему ? как это время вычитываеться.. И реально ли узнать сколько раз игрок нажал nCode 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, для РП. т.е. ты утверждаешь, что человек не сможет сделать в реальности несколько прыжков подряд? тогда как дети в школе норматив на тройной прыжок сдают?!
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| 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; } }
|
| |
|
|
|
 |
|
 | |
| |
|