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

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

  • Страница 1 из 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Basic Effects
BarD Дата: Понедельник, 12.05.2014, 16:01:27 | Сообщение # 1
Сообщений: 943
Репутация: 137 [ +/- ]
Добрый день, дорогие Форумчане! Задался вопросом, как сделать различные эффекты на карте. С некоторыми подсказками скриптеров создал плагин, создающий различные эффекты на позиции прицела.

Команды:


!lightning - молния (скрин)
!beam - создает маяк
!smoke - создает дым
!tesla - эффект тесла (скрин)
!laser - лазер от головы к прицелу.
!dust - маленькая песчаная буря)
!exp - взрыв
!glow - свечение
!splash - энергетический всплеск
!spark - искры
!mf (Muzzle Flash) - дословно никак не переводится, что-то типа меняющегося эффекта. Описание в исходнике.
!cyl - Цилиндр (скрин)
!lifecyl - Пульсирующий цилиндр
!sphere - сфера (скрин)
!dc - (Dust Clock) - Песочные часы.
!conus - Создает Конус


Скриншоты:
Цитата

http://s005.radikal.ru/i210/1405/8d/dbcd8291cd6a.png - Молния
http://s57.radikal.ru/i158/1405/bb/c82fdd65c85b.png - Сфера
http://s019.radikal.ru/i623/1405/9c/c55e369d11c2.png - Цилиндр
http://s005.radikal.ru/i210/1405/1a/2cccb5fbde33.png - Тесла


Ссылка для скачивания:
Цитата
https://yadi.sk/d/MYeLmMQrQaq56


Как видите, помимо базовых эффектов добавил несколько своих и хвостега! Все шаги прокомментированы и разложены по полочкам, чтобы максимально облегчить Ваше обучение! Думаю, Вам понравится!

Извините, прикреплять файлы я не умею(

Постепенно будут добавляться новые эффекты, плагин будет обновляться!

За создание плагина хочу сказать спасибо wS'у, его урокам и хвостегу


Сообщение отредактировал BarD - Понедельник, 23.02.2015, 11:34:19
 
panorama Дата: Понедельник, 12.05.2014, 17:04:19 | Сообщение # 2
Сообщений: 203
Репутация: 2 [ +/- ]
Я не думал что меня кто-нибудь сможет удивить функциями ) Но вот насчет цилиндра идейку ты подкинул , Спасибо !
 
«SeReGa»☆ Дата: Понедельник, 12.05.2014, 18:09:22 | Сообщение # 3
Сообщений: 395
Репутация: 37 [ +/- ]
+ за Урок-Плагин pochitaem

Добавлено (12.05.2014, 18:09:22)
---------------------------------------------
Так как этот обучающий плагин думаю такой метод представления как раз
Код
TE_SetupBeamPoints(clientpos,   //1)стартовая позиция луча.
                     pos,    //2)конечная позиция луча
                     g_Laser,  //3)текстура.
                     0,    //4)текстура.
                     0,    //5)Initital frame to render.
                     0,    //6)частота кадров Луча.
                     5.0,   //7)Продолжительность задержки луча.
                     3.0,   //8)Первоначальная ширина луча.
                     3.0,   //9)Конечная ширина луча.
                     10,    //10)Длительность пучка исчезают.
                     0.0,   //11)Амплитуда луча.
                     {255, 0, 0, 255},//12)Цвет массив (R, G, B, A).
                     30);   //13)Скорость пучка.

Думаю так будет легче для некоторых)).


Сообщение отредактировал «SeReGa»☆ - Понедельник, 12.05.2014, 18:11:02
 
BarD Дата: Вторник, 13.05.2014, 15:31:41 | Сообщение # 4
Сообщений: 943
Репутация: 137 [ +/- ]
«SeReGa»☆, безусловно, ты прав!) В следующей версии сделаю)

Добавлено (13.05.2014, 15:31:41)
---------------------------------------------
v1.1
Добавлено 2 новых эффекта!
Упорядочены комментарии к функциям!


Команды:


Скриншоты:


Ссылка для скачивания:


Сообщение отредактировал BarD - Вторник, 13.05.2014, 15:32:28
 
PlaN4ik Дата: Среда, 14.05.2014, 17:34:28 | Сообщение # 5
Сообщений: 33
Репутация: -7 [ +/- ]
Можно пример использования в других плагинах?
Допустим игрок возродился и добавить к нему эфект.

Добавлено (14.05.2014, 17:34:28)
---------------------------------------------
Уже не нужно.

 
BarD Дата: Воскресенье, 18.05.2014, 15:31:37 | Сообщение # 6
Сообщений: 943
Репутация: 137 [ +/- ]
Извините, что не сразу, интернета не было.

Когда игрок появляется, вокруг него образуется цилиндр

Код
public OnPluginStart()
{
       HookEvent("player_spawn", Spawn);
}

public Action:Spawn(Handle:event, const String:name[], bool:dontBroadcast)
{
       new client = GetClientOfUserId(GetEventInt(event, "userid")); //Получаем айди появившегося игрока
            
        new Float:pos[3];
        GetClientAbsOrigin(client, pos); //Получаем позицию его ног

         for (new i = 1; i <= 150; i++)  //Создаем цилиндр
      {      
       TE_SetupBeamRingPoint(pos, 50.0, 51.0, g_BeamSprite, g_HaloSprite, 0, 15, 5.0, 2.0, 0.0, {255, 255, 0, 255}, 10, 0);
       TE_SendToAll();
       pos[2] = pos[2] + 1.0;      
       }
}


Когда игрок ранен, в него бьет молния

Код
public OnPluginStart()
{
       HookEvent("player_hurt", Hurt);
}

public Action:Hurt(Handle:event, const String:name[], bool:dontBroadcast)
{
       new client = GetClientOfUserId(GetEventInt(event, "userid")); //Получаем айди раненого       
        new Float:pos[3];
       GetClientAbsOrigin(client, pos); //И его позицию

       pos[2] = pos[2] + 30.0; //Добавляем к позиции ног 30 по высоте, чтобы молния била в тело

       new randomx = GetRandomInt(-500, 500); //Делаем молнию. Объяснять не буду, т.к. написано в самом плагине.
       new randomy = GetRandomInt(-500, 500);      

       new Float:startpos[3];      
       startpos[0] = pos[0] + randomx;      
       startpos[1] = pos[1] + randomy;      
       startpos[2] = pos[2] + 800;      

            
       new color[4] = {0, 0, 255, 255};      

       new Float:dir[3] = {0.0, 0.0, 0.0};      

       TE_SetupBeamPoints(startpos, pos, g_LightningSprite, 0, 0, 0, 0.2, 20.0, 10.0, 0, 2.0, color, 3);      
       TE_SendToAll();

         TE_SetupBeamPoints(startpos, pos, g_LightningSprite, 0, 0, 0, 0.2, 10.0, 5.0, 0, 1.0, {255, 255, 255, 255}, 3);      
       TE_SendToAll();      
            
       TE_SetupSparks(pos, dir, 5000, 1000);    
       TE_SendToAll();       

       TE_SetupEnergySplash(pos, dir, false);      
       TE_SendToAll();      

       TE_SetupSmoke(pos, g_SteamSprite, 5.0, 10);      
      TE_SendToAll();      
}


Примечание: Скорость распространения маяка напрямую зависит от времени его действия. Например, поставим 2 маяка с диаметром 100 ед. Один сделаем на 2 секунды, другой на 4. Тот, который на 2 секунды, будет распространяться быстрее.

Еще, спасибо огромное, что поддерживаете меня! приятно осознавать, что мои труды не напрасны! Спасибо Вам за это.

=======================================================================================

Представляю Вам очередное обновление Basic Effects!

v 1.2

Добавлено 3 эффекта:


Скриншоты:


Ссылка на скачивание:


Сообщение отредактировал BarD - Воскресенье, 18.05.2014, 15:33:20
 
Meow_1337 Дата: Пятница, 23.05.2014, 14:42:23 | Сообщение # 7
Сообщений: 207
Репутация: 11 [ +/- ]
еще бы конфиг и чтобы это все сохранялось на карте.
 
dases2003 Дата: Пятница, 23.05.2014, 15:22:20 | Сообщение # 8
Сообщений: 107
Репутация: 1 [ +/- ]
А разве не сохраняется?
 
BarD Дата: Пятница, 23.05.2014, 15:47:45 | Сообщение # 9
Сообщений: 943
Репутация: 137 [ +/- ]
Зачем сохранять что-то? Эффекты непостоянные. Они создаются просто для показания того, как они выглядят. А как их создавать, написано в самом исходнике, причем очень подробно) Я не вижу смысла их сохранять.
 
dases2003 Дата: Пятница, 23.05.2014, 17:50:04 | Сообщение # 10
Сообщений: 107
Репутация: 1 [ +/- ]
Они может думают это украшение для карты, кстати не плохая идея, сделай сохранение
 
Meow_1337 Дата: Пятница, 23.05.2014, 19:29:05 | Сообщение # 11
Сообщений: 207
Репутация: 11 [ +/- ]
Цитата BarD ()
Зачем сохранять что-то?


Да, тебе слабо ;)
 
BarD Дата: Суббота, 24.05.2014, 04:23:40 | Сообщение # 12
Сообщений: 943
Репутация: 137 [ +/- ]
Нет, мне не слабо) просто впадлу лишними делами нагружаться)
 
panorama Дата: Суббота, 24.05.2014, 11:01:30 | Сообщение # 13
Сообщений: 203
Репутация: 2 [ +/- ]
Цитата BarD ()
Нет, мне не слабо) просто впадлу лишними делами нагружаться)

Мне вот интересна функция Atom , как изменять углы вращения ?
 
dases2003 Дата: Суббота, 24.05.2014, 13:57:58 | Сообщение # 14
Сообщений: 107
Репутация: 1 [ +/- ]
Ща напишу

Добавлено (24.05.2014, 13:57:58)
---------------------------------------------
DispatchKeyValue(rt_two, "spawnflags", "72"); //Внимание! 64 - используемый, 8 - по оси Y. 64+8 = 72. Складываются свойства.

 
BarD Дата: Суббота, 24.05.2014, 15:42:37 | Сообщение # 15
Сообщений: 943
Репутация: 137 [ +/- ]
panorama, Я перепробовал все варианты. Поворачивал объект вращения. Выяснил, что вращение энтити не влияет на вращение вокруг него объектов. Другими словами, если вращать func_rotating, то спрайт все равно будет крутиться по одной оси. Просил помощи у wS, но он тоже не помог. В конце концов забил на это дело и оставил, как сейчас там представлено. Извини меня, ничего не смог сделать(
 
  • Страница 1 из 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск: