AMX MOD X
Суббота, 20.04.2024, 16:22:56



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Скрипты » События DeathMsg и Damage (описание + тестовый скрипт)
События DeathMsg и Damage
slogicДата: Четверг, 21.12.2006, 17:39:45 | Сообщение # 1
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Сообщение "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
}

Более полноценный скрипт можете скачать ниже.

Прикрепления: 14035057.rar (2.2 Kb)


Сообщение отредактировал slogic - Понедельник, 12.03.2007, 11:50:37
 
AlModДата: Четверг, 21.12.2006, 17:50:06 | Сообщение # 2
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Можно добавить информацию про хедшот.
и то что iVictim это и есть id.
trigger_hurt - это не обязательно АирСтрайк. Это может быть ну к примеру удар током от рельс, или игрок задохнулся в воде. ну наподобие wink


 
VENДата: Пятница, 29.12.2006, 17:57:39 | Сообщение # 3
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Quote
// игрок убил себя с пом. команды "kill" (суицид)
Точнее: суицид любого вида ("kill", "grenade"), либо pfnClientKill

Quote
то что iVictim это и есть id
Не верно, в данном случае id == 0, т.к. DeathMsg - global event.

 
AlModДата: Суббота, 30.12.2006, 04:46:44 | Сообщение # 4
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Точняк... wacko

 
slogicДата: Пятница, 09.03.2007, 11:48:23 | Сообщение # 5
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Обновлено. Добавлен полноценный скрипт.
 
AMX Mod X Форум » Скриптинг » Скрипты » События DeathMsg и Damage (описание + тестовый скрипт)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024