Курка на карті cs_italy
Примітка: ми розповімо про «пристрій» курки такий, тобто. так, як це зроблено на картіCS_ITALY. Цей метод має кілька недоліків, про які ми розповімо наприкінці статті.
1. Створення курки (як cs_italy)
Курка наcs_italyє моделлю (файл*.mdl). Моделі на карту вставляються за допомогою об'єктаcycler. Раніше, коли даного об'єкта не було, моделі вставлялися через об'єктcycler_sprite, який взагалі призначений для вставки спрайтів. Ми вирішили робити курку «як є», тому використовуватимемоcycler_sprite.
Проблема з куркою полягає в її вбивстві :) При відправленні курки в інший світ, вона повинна зникнути, видати передсмертний звук і випустити пару пір'їнок - всього цього модель робити не вміє. Модель просто стоїть на карті, вона може бути застрелена, вона може випустити пір'їнки, вона може видавати звуків.
Ось, як влаштовано вбивство курки
Насправді гравець не вбиває курку (привіт GreenPeace:). Він стріляє в невидимий об'єкт, що розбиваєтьсяfunc_breakable. Цей об'єкт розташований у тому місці, де й курка.
Від руйнування невидимогоfunc_breakableактивуються одразу 3 ентити-об'єкта, т.к. усі вони мають однакове ім'я.
- Активуєтьсяenv_render, який робить курку-модель невидимою
- Активуєтьсяenv_shooter, який викидає пір'я (теж моделі)
- Активуєтьсяambient_generic(тобто лунає передсмертний крик курки)
З початком нового раунду курка не стане знов видимою! Її необхідно зробити відмією за допомогою іншого об'єктаenv_render. НаCS_ITALYцей другийenv_renderактивується тригером,розташованим з урахуванням контров. При народженні на початку раунду контри пробігають через тригер, і курка знову оживає (стає видимою).
На малюнку нижче показано розташування об'єктів.

Чорний виділений жовтою рамкою кубик – це курка. Усередині курки розташований об'єкт, що розбивається невидимий у грі (CS_ITALY).
Зверху курки знаходитьсяenv_shooter. Цей об'єкт викидає пір'я від курки. Справа внизу розташований звук (CS_ITALY), який лунає при вбивстві курки.
Зліва від курки розташовані 2 об'єктиenv_render. Один з них робить курку невидимою, інший навпаки видимою.
На нашій тестовій карті так само, як і наCS_ITALY, є ще один об'єкт - цеtrigger_multiple. Цей тригер, будучи активованим гравцями, запускає другийenv_render, який робить курку видимою.

Repeatable- дозволяє активувати env_shooter багаторазово
Medium Radius- середній радіус поширення звукуNot Toggled- Грає 1 раз (потім його необхідно активувати повторно)
2. Недоліки методу
За деяких обставин курка може не з'явиться на початку раунду, або вона може стати невбивною!
Вся справа в тригеріtrigger_multiple, у якого встановлено час обнулення в 180 секунд. Автор карти розраховував на те, що в середньому раунд триває 3 хвилини або 180 секунд. Але всім відомо, що раунд може бути і 30-секундним, а може тривати більше 3 хвилин.
Якщо Ви вб'єте курку і раунд закінчиться швидше за 3 хвилини, то в наступному раунді курки не буде!
- Гравець вбиває курку
- Раунд закінчується швидше за 3 хвилини, отже, тригер не встигає обнулитися (не закінчилися 180 секунд)
- У наступному раунді гравці пробігають через тригер, але він ще не працює, отже курка залишається невидимою!
- Гравець вбиває курку
- Проходить 3 хвилини, тригер знову може активувати появу курки
- Гравець пробігає через тригер, курка стає видимою
- Але оскільки об'єкт func_breakable вже був розбитий, то курка стає невбивною до кінця раунду!