События DeathMsg и Damage
|
|
slogic | Дата: Четверг, 21.12.2006, 17:39:45 | Сообщение # 1 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Сообщение "DeathMsg" рассылается сервером всем клиентам в момент смерти одного из игроков. Т.о. событие глобальное. Самое забавное заключается в том, что это событие рассылается до отправки события Damage при критическом уроне. Иногда (полагаю под CS/CZ) событие DeathMsg не рассылается вообще, не смотря на наличие критического (урон, после которого умер игрок) Damage события. Регистрация события: Code | public plugin_init() { register_event("DeathMsg", "onDeath", "a") } | Обработчик события: Code | public onDeath(id) // ("receiver", "index_of_killer", "index_of_victim", "headshot", "weapon_name") { // id равен 0, т.к. событие глобальное, и его можно вообще не указывать в функции new iKiller = read_data(1) new iVictim = read_data(2) new iHeadShot = read_data(3) new sWeapon[255]; read_data(4, sWeapon, sizeof(sWeapon)-1) if(iKiller == iVictim && equal(sWeapon, "world", 5)) // игрок убил себя с пом. команды "kill" (суицид) if(!iKiller && equal(sWeapon, "world", 5)) // игок разбился, упав на землю с большой высоты if(!iKiller && equal(sWeapon, "trigger_hurt", 12)) // игрока убил объект на карте: // * воздушный удар (airstrike) - damage 5000, dmg_flag = DMG_BURN (8) // * TODO: уточнить для других обектов // NOTE: более подробно смотрите в скрипте, который можете скачать ниже return PLUGIN_CONTINUE } | Более полноценный скрипт можете скачать ниже.
Сообщение отредактировал slogic - Понедельник, 12.03.2007, 11:50:37 |
|
| |
AlMod | Дата: Четверг, 21.12.2006, 17:50:06 | Сообщение # 2 |
Сонный кодер
Группа: Админы
Сообщений: 600
Статус: Не в сети
| Можно добавить информацию про хедшот. и то что iVictim это и есть id. trigger_hurt - это не обязательно АирСтрайк. Это может быть ну к примеру удар током от рельс, или игрок задохнулся в воде. ну наподобие
|
|
| |
VEN | Дата: Пятница, 29.12.2006, 17:57:39 | Сообщение # 3 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Quote | // игрок убил себя с пом. команды "kill" (суицид) | Точнее: суицид любого вида ("kill", "grenade"), либо pfnClientKill Quote | то что iVictim это и есть id | Не верно, в данном случае id == 0, т.к. DeathMsg - global event.
|
|
| |
AlMod | Дата: Суббота, 30.12.2006, 04:46:44 | Сообщение # 4 |
Сонный кодер
Группа: Админы
Сообщений: 600
Статус: Не в сети
| Точняк...
|
|
| |
slogic | Дата: Пятница, 09.03.2007, 11:48:23 | Сообщение # 5 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Обновлено. Добавлен полноценный скрипт.
|
|
| |