|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
Anti Team Attacker
|
|
JohnJ | Дата: Среда, 15.11.2006, 21:42:22 | Сообщение # 1 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| AntiTeamAttacker - плагин, отбивающий охоту стрелять по своим: все жизни, которые игрок отнимает у своих, у них восстанавливаются (если они выжили) и отнимаются у атакующего. Плагин работает на сервере AmxModX v1.60 Если у вас другой - скажите, постараюсь переделать. <csamxmodx> - папка, в которую установлен amxmodx Для установки АнтиТимАттакер надо: 1) скопировать файл antiteamattacker.amxx в папку <csamxmodx>\plugins 2) в файле <csamxmodx>\configs\plugins.ini добавить в конце две строки: ; JohnJ plugins antiteamattacker.amxx ; отучает стрелять по своим файл antiteamattacker.sma - исходник (если недоверяете откомпилированной версии) Автор: JohnJ команды плагина: amx_friendlyfire (0/1) вкл/выкл эффект плагина например: amx_friendlyfire 0 плагин включается (запрет стрелять по своим) amx_friendlyfire 1 плагин выключается (можно стрелять по своим) принимаю пожелания, предложения и критику P.S.: Распростаняется бесплатно. Можете использовать по своему усмотрению. У меня на сервере работает всегда и все только рады
|
|
| |
AlMod | Дата: Четверг, 16.11.2006, 12:22:00 | Сообщение # 2 |
Сонный кодер
Группа: Админы
Сообщений: 600
Статус: Не в сети
| Не рационально. Думаю, необходимо доработать. Во-первых. Есть системная команда "mp_friendlyfire" Во-вторых. Акак насчет хедшота? Например с дробаша или АВП? Надо в момент убийства определять координату игрока, спавнить его, убрать смерть из скореборда, и установить оригин в те координаты Code | get_user_origin(id, origin) set_task(0.01,"spawn(id)") set_user_death(id,get_user_death(id)-1) // Ну наподобие, точной ф-иинепомню set_user_origin(id, origin) |
|
|
| |
JohnJ | Дата: Суббота, 18.11.2006, 21:12:35 | Сообщение # 3 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| Нет, цель этого плагина не продублировать команду mp_friendlyfire, а отучить "нехороших игроков" стерлять по своим от балды, просто так или по ошибке. Но это не значит что они их не могут убить. Могут убить с авп в голову, это ты верно заметил, но от этого умрут сами (отнимут у себя столько же жизней, сколько у него), и в следующем раунде умрут за убийство своего (в зависимости от настроек сервера). Если сделать как ты советуешь, то плагин будет почти-что аналогом mp_friendlyfire и тогда действительна будет нерациональна. Убить своего могут и гранатой и обычным попаданием, если тот был ранен. Но будут стараться этого не делать, так как поплатятся за это своими hp. Особенно смешно смотреть как недавно начавшие играть в кс бегают, начинают стрелять в своего, видят что у них отнимаются жизни, думают что он их в ответ атакует, начинают стрелять ещё метче и умирают... когда их жизни кончаются... атакованный же остаётся со своими 100 hp (если до этого было столько же) и радуется что он не пострадал по вине другого. Умерший в свою очередь поймёт, что своих стрелять нельзя. ) В общем, рекомендую. За критику спасибо, люблю её принимать всегда. Если ты хочешь переделать этот плагин, я не против, но те цели которые я ставил, я достиг.
|
|
| |
AlMod | Дата: Воскресенье, 19.11.2006, 07:16:58 | Сообщение # 4 |
Сонный кодер
Группа: Админы
Сообщений: 600
Статус: Не в сети
| Вау... Мега-отписал Последняя придирка Слышал про АТАС ? Там что-то наподобие
|
|
| |
JohnJ | Дата: Вторник, 21.11.2006, 03:37:33 | Сообщение # 5 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| про АТАС слышал, но то, что там есть подобное не знал ) я думал там только наказания? Надо будет посмотреть... )
|
|
| |
AlMod | Дата: Вторник, 21.11.2006, 06:43:09 | Сообщение # 6 |
Сонный кодер
Группа: Админы
Сообщений: 600
Статус: Не в сети
| там есть cvar наподобие atac_mirror_damage 1 - оч хорошо работает против тупых ботов которые криво кидают грены
|
|
| |
VEN | Дата: Вторник, 21.11.2006, 15:54:55 | Сообщение # 7 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| АТАС сильно "наворочен", поэтому в свое время написал пару простых анти-TK/TA плагинов для своих нужд. Например, "Redirect Bullet on TA" - "перенаправляет" пулю обратно в атакующего товарища. Использую данный плагин с опцией REDIRECT_TO HIT_HEAD, что довольно эффективно, т.к. наказывает и ощутимым уроном и дизориентацией при отсутсвии шлема. Написал данный плагин после того, как на сервере появились личности, которые убивая товарища, не страшились наказания (slay и т.п.) и делали быстрый реконнект. Т.к. основная задача таких вандалов была убить товарища любой ценой, пришлось "перенаправлять" пулю, чтобы уберечь потенциальную жертву и наказать злоумышленника. С гранатами и ножом приходилось не так туго как, например, с автоматом или пулеметом. Данный плагин быстро отучил товарищей от вышеописанных выходок. Надо сказать, что плагин наподобии AntiTeamAttacker им был бы не так страшен.
Сообщение отредактировал VEN - Вторник, 21.11.2006, 16:12:25 |
|
| |
JohnJ | Дата: Вторник, 21.11.2006, 16:08:24 | Сообщение # 8 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| Видимо на вашем сервере больше крайностей, чем на нашем У вас бы не испугались этого плагина, зато есть и супер программист который смог "развернуть пулю" я вот даже не представляю как это можно сделать правильно... только всякими уловками там... В нашей сети мой плагин отучил стрелять по своим (по-крайней мере намеренно). Но ещё раз повторюсь, я писал его не для того, чтобы исключить возможность убийства своих, а именно для того, чтобы "для прикола" по своим не стреляли... или "чтобы отошёл"...
|
|
| |
VEN | Дата: Вторник, 21.11.2006, 16:19:55 | Сообщение # 9 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Хочу сказать, что не пытаюсь сравнивать эти плагины - верно подмечено, каждый хорош при определенных обстоятельствах. Например, на более "цивилизованном" сервере у меня вообще не стоит никаких mirror/redirect damage плагинов, просто Slay/Forgive on TK. Исходный код "Redirect Bullet on TA" я прикрепил в своем предыдущем посте. Все довольно просто - "ловим" TraceLine, пара проверок, пара изменений в структуре перехваченных данных, и товарищ получает свою же пулю. :]
Сообщение отредактировал VEN - Вторник, 21.11.2006, 16:31:50 |
|
| |
JohnJ | Дата: Вторник, 21.11.2006, 16:36:57 | Сообщение # 10 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| Спасибо
|
|
| |
VEN | Дата: Вторник, 21.11.2006, 16:46:35 | Сообщение # 11 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Прочитал исходный код "Anti Team Attacker". Рекомендую добавить Это позволит обладателям AMXX v1.75+ автоматически включать отключенный csx модуль при попытке загрузить данный плагин. Code | new friendlyfirecan = get_cvar_float(FFCAN) | friendlyfirecan - целочисленная переменная get_cvar_float - возвращает дробное число В итоге получаем tag mismatch warning. Правильней было бы использовать get_cvar_num, т.к. friendlyfire имеет "булевый смысл", поэтому float тут не требуется.
|
|
| |
JohnJ | Дата: Вторник, 21.11.2006, 16:52:43 | Сообщение # 12 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| про float: огромное спасибо! сам себе удивляюсь как это я так умудрился уже исправил. про csx: не ставил ещё новый amxx, до сих пор пользуюсь 1.6, так как там есть справка в формате chm. И не использовал ни разу csx (или просто не помню)... Сейчас посмотрел... оказывается там client_damage прописана процедура? даже не знал пропишу...
Сообщение отредактировал JohnJ - Вторник, 21.11.2006, 16:54:39 |
|
| |
VEN | Дата: Вторник, 21.11.2006, 17:18:53 | Сообщение # 13 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Да, client_damage - csx функция, а не выдает "error 017: undefined symbol "client_damage" при "невложенном" csx.inc потому как функция, собвственно, forward типа, не вызывается непосредственно из кода, поэтому компилятор не может определить "недостачу". Quote | не ставил ещё новый amxx, до сих пор пользуюсь 1.6, так как там есть справка в формате chm | Справка для кодера не важна. Я, например, читаю комментарии в "инклудах" - практически тот же function reference. А как устанавливать/удалять/компилировать плагины нужно только начинающему AMXX кодеру.
Сообщение отредактировал VEN - Вторник, 21.11.2006, 17:20:25 |
|
| |
slogic | Дата: Вторник, 21.11.2006, 21:22:20 | Сообщение # 14 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Про friendlyfire. Вообще-то mp_friendlyfire существует не для всех модов. Я пишу пллагины под AMX MOD, так вот там есть vexdum модуль, в котором объявлена своя переменна sv_friendlyfire, которая делает подержку реджима FF более универсальной. Я сделал поиск по бинарникам AMX X, и оказалось, что она объявляется в модуле engine_amxx.dll. Так что осталось проверить состояние sv_friendlyfire при активации mp_friendlyfire (т.е. проверить, синхронизируются ли они). В любом случае однозначное назначение sv_friendlyfire - корректный расчет повреждений при использовании соотв. фукнций модуля. ЗЫ. Походу не синхронизируются.
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |