Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Взрыв гранаты через некоторое время
BarD Дата: Четверг, 12.02.2015, 13:10:17 | Сообщение # 1
Сообщений: 943
Репутация: 137 [ +/- ]
Все знают, что граната взрывается через некоторое время после броска. Как узнать и изменить это время (желательно через оффсет)?
Пробовал такие оффсеты:
Цитата
m_flDissolveStartTime
m_flDetonateTime
m_flSimulationTime
m_flWarnAITime
m_flGroundChangeTime
m_flLocalTime

Эффекта никакого... Помогите, кто знает.
 
Sallcom Дата: Четверг, 12.02.2015, 21:07:57 | Сообщение # 2
Сообщений: 205
Репутация: 31 [ +/- ]
Вот плагин:
https://forums.alliedmods.net/showthread.php?p=1989016
 
BarD Дата: Пятница, 13.02.2015, 13:21:05 | Сообщение # 3
Сообщений: 943
Репутация: 137 [ +/- ]
Спасибо, очень помогло!
Из этого плагина выдернул такой код:

Код

//Где нам нужно остановить течение времени гранаты
SetEntProp(ent, Prop_Data, "m_nNextThinkTick", -1); //ent - индекс гранаты
new ref = EntIndexToEntRef(ent); //Переводим индекс в ref (Не знаю, зачем это, но нужно)
CreateTimer(3.0, TimerDelay, ref);

public Action:TimerDelay(Handle:timer, any:ref)
{
    new ent = EntRefToEntIndex(ref); //Переводим обратно
    if ( ent != INVALID_ENT_REFERENCE ) //Если перевелось и все норм
  {
   SetEntProp(ent, Prop_Data, "m_nNextThinkTick", 1); //Продолжаем таймер гранаты
   SetEntProp( ent, Prop_Data, "m_takedamage", 2 );  //Взрываем гранату, нанося ей дамаг
   SetEntProp( ent, Prop_Data, "m_iHealth", 1 );
   SDKHooks_TakeDamage(ent, 0, 0, 1.0);
  }  
}
 
_R1KO_ Дата: Пятница, 13.02.2015, 23:52:20 | Сообщение # 4
Сообщений: 200
Репутация: 30 [ +/- ]
Цитата BarD ()
new ref = EntIndexToEntRef(ent); //Переводим индекс в ref (Не знаю, зачем это, но нужно)

Затем, что за время пока будет идти таймер entity может исчезнуть и создаться новая, с таким же индексом но это будет уже совсем другой объект. Поэтому передается не индекс, а ссылка. Это подобно работе с user id игрока.
 
  • Страница 1 из 1
  • 1
Поиск: