|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
SN Secure
|
|
JohnJ | Дата: Среда, 15.11.2006, 21:50:22 | Сообщение # 1 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| Плагин запрещает менять ник игрока на сервере любыми командами кроме sname (спасибо VEN-у за помощь в написании этого и остальных плагинов :)) Т.е. плагин - это защита от клиентских команд типа "cmd name lolo" если вы сервер и создали игру через New Game. Чтобы всё работало, необходимо скопировать файл snsecure.amxx в папку %csdir%\addons\amxmodx\plugins где %csdir% - папка, в которой находится контерстрайк, у меня, например, это d:\games\cs\cstrike . Теперь в папке %%csdir%\addons\amxmodx\configs найдите файл plugins.ini, сделайте его копию (!), и только после этого добавьте (не в копию, а в оригиенал) следующие строки: ; JohnJ Plugins snsecure.amxx ; Запрещает менять ник серверному игроку
|
|
| |
VEN | Дата: Вторник, 21.11.2006, 17:36:43 | Сообщение # 2 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Code | warning 217: loose indentation warning 209: function "changesname" should return a value warning 217: loose indentation | Всегда задаюсь вопросом: "что это? - пренебрежение, невнимательность или лень?", когда вижу предупреждения при компиляции плагинов кодеров. Многие считают что warning'и - это не критично. Да, в большинстве случаев так и есть, но может случиться и так, что за "обычным" предупреждением скрывается логическая ошибка в коде, которую компилятор просто не в состоянии распознать. Например, на официальном AMX Mod X форуме плагины, содержащие предупреждения, не будут одобрены approver'ами и, соответственно, не попадут в категорию "Approved Plugins". И это правильно. Для меня, "вид" кода - это в первую очередь "лицо" кодера. И сужу я кодера в первую очередь не по идее, популярности, полезности и работоспособности плагина, а по чистоте, удобочитаемости, оптимизированности кода, а также рациональности и эффективности технических приемов. Опять таки - просьба не принимать близко к сердцу, но задуматься, думаю, стоит. :]
Сообщение отредактировал VEN - Вторник, 21.11.2006, 17:46:28 |
|
| |
slogic | Дата: Вторник, 21.11.2006, 21:05:12 | Сообщение # 3 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Предупреждение identation - это полный идиотизм. Это же не Python! А вот 209 действительно опасная штука. ЗЫ. А почему у .sma файла такое дебильное имя? Это движок форума такой?
|
|
| |
VEN | Дата: Вторник, 21.11.2006, 22:14:02 | Сообщение # 4 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Говоря о предупреждениях, я говрил в общем. Например, некоторые кодеры даже не смотрят на коды/описания предупреждений, просто игнорируют их, мол "warning - не error". Quote | Предупреждение identation - это полный идиотизм | Хорошо, если это единичный безобидый пробел, а если код так и "скачет" туда-сюда, не очень-то приятно будет его читать. Опять таки, исправить предупреждения не долго, но неужели не хочется, чтобы ваше "детище" компилировалось "как по маслу"? ;] Re ЗЫ: да.
|
|
| |
JohnJ | Дата: Среда, 22.11.2006, 01:33:21 | Сообщение # 5 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| Мм дело в том, что я учился на этих плагинах и писал их где-то пол года назад. Потом на лето забросил pawn, так как небыло возможности писать. А сейчас уже не помню что у меня не срасталось и откуда warning-и... Помню я у тебя, VEN, спрашивал что с ними делать на официальном форуме. После этого стараюсь делать так, чтобы копилировалось без warning-ов... Видимо не везде исправил тот раз. Но я конечно задумывался, и ещё более задумаюсь теперь при написании новых плагинов. Спасибо.
|
|
| |
VEN | Дата: Среда, 29.11.2006, 16:53:55 | Сообщение # 6 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Кстати, критика еще не закончилась. Первое: ты не блокируешь сообщение типа "* Name changed name to NewName", следовательно, нет защиты от флуда. Второе: не нужно проверять IP на "loopback" - это непроизводительный метод. Есть такая функция как is_dedicated_server. Что она дает? Возвращает единицу, если сервер выделеный, и ноль - если listenserver (т.е. как раз в твоем случае). ID игрока, создавшего listenserver, будет всегда 1. Т.е. все, что необходимо - это проверить тип сервера и ID. И наконец, третье: технический метод - не лучший, т.е. ты допускаешь смену ника, после чего, возращаешь его прежнее значение, плюс, необходимо блокировать информационное сообщение о смене ника. В то время как существует возможность предупредить смену ника, заблокировав саму попытку, правда, без Fakemeta не обойтись, но зато технически верно. Добавлено (2006-11-29, 4:53 Pm) --------------------------------------------- Если интересует pre hook метод - взгляни на мой No Name Change плагин.
Сообщение отредактировал VEN - Понедельник, 27.11.2006, 23:05:31 |
|
| |
JohnJ | Дата: Вторник, 05.12.2006, 22:52:08 | Сообщение # 7 |
Лейтенант
Группа: Скриптеры
Сообщений: 65
Статус: Не в сети
| Я пробовал так, как ты говоришь, заблокировать попытку смены, но у меня не получалось... ( О фейкмета я тогда и не слышал, а сейчас слышал, но всё-равно для меня это тёмный лес, к сожалению, поэтому не смог и делал как мог. Обязательно посмотрю твой плагин.
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |