Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Событие убийства с HE гранаты

[РЕШЕНО]
Статус пользователя ThisIsSparta
сообщение 18.5.2015, 12:46
Сообщение #1
Стаж: 11 лет

Сообщений: 566
Благодарностей: 307
Полезность: 600

Здравствуйте.
Столкнулся с такой проблемкой. Пытаюсь отловить событие убийства с гранаты, но почему-то не получается.
Делаю через функцию get_user_weapon, id оружия брал отсюда amxxmodx.ru

Код:

//HE не работает
if(get_user_weapon(attacker) == 4)
{
UserData[id][BONUS] += bonus_he
PrintChatColor(attacker, _, "Вы получили %d бонусов, всего у вас %d бонусов.", bonus_he, UserData[id][BONUS])
}

//С ножа работает
if(get_user_weapon(attacker) == 29)
{
UserData[id][BONUS] += bonus_knife
PrintChatColor(attacker, _, "Вы получили %d бонусов, всего у вас %d бонусов.", bonus_knife, UserData[id][BONUS])
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя csnet
сообщение 18.5.2015, 12:52
Сообщение #2
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

ham_killed
pev_inflictor


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ThisIsSparta
сообщение 18.5.2015, 13:01
Сообщение #3
Стаж: 11 лет

Сообщений: 566
Благодарностей: 307
Полезность: 600

Цитата(csnet @ 18.5.2015, 13:52) *
ham_killed
pev_inflictor


не совсем понял, не могли бы пояснить? особенно про pev_inflictor, это что?)

А ham_killed использую, вот вся ф-ция
Код:

/*Сделал килл*/
public ham_player_kill(victim, attacker)
{
new id = attacker
if(!is_user_connected(victim) || !is_user_connected(attacker) || attacker == victim)
return HAM_IGNORED;
if(get_user_weapon(attacker) == 28)
UserData[id][AK_kill]++
if(get_user_weapon(attacker) == 22)
UserData[id][M4A1_kill]++
if(get_user_weapon(attacker) == 18)
UserData[id][AWP_kill]++
if(get_user_weapon(attacker) == 4)
{
UserData[id][BONUS] += bonus_he
PrintChatColor(attacker, _, "Вы получили %d бонусов, всего у вас %d бонусов.", bonus_he, UserData[id][BONUS])
}

if(get_user_weapon(attacker) == 29)
{
UserData[id][BONUS] += bonus_knife
PrintChatColor(attacker, _, "Вы получили %d бонусов, всего у вас %d бонусов.", bonus_knife, UserData[id][BONUS])
}
return HAM_IGNORED;
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя simba
сообщение 18.5.2015, 13:20
Сообщение #4
Стаж: 11 лет

Сообщений: 132
Благодарностей: 45
Полезность: 236

отлавливай через client_death ( killer, victim, wpnindex, hitplace, TK )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 18.5.2015, 13:29
Сообщение #5
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Склад кода - Получить оружие киллера в Ham_Killed.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 18.5.2015, 13:37
Сообщение #6


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Код
public client_death(killer, victim, wpnindex)
{
    if(!is_user_alive(killer))
    return PLUGIN_HANDLED

    if(wpnindex == 4)
    {
               бла-бла-бла


П.С. так как у тебя много if - замени их на switch


Код:

public client_death(killer, victim, wpnindex)
{
if(!is_user_alive(killer))
return PLUGIN_HANDLED

switch(wpnindex)
{
case 4:
{
UserData[killer][BONUS] += bonus_he
PrintChatColor(killer, _, "Вы получили %d бонусов, всего у вас %d бонусов.", bonus_he, UserData[killer][BONUS])
}
case 28: UserData[killer][AK_kill]++
case 22: UserData[killer][M4A1_kill]++
case 18: UserData[killer][AWP_kill]++
и т д ..




поправил id/attacker на killer

Отредактировал: ssx, - 18.5.2015, 13:45


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 18.5.2015, 13:52
Сообщение #7
Стаж: 13 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

Почему ты проверяешь что у него "в руках"? Когда игрок убивает с гранаты у него может быть "в руках" что угодно (хоть нож).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ThisIsSparta
сообщение 18.5.2015, 14:04
Сообщение #8
Стаж: 11 лет

Сообщений: 566
Благодарностей: 307
Полезность: 600

Цитата(Safety1st @ 18.5.2015, 14:29) *
Склад кода - Получить оружие киллера в Ham_Killed.


чтобы я еще понимал что Вы там написали) сложновато, буду разбираться


Цитата(ssx @ 18.5.2015, 14:37) *
Код:

public client_death(killer, victim, wpnindex)
{
if(!is_user_alive(killer))
return PLUGIN_HANDLED

switch(wpnindex)
{
case 4:
{
UserData[killer][BONUS] += bonus_he
PrintChatColor(killer, _, "Вы получили %d бонусов, всего у вас %d бонусов.", bonus_he, UserData[killer][BONUS])
}
case 28: UserData[killer][AK_kill]++
case 22: UserData[killer][M4A1_kill]++
case 18: UserData[killer][AWP_kill]++
и т д ..


спасибо, воспользуюсь этим решением


Цитата([WPMG]PRoSToTeM@ @ 18.5.2015, 14:52) *

Почему ты проверяешь что у него "в руках"? Когда игрок убивает с гранаты у него может быть "в руках" что угодно (хоть нож).



вот только сейчас осознал, спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: