Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 апр 2024, 22:13

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 09 авг 2023, 23:37 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
19 авг 2023, 05:27
Сообщения: 39
Привет всем

подскажите как можно определить брошенную стандартную гранату? Она вообще имеет класснейм?

и как отловить взрыв и урон от этой гранаты (заменить ей скриптом визуализацию и сам взрыв)? Провбовал менять ее мощь через скиллы, не реагирует, стабильно около 120 бъет...


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 10 авг 2023, 01:30 
Не в сети
Аватара пользователя
Зарегистрирован:
28 июн 2013, 06:53
Последнее посещение:
17 апр 2024, 01:35
Сообщения: 224
Откуда: Белая Церковь
Код:
"ARgrenade", HLW_HANDGRENADE

_________________
Weapon Replacement HL
TimeLeft RUS
Sound Bomb
МультиМод CS 83.222.97.124:27015


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 11 авг 2023, 18:34 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
19 авг 2023, 05:27
Сообщения: 39
можно более подробный код?

важно именно отловить взрыв и задать ему свой кусок кода (изменить его dmg, задать спрайт и добавить осколки - это я все сам сделаю, главное знать куда вставлять код)


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 13 авг 2023, 03:53 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
19 авг 2023, 05:27
Сообщения: 39
MayroN писал(а):
Код:
"ARgrenade", HLW_HANDGRENADE

К слову
RegisterHam ( Ham_TakeDamage, "HLW_HANDGRENADE", "func_handgrenade")

НЕ срабатывает


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 18 авг 2023, 23:27 
Не в сети
AIMaster servers
Аватара пользователя
Зарегистрирован:
15 авг 2011, 18:31
Последнее посещение:
19 апр 2024, 02:44
Сообщения: 223
Откуда: Moscow
Ловить Ham_TakeDamage надо также на класс player, а уже там сначала проверять на inflictor и если они не равен > MAXPLAYERS, смотреть hl_get_weapon_id(entity) == HLW_HANDGRENADE.

_________________
Let's make HL great again! ~


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 19 авг 2023, 03:35 
Не в сети
Зарегистрирован:
07 мар 2013, 20:21
Последнее посещение:
19 авг 2023, 05:27
Сообщения: 39
Safety1st писал(а):
Ловить Ham_TakeDamage надо также на класс player, а уже там сначала проверять на inflictor и если они не равен > MAXPLAYERS, смотреть hl_get_weapon_id(entity) == HLW_HANDGRENADE.

Код:
RegisterHam ( Ham_TakeDamage, "player", "fw_grenade",0);

public fw_grenade(victim, inflicator, attacker, Float:damage){
   new iMonster_name[32];
   entity_get_string( inflicator, EV_SZ_classname,iMonster_name, 12);
        client_print(0, print_chat, "%s", iMonster_name) // знаем теперь что ее класснейм "grenade", но ни как не HLW_HANDGRENADE

   if(equal(iMonster_name,"grenade",11)){
      SetHamParamFloat(4, damage / 2)
   
      if(is_user_connected(victim)){
         new Float:vecangle[3]
         vecangle[0] = random_float(-1*damage,damage)
         vecangle[1] = random_float(-1*damage,damage)
         set_pev(victim,pev_punchangle,vecangle)
         client_cmd(victim, "spk /SpecialForce/contusion");
      }
   }
   
}

Порезали урон в двое и тряханули экран игроку

Момент второй, как отловить сам момент взрыва?

Пробовал через think

Код:
         if (!pev_valid(entity)) return HAM_IGNORED;

         client_print(0, print_chat, "%f", pev(entity, pev_dmgtime)) // проверяем чему равен pev_dmgtime

         if (pev(entity, pev_dmgtime) == 0.0)

но pev_dmgtime всегда равен 0.0, как я понял способ для КС, не для ХЛ


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 26 авг 2023, 02:28 
Не в сети
Аватара пользователя
Зарегистрирован:
28 июн 2013, 06:53
Последнее посещение:
17 апр 2024, 01:35
Сообщения: 224
Откуда: Белая Церковь
Цитата:
Момент второй, как отловить сам момент взрыва?

Метод не достаточно хорош,но - работает )

Код:
public plugin_init()
{
   register_message(SVC_TEMPENTITY,"grenade")
}

public grenade(ent)
{
   while((ent = find_ent_by_class(ent,"grenade")))
   {
      if(get_msg_arg_int(1) != TE_EXPLOSION || pev_valid(ent) == 0)
      return PLUGIN_CONTINUE

      New_Explode_Sprites(ent,get_pcvar_num(Explode_Cvars[2]))

            new Float:origin[3]
            pev(ent, pev_origin, origin);

           message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
           write_byte(TE_BREAKMODEL)
           write_coord_f(origin[0])
           write_coord_f(origin[1])
           write_coord_f(origin[2] += 3.0)    
           write_coord_f(16.0)
           write_coord_f(16.0)
           write_coord_f(16.0)
           write_coord(random_num(-70, 70))
           write_coord(random_num(-70, 70))
           write_coord(0)
           write_byte(10)
           write_short(g_rain_gibs)
           write_byte(20)
           write_byte(100)
           write_byte(0x40)
           message_end()
   }
   return PLUGIN_CONTINUE
}

Вот видео
https://www.youtube.com/watch?v=xHzsuJp1A4I

_________________
Weapon Replacement HL
TimeLeft RUS
Sound Bomb
МультиМод CS 83.222.97.124:27015


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 28 авг 2023, 08:02 
Не в сети
AIMaster servers
Аватара пользователя
Зарегистрирован:
15 авг 2011, 18:31
Последнее посещение:
19 апр 2024, 02:44
Сообщения: 223
Откуда: Moscow
Жаль только, что TE_EXPLOSION вызывается для apache, osprey и crossbow :D

_________________
Let's make HL great again! ~


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 28 авг 2023, 22:22 
Не в сети
Аватара пользователя
Зарегистрирован:
28 июн 2013, 06:53
Последнее посещение:
17 апр 2024, 01:35
Сообщения: 224
Откуда: Белая Церковь
Из за такого метода я и отказался юзать для кс это

Вот на взрыв бомбы в конце раунда

Мессаги грены действуют такие же при взрыве в конце раунда,как и у бомбы

Более того,если раунд закончился и бомба не была установлена и кидать грены,то вообще взрывов нет от гранат

+ к этому всему,если есть кастомные взрывы обьектов ( походу оно будет всё подменять,где есть TE_EXPLOSION )

_________________
Weapon Replacement HL
TimeLeft RUS
Sound Bomb
МультиМод CS 83.222.97.124:27015


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 21 сен 2023, 01:28 
Не в сети
AIMaster servers
Аватара пользователя
Зарегистрирован:
15 авг 2011, 18:31
Последнее посещение:
19 апр 2024, 02:44
Сообщения: 223
Откуда: Moscow
 У меня на тестовом сервере с последними версиями HL, BugfixedHL и AMXX нормально работает:

_________________
Let's make HL great again! ~


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB