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 [ +/- ]
|
|
+ за Урок-Плагин
Добавлено (12.05.2014, 18:09:22) --------------------------------------------- Так как этот обучающий плагин думаю такой метод представления как раз TE_SetupBeamPoints(clientpos,
pos,
g_Laser,
0 ,
0 ,
0 ,
5 .0 ,
3 .0 ,
3 .0 ,
10 ,
0 .0 ,
{ 255 , 0 , 0 , 255 },
30 );
01 02 03 04 05 06 07 08 09 10 11 12 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 ;
}
}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19
Когда игрок ранен, в него бьет молния
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 ;
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();
}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
Примечание: Скорость распространения маяка напрямую зависит от времени его действия. Например, поставим 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 [ +/- ]
|
|
Они может думают это украшение для карты, кстати не плохая идея, сделай сохранение
|
|
| | |
BarD
|
Дата: Суббота, 24.05.2014, 04:23:40 | Сообщение # 12 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Нет, мне не слабо) просто впадлу лишними делами нагружаться)
|
|
| | |
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, но он тоже не помог. В конце концов забил на это дело и оставил, как сейчас там представлено. Извини меня, ничего не смог сделать(
|
|
| |
|