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

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

  • Страница 1 из 1
  • 1
Эффект изменение во времени
«SeReGa»☆ Дата: Воскресенье, 01.06.2014, 01:55:03 | Сообщение # 1
Сообщений: 395
Репутация: 37 [ +/- ]
Как сменить некоторые настройки во времени например scale
Код
new Float:Lpos[3];     
         GetEntPropVector(entity, Prop_Send, "m_vecOrigin",Lpos)     
         new backlight = CreateEntityByName("env_sprite");     
         DispatchKeyValue(backlight,"rendermode","5");     
         DispatchKeyValue(backlight,"rendercolor","123 123 123");     
         DispatchKeyValue(backlight,"renderamt","255");     
         DispatchKeyValue(backlight,"scale","0.7");     
         DispatchKeyValue(backlight,"model","sprites/glow01.spr");     
         DispatchKeyValueVector(backlight,"origin",Lpos);     
         DispatchKeyValue(backlight,"spawnflags","64");     
         DispatchSpawn(backlight);     
         SetVariantString("!activator");     
         AcceptEntityInput(backlight,"SetParent",entity,backlight,0);     
         AcceptEntityInput(backlight,"TurnOn");     
         SetVariantString("OnUser1 !self:kill::20.2:1");     
         AcceptEntityInput(backlight,"AddOutput");     
         AcceptEntityInput(backlight,"FireUser1");


Суть в том чтоб через 1 - 2 секунды сменить или изменить scale на -0.1 или на +0.1
и чтоб всё занимало как можно меньше места в .sp

ат я делал 5 эффектов

запускал 1 создавал таймер, по истечению времени таймера удалял эффект под номером 1 и создавал эффект под номером 2 и.т.д ,и так 5 рас ет всё как то не красиво и не оптимально есть иные решения??


Сообщение отредактировал «SeReGa»☆ - Воскресенье, 01.06.2014, 01:57:08
 
BarD Дата: Воскресенье, 01.06.2014, 04:52:07 | Сообщение # 2
Сообщений: 943
Репутация: 137 [ +/- ]
Зачем так сложно? Делаешь переменную backlight глобальной, создаешь таймер и по его истечению меняешь scale.
Код
 DispatchKeyValue(backlight,"scale","0.6");
 
«SeReGa»☆ Дата: Воскресенье, 01.06.2014, 06:13:59 | Сообщение # 3
Сообщений: 395
Репутация: 37 [ +/- ]
Код
new backlight;

Light(entity)
{
  new Float:Lpos[3];      
  GetEntPropVector(entity, Prop_Send, "m_vecOrigin",Lpos)      
  new backlight = CreateEntityByName("env_sprite");      
  DispatchKeyValue(backlight,"rendermode","5");      
  DispatchKeyValue(backlight,"rendercolor","123 123 123");      
  DispatchKeyValue(backlight,"renderamt","255");      
  DispatchKeyValue(backlight,"scale","0.7");      
  DispatchKeyValue(backlight,"model","sprites/glow01.spr");      
  DispatchKeyValueVector(backlight,"origin",Lpos);      
  DispatchKeyValue(backlight,"spawnflags","64");      
  DispatchSpawn(backlight);      
  SetVariantString("!activator");      
  AcceptEntityInput(backlight,"SetParent",entity,backlight,0);      
  AcceptEntityInput(backlight,"TurnOn");      
  SetVariantString("OnUser1 !self:kill::20.2:1");      
  AcceptEntityInput(backlight,"AddOutput");      
  AcceptEntityInput(backlight,"FireUser1");
  CreateTimer(0.1, ScaleLight);
}
////
public Action:ScaleLight(Handle:timer)
{
  DispatchKeyValue(backlight, "scale", "0.6");
  CreateTimer(0.1, ScaleLight1);
}
public Action:ScaleLight1(Handle:timer)
{
  DispatchKeyValue(backlight, "scale", "0.5");
  CreateTimer(0.1, ScaleLight2);
}
public Action:ScaleLight2(Handle:timer)
{
  DispatchKeyValue(backlight, "scale", "0.4");
  CreateTimer(0.1, ScaleLight3);
}
public Action:ScaleLight3(Handle:timer)
{
  DispatchKeyValue(backlight, "scale", "0.3");
  CreateTimer(0.1, ScaleLight4);
}
public Action:ScaleLight4(Handle:timer)
{
  DispatchKeyValue(backlight, "scale", "0.2");
}

спасибо сделал
 
  • Страница 1 из 1
  • 1
Поиск: