AMX MOD X
Пятница, 19.04.2024, 11:26:20



Приветствую Вас Гость | RSS
[ Главная ] [ Ham Sandwich test для интерфейса первой версии - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Скрипты » Ham Sandwich test для интерфейса первой версии (Скрипт для HS модуля с устаревшим интерфейсом)
Ham Sandwich test для интерфейса первой версии
VENДата: Воскресенье, 18.03.2007, 13:32:35 | Сообщение # 1
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Внимание! Этот скрипт работает только для "Ham Sandwich" модуля с интерфейсом первой версии!

Этот скрипт может пригодиться, если вы хотите протестировать либо сам "бутерброд", либо воспользоваться им и протестировать некоторые события, информацию о которых он предоставляет.

По-умолчанию скрипт рассчитан на CS Mod. Но вы можете заменить массив g_ent_class на список classname'ов вашего HL мода, список можно получить с помощью entity_list_generator.exe (см. подборку файлов), который перед запуском(генерацией) следует поместить в dlls директорию, например valve/dlls. При возникновении проблем исключите из списка g_flTimeLimit.

Примечание: HOOK_CLASSES_OF_EXISTING_ENTS опцию можно заставить работать, "не взирая" на список g_ent_class (следовательно, "модонезависимость"):

  • создаем массив, например на 200 строк
  • в plugin_init "сканим" все существующие entities (max_clients < ent < max_entities)
    • если classname'а текущей entity еще нет в массиве, кешируем его в массив и регистрируем "хуки" "бутерброда" для текущего classname'а
    • иначе обрабатываем следующую entity
Прикрепления: 27559624.zip (2.1 Kb)
 
slogicДата: Среда, 28.03.2007, 11:18:39 | Сообщение # 2
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Нафига тебе такие отступы? Читать результаты невозможно же.

Нашел интересную особенность. Работа с forward функциями отличается от таковой при работе с Engine/DLL функциями. Если сделать HAM_SUPERCEDE, а внутри функции вызвать аналогичную функцию, то она будет отправлена всем плагинам, в том числе и тому, откуда произошел вызов. Поэтому надо обязательно ставить блокиратор в этом случае, чтобы не произошло переполнение стэка.

 
VENДата: Среда, 28.03.2007, 11:50:53 | Сообщение # 3
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Quote
Нафига тебе такие отступы?
Для псевдо-табличного вывода даже максимальных целых значений (например dmg type 10 разрядов max) и максимально длинных строк (classname 25 символов max), причем, на "запас" не оставлял.

Quote
Читать результаты невозможно же.
1280x1024 HLDS (console) максимизированое окно - читается отлично. Делал под себя. :]

Quote
она будет отправлена всем плагинам, в том числе и тому, откуда произошел вызов
Да, автор об этом говорил.

Quote ("hamsandwich.inc")
* Note: For now, this will also intercept calls to hs_use
* that is very likely to change shortly in the future.

 
VENДата: Воскресенье, 23.03.2008, 11:21:40 | Сообщение # 4
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Добавил предупреждение в первый пост: Внимание! Этот скрипт работает только для "Ham Sandwich" модуля с интерфейсом первой версии!

Quote
Если сделать HAM_SUPERCEDE, а внутри функции вызвать аналогичную функцию, то она будет отправлена всем плагинам, в том числе и тому, откуда произошел вызов. Поэтому надо обязательно ставить блокиратор в этом случае, чтобы не произошло переполнение стэка.
По-моему, эта особенность присуща только "Ham Sandwich" модулю с интерфейсом первой версии.
 
slogicДата: Вторник, 01.04.2008, 20:56:49 | Сообщение # 5
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Модуль HS для данного тестового примера можно скачать отсюда:

http://amxmodx.ucoz.ru/load/3-1-0-23

 
AMX Mod X Форум » Скриптинг » Скрипты » Ham Sandwich test для интерфейса первой версии (Скрипт для HS модуля с устаревшим интерфейсом)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024