Half-Life и Adrenaline Gamer форум

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

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




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Help about laser_tripmine ?
СообщениеДобавлено: 08 июл 2015, 13:51 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
23 апр 2024, 01:07
Сообщения: 1025
Hello, how you can determine the time of the laser mine explosions !

I suffer the problem of excessive use of such mines from players

Thanks in advance!

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 08 июл 2015, 13:59 
Не в сети
Аватара пользователя
Зарегистрирован:
24 ноя 2014, 20:59
Последнее посещение:
27 май 2019, 05:57
Сообщения: 204
Откуда: Other Side
you mean you want to add tripmine health ?

_________________
Charsmax


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 08 июл 2015, 14:16 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
23 апр 2024, 01:07
Сообщения: 1025
No! i mean add time for tripmines laser when used by customers

ex:

if the player used the mine laser will explode after 20 sec

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 09 июл 2015, 00:33 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
22 апр 2024, 13:24
Сообщения: 6867
You will have to write a plugin for that. With either setup Think on the tripmine (keep in mind that right after spawn Think is occupied by PowerUp function so you can't use it at spawn) or by using amxx tasks and give it some damage after that time so it will explode.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 09 июл 2015, 09:16 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
23 апр 2024, 01:07
Сообщения: 1025
Цитата:
amxx tasks

Can you insert specific code would be clearer?

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 09 июл 2015, 11:53 
Не в сети
Аватара пользователя
Зарегистрирован:
24 ноя 2014, 20:59
Последнее посещение:
27 май 2019, 05:57
Сообщения: 204
Откуда: Other Side
this will help you but its the worst way

Код:
new pCvar_Explode_time

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   RegisterHam(Ham_Spawn, "monster_tripmine", "fw_TripmineSpawnPost", 1)
   pCvar_Explode_time = register_cvar("explode_time", "20.0")
}
public fw_TripmineSpawnPost(ent)
{
   if(!pev_valid(ent))
      return
   new get = get_pcvar_float(pCvar_Explode_time)
   set_task(get, "explode_trip", ent)
}
public explode_trip(ent)
{
   new Float: zOrigin[3]
   entity_get_vector(ent, EV_VEC_origin, zOrigin)
   ExplosionCreate(zOrigin, 160.0)
   remove_entity(ent)
}
stock ExplosionCreate(const Float:vecCenter[3], iMagnitude, iFlags = 0, bool:bDoDamage = true, bool:bNoActivate = false)
{
    // env_explosion entities are the ones
    // who creates explosions. So we are available
    // for using this one for creating explosions
    new iEnt = create_entity("env_explosion")
   
    if(!iEnt) // Invalid?
    return 0
   
    // The center of the explosion
    entity_set_origin(iEnt, vecCenter)
   
    // Key values must be only string, so we must
    // convert it from Int to String.
    new szMagnitude[8] // In explode.cpp the char size is 128 lol.
    formatex(szMagnitude, charsmax(szMagnitude), "%3d", iMagnitude) // Exactly as how the engine does it.
    DispatchKeyValue(iEnt, "iMagnitude", szMagnitude) // This will modify m_iMagnitude value.
   
    // In hlsdk_const.inc you can find env_explosion's spawn flags
    if(!bDoDamage) // If you don't want to create a damage sphere, so we must only add this flag.
        entity_set_int(iEnt, EV_INT_spawnflags, iFlags | SF_ENVEXPLOSION_NODAMAGE)
    else
        entity_set_int(iEnt, EV_INT_spawnflags, iFlags) // 3rd parameter flags.
   
    // Applying some pev values, and offset modifications
    DispatchSpawn(iEnt)
   
    if(!bNoActivate)
        force_use(iEnt, iEnt) // The engine doesn't care who used it. Btw, this actives the explosion.
   
    return iEnt
}

Цитата:
Warning: Tag mismatch on line ##

_________________
Charsmax


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 09 июл 2015, 18:32 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
23 апр 2024, 01:07
Сообщения: 1025
Kuma77

beam does not end when the explosion

The explosion leaves many victims when considering only to mine even if it is far away ?

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 10 июл 2015, 03:36 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
I think, you can use Ham_Use for triggering the tripmine. Or Ham_TakeDamage.
If you remove the tripmine manually, you should remove its beam too.

Код:
const m_pBeam = 176

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 10 июл 2015, 05:19 
Не в сети
Аватара пользователя
Зарегистрирован:
24 ноя 2014, 20:59
Последнее посещение:
27 май 2019, 05:57
Сообщения: 204
Откуда: Other Side
about damag , when i add more numbers on "iMagnitude" damage place will short and i think its fixed
you can try with Ham_TakeDamage

i fix it here but damage is high:


Вложения:
Скачать плагин или Скачать исходник [Tripmine_Distroy.sma - 2.16 КБ]
Скачиваний: 281

_________________
Charsmax
Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Help about laser_tripmine ?
СообщениеДобавлено: 10 июл 2015, 05:35 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
22 апр 2024, 13:24
Сообщения: 6867
Most effective and the correct way to detonate tripmine is via Killed method.
Per HLSDK:
Код:
   if (bBlowup)
   {
      // a bit of a hack, but all CGrenade code passes pev->owner along to make sure the proper player gets credit for the kill
      // so we have to restore pev->owner from pRealOwner, because an entity's tracelines don't strike it's pev->owner which meant
      // that a player couldn't trigger his own tripmine. Now that the mine is exploding, it's safe the restore the owner so the
      // CGrenade code knows who the explosive really belongs to.
      pev->owner = m_pRealOwner;
      pev->health = 0;
      Killed( VARS( pev->owner ), GIB_NORMAL );
      return;
   }
To correctly account frags we need to set owner of the tripmine.
Код:
void CTripmineGrenade::Killed( entvars_t *pevAttacker, int iGib )
{
   pev->takedamage = DAMAGE_NO;
   
   if ( pevAttacker && ( pevAttacker->flags & FL_CLIENT ) )
   {
      // some client has destroyed this mine, he'll get credit for any kills
      pev->owner = ENT( pevAttacker );
   }
From this code we can see that Killed function do it if we pass attacker.
So we just need to get m_pRealOwner value from tripmine (offset is here) and call Killed with it.
Код:
class CGrenade : public CBaseMonster
{
   virtual void Killed( entvars_t *pevAttacker, int iGib );

class CTripmineGrenade : public CGrenade
{
Killed is a virtual function so it can be easily called with HAM.


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

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


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

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


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

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