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, //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, но он тоже не помог. В конце концов забил на это дело и оставил, как сейчас там представлено. Извини меня, ничего не смог сделать(
|
|
| |
|