Модуль Hamsanwich ( ЧАСТЬ 2) :), Блокирование игровых событий |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Модуль Hamsanwich ( ЧАСТЬ 2) :), Блокирование игровых событий |
Empower
|
19.2.2009, 16:46
Сообщение
|
|
|
Читайте эту тему только если вы освоили Модуль Hamsandwich ( Часть 1) :), иначе врядли сможете понять что здесь к чему...
Возьмем рассмотрим любой зомби мод, как вы думаете так там сделали, что когда зомби режет челевека то он не умирает, и даже не теряет здоровье, веть в коде кс прописано именно так... Наверно, вы уже догадались, по название темы, что это делается с помощью Hamsandwich. Дело в том, что этот модуль может не только отслеживать игровые события но и блокировать их, заменять их вашими.. Щяс а вам покажу как это делать: Сделаем небольшой плагин. Суть плагина: с этим плагином когда стреляют в админа у него не снимается хп...( проще сказть god для админа) Код #include <amxmodx> Мы зарегистрировали событие - урон это Ham_TakeDamage, думаю все тонкости такого дела вы уже знаете с Модуль Hamsandwich ( Часть 1) :).Так что дальше:#include <amxmisc> public plugin_init() { register_plugin("Admin GOD","1.0","Empower"); RegisterHam(Ham_TakeDamage, "player", "block_hp"); } public block_hp(jertva, orujie, killer, uron) { // ЗДЕСЬ БУДЕМ ПИСАТЬ КОД ДАЛЬШЕ } Код #include <amxmodx> #include <amxmisc> public plugin_init() { register_plugin("Admin GOD","1.0","Empower"); RegisterHam(Ham_TakeDamage, "player", "block_hp"); } public block_hp(jertva, orujie, killer, uron) { if(is_user_admin(jertva)) // если жертва админ return HAM_SUPERCEDE; // заблокировать событие урона return HAM_IGNORED; // в другом случае сделать все нормально как в кс } Вот и все! так то просто. Надо запомните всего то 2 процедурки: return HAM_SUPERCEDE - Полностью блокирует событие, здесь ето урон. return HAM_IGNORED - Продолжить выполнение события в нормально режиме (как сделали в кс разработчики). Приятного использование!!! Если вам помогло - кликните на спасибки!!
Отредактировал: Empower, - 17.3.2009, 21:41
|
Поблагодарили 25 раз
|
|
Fedcomp
|
19.2.2009, 16:56
Сообщение
|
|
|
Как ты все просто и подробно объясняешь :)
Напиши полный список ловушек hamsandswitch |
|
|
|
Empower
|
19.2.2009, 18:55
Сообщение
|
|
|
Цитата Напиши полный список ловушек hamsandswitch он есть здесь Модуль Hamsandwich ( Часть 1) :) там самые основные. Написать все? хотя врядли ты теми другими(не основными) хоть раз возпользуешся:) И еще говори не ловушки, а события или ивенты ато мне тя трудновато понять =) Цитата А можно ли применять событие Ham_TakeDamage к определенному объекту (entity) или же это применимо только к игрокам? Допустим игрок стреляет по определенному объекту. Будет ли в таком случае срабатывать функция block_hp если все записать как в приведенном плагине? конешно можна... но токо к func_breakable(они могут принимать урон)... или к зделаным другими плагинами обектов например: func_rope, lasermine и т д... просто пока я не обяснил ентити про них писать не буду ибо народ не поймёт, может запутатса :) В плагине вместо player напиши нужный тебе тип ентити.. и убери проверку на админку все заработает... Цитата Как ты все просто и подробно объясняешь Приятно слишать :) УРРААААААААА СПАСИБА АДМИНАМ МНЕ СНЯЛИ ПРЕДУПРЕЖДЕНИЯ !!!!!!!!!!!!!!!!!!!!!!!!!!!
Отредактировал: Empower, - 19.2.2009, 19:05
|
Поблагодарили 5 раз
|
|
Fedcomp
|
19.2.2009, 19:04
Сообщение
|
|
|
поржал, написал небольшой плагинчик когда игрок бросает оружие ему проигрывается звук "Ой мне же плохо!!!" :biggrin:
Отредактировал: Fedcomp, - 19.2.2009, 19:05
|
|
|
|
Empower
|
19.2.2009, 19:26
Сообщение
|
|
|
|
Поблагодарили 1 раз
|
|
Fedcomp
|
19.2.2009, 19:41
Сообщение
|
|
|
Было бы интересно если ты бы написал статью про работу с языками, а то я как то "плаваю"
|
Поблагодарили 1 раз
|
|
Fedcomp
|
19.2.2009, 20:32
Сообщение
|
|
|
да я пробовал у меня почему то вечно ml:notfound
|
|
|
|
GUNNER
|
22.2.2009, 23:06
Сообщение
|
![]() |
Поставил "func_breakable" - заработало, спасибо :)
|
|
|
|
Empower
|
17.3.2009, 21:47
Сообщение
|
|
|
Как ты все просто и подробно объясняешь :) Напиши полный список ловушек hamsandswitch Список событий Hamsandwich |
Поблагодарили 2 раз
|
|
Gfx
|
26.3.2010, 8:37
Сообщение
|
![]() |
у меня такой вопрос, я вставил в исходник лазера только
Код RegisterHam(Ham_TakeDamage, "lasermine", "block_teamattack"); будет ли лазер ломаться от товарищей по команде? |
|
|
|
![]() ![]() |