|
|
Модератор форума: GUNNER161, Panikaha |
Форум » РЕДАКТОР - ArmA 3 » Скрипты » Скрипт Радиация в триггере. (Скрипт Радиация в триггере.) |
Скрипт Радиация в триггере. |
› Воскресенье
› 17.05.2020
› 22:03
› Сообщение #
Спасибо за помощь пользователю _Slon, привет от подписчика с youtube:)
А так же _Индеец за помощь с решением проблемы:) Обращение автора(если меня таким можно считать): Мой код - сплошные костыли, так как я учусь sqf искусству, желаю увидеть уместную критику и советы. Делюсь данным скриптом, так как честно говоря ничего дельного не нашёл в РУпоисковиках, так что дорогой гость или матёрый пользователь портала https://arma.at.ua/ , выставляю сие произведение как основу для дальнейшего творчества. С уважением "Jstalin"; О скрипте: Если вы одеты в костюм, то зайдя в триггер вы услышите звук дозиметра, так что добавил интересные эффекты. И получите одноразовый урон 0.1 ед. ( пока ищу информацию, как сделать урон по времени) Если вы без костюма, то игроку будет начислено с барского плеча player SetDamage 0.5; и через 30 секунд еше 0.9 ед. урона. Так же эффект на экране будет несколько другим.( пока ищу информацию, как сделать урон по времени) Ошибки, косяки, недоработки: Если условно говоря в триггере находятся два игровых персонажа(COOP) и один из них выйдет из триггера, то для ОБОИХ будет выполнятся скрипт. Причина: Не хватает навыка задать нужную(ые) перемененные для проверки в скрипте if (uniform Player isEqualTo "U_C_CBRN_Suit_01_Blue_F"). Код if (uniform Player isEqualTo "U_C_CBRN_Suit_01_Blue_F") then { //hint "Сработало условие IF"; systemchat "[Дозиметр]: Внимание, радиационный фон превышает оптимальную дозу в 25 раз."; player SetDamage 0.1; PP_radial = ppEffectCreate ["radialBlur",100]; PP_radial ppEffectEnable true; PP_radial ppEffectAdjust [0.15,0.16,0.43,0.44]; PP_radial ppEffectCommit 1; PP_colorC = ppEffectCreate ["ColorCorrections",1500]; PP_colorC ppEffectEnable true; PP_colorC ppEffectAdjust [1,0.9,0.21,[0.33,0.33,0.33,0.23],[1,1,1,1],[0.33,0.33,0.33,0],[0,0,0,0,0,0,4]]; PP_colorC ppEffectCommit 1; PP_film = ppEffectCreate ["FilmGrain",2000]; PP_film ppEffectEnable true; PP_film ppEffectAdjust [0.74,1.16,0.4,0.5,0.5,true]; PP_film ppEffectCommit 1; "Marker1" setMarkerColor "ColorOrange"; playMusic "rad1"; } else { /*hint "Сработало условие else";*/ systemchat "[Дозиметр]: Внимание, радиационный фон превышает оптимальную дозу в 25 раз. Защитный костюм не обнаружен!"; playMusic "rad1"; PP_radial = ppEffectCreate ["radialBlur",100]; PP_radial ppEffectEnable true; PP_radial ppEffectAdjust [0.15,1.16,0.43,0.44]; PP_radial ppEffectCommit 1; PP_colorC = ppEffectCreate ["ColorCorrections",1500]; PP_colorC ppEffectEnable true; PP_colorC ppEffectAdjust [1,2.1,0.21,[0.33,0.33,0.33,0.23],[1,1,1,1],[0.33,0.33,0.33,0],[0,0,0,0,0,0,4]]; PP_colorC ppEffectCommit 1; PP_film = ppEffectCreate ["FilmGrain",2000]; PP_film ppEffectEnable true; PP_film ppEffectAdjust [0.74,1.16,0.4,0.5,0.5,true]; PP_film ppEffectCommit 1; "Marker1" setMarkerColor "ColorOrange"; player SetDamage 0.5; sleep 30; player SetDamage 0.9; } Что есть, что: if (uniform Player isEqualTo "U_C_CBRN_Suit_01_Blue_F") Player - кого проверяет скрипт U_C_CBRN_Suit_01_Blue_F - костюм который должен быть НАДЕТ на персонажа Дальше: 19 и 20 строки: "Marker1" setMarkerColor "ColorOrange"; - задаёт оранжевый цвет маркера "Marker1" (изначально маркер нужно поставить самому) playMusic "rad1"; - тут думаю понятно, что играет музыка(счётчик гейгера) текст триггера(см. скрины) Код ppEffectDestroy PP_radial; ppEffectDestroy PP_colorC; ppEffectDestroy PP_film; playMusic ""; Скриншоты ![]() ![]() ![]() |
› Воскресенье
› 17.05.2020
› 22:48
› Сообщение #
Чтобы повышать урон постепенно, надо к текущему прибавлять ещё немного
вот так например player SetDamage (damage Player) + 0.1; Если известно имя триггера, то эввект можно зациклить до момента покидания зоны триггера например, имя триггере Trg_1 повреждение будет увеличиваться на 0.1 каждую секунду пока не покинет зону. While {Player in List Trg_1} do { player SetDamage (damage Player) + 0.1; sleep 1; }; |
› Понедельник
› 18.05.2020
› 00:16
› Сообщение #
Ver 2.0
Спасибо _slon Исправил/Добавил. 1)Теперь если вы не одели "U_C_CBRN_Suit_01_Blue_F" и попали в радиоактивный триггер, то вам нанесётся 0.40 ед. урона и каждые 10 секунд вы будете получать по 0.10 ед. урона. Код if (uniform Player isEqualTo "U_C_CBRN_Suit_01_Blue_F") then { //hint "Сработало условие IF"; systemchat "[Дозиметр]: Внимание, радиационный фон превышает оптимальную дозу в 25 раз."; player SetDamage 0.1; PP_radial = ppEffectCreate ["radialBlur",100]; PP_radial ppEffectEnable true; PP_radial ppEffectAdjust [0.15,0.16,0.43,0.44]; PP_radial ppEffectCommit 1; PP_colorC = ppEffectCreate ["ColorCorrections",1500]; PP_colorC ppEffectEnable true; PP_colorC ppEffectAdjust [1,0.9,0.21,[0.33,0.33,0.33,0.23],[1,1,1,1],[0.33,0.33,0.33,0],[0,0,0,0,0,0,4]]; PP_colorC ppEffectCommit 1; PP_film = ppEffectCreate ["FilmGrain",2000]; PP_film ppEffectEnable true; PP_film ppEffectAdjust [0.74,1.16,0.4,0.5,0.5,true]; PP_film ppEffectCommit 1; "Marker1" setMarkerColor "ColorOrange"; playMusic "rad1"; } else { /*hint "Сработало условие else";*/ systemchat "[Дозиметр]: Внимание, радиационный фон превышает оптимальную дозу в 25 раз. Защитный костюм не обнаружен!"; playMusic "rad1"; PP_radial = ppEffectCreate ["radialBlur",100]; PP_radial ppEffectEnable true; PP_radial ppEffectAdjust [0.15,1.16,0.43,0.44]; PP_radial ppEffectCommit 1; PP_colorC = ppEffectCreate ["ColorCorrections",1500]; PP_colorC ppEffectEnable true; PP_colorC ppEffectAdjust [1,2.1,0.21,[0.33,0.33,0.33,0.23],[1,1,1,1],[0.33,0.33,0.33,0],[0,0,0,0,0,0,4]]; PP_colorC ppEffectCommit 1; PP_film = ppEffectCreate ["FilmGrain",2000]; PP_film ppEffectEnable true; PP_film ppEffectAdjust [0.74,1.16,0.4,0.5,0.5,true]; PP_film ppEffectCommit 1; "Marker1" setMarkerColor "ColorOrange"; player SetDamage 0.4; systemchat "[Системное сообщение]: Получен урон 0.40 единиц - Радиация"; While {Player in List t1} do { player SetDamage (damage Player) + 0.1; systemchat "[Системное сообщение]: Получен урон 0.10 единиц - Радиация"; sleep 10; }; } |
| |||
| |||
Чат сайта |