За окном темнеет. И вот мне захотельсь написать эту статью
Иногда бывает так, что ты хочешь добавить в свою карту чего-то такое, от чего она стала бы краше! Все знают как установить освещение в карте, туман... И вот вы сидите и думаете, а что еслибы туман менялся от времени суток! Это элементарно!
Нам нужно не много:
Создаем переменные типа Real: R,R1,G,G1,B,B1
А теперь создаем наш периодический триггер: (Переодичность задаем в зависимости от того, как быстро мы хотим менять цвет тумана)
Code
Событие:
-Every 0.5 seconds
Условие:
Действие:
-If(All conditions are true then do (Then Actions) else do (Else Actions)
-Если:
-B равно B1
-То:
-Do nothing
-Иначе:
-If(All conditions are true then do (Then Actions) else do (Else Actions)
-Если:
-B меньше B1
-То
-Set B1 = B1+1
-Иначе:
-If(All conditions are true then do (Then Actions) else do (Else Actions)
-Если:
-B больше B1
-То
-Set B1 = B1-1
-Иначе
-Do nothing
-If(All conditions are true then do (Then Actions) else do (Else Actions)
-Если:
-R равно R1
-То:
-Do nothing
-Иначе:
-If(All conditions are true then do (Then Actions) else do (Else Actions)
-Если:
-R меньше R1
-То
-Set R1 = R1+1
-Иначе:
-If(All conditions are true then do (Then Actions) else do (Else Actions)
-Если:
-R больше R1
-То
-Set R1 = R1-1
-Иначе
-Do nothing
-If(All conditions are true) then do (Then Actions) else do (Else Actions)
-Если:
-G равно G1
-То:
-Do nothing
-Иначе:
-If(All conditions are true) then do (Then Actions) else do (Else Actions)
-Если:
-G меньше G1
-То
-Set G1 = G1+1
-Иначе:
-If(All conditions are true then do (Then Actions) else do (Else Actions)
-Если:
-G больше G1
-То
-Set G1 = G1-1
-Иначе
-Do nothing
-Окружение - Set fog Линейный, z-start 2000.00, z-end 4000.00, density 0.00 and colour ((Real(R1%)), (Real(G1%)), (Real(B1%))
В этом триггере мы переодично меняем только цвет тумана, но также можно добавить изменение дальних и ближних границ тумана, добавив еще две переменных и увеличив периодичность (Лучше конечно для этого создать триггер со своей периодичностью, тк для границ периодичность нужна очень маленькая) А дальше мы создаем триггер(ы) меняющие переменные G,B и R в зависимости от времени суток:
Code
Событие:
-Игра - The in-game time of day becomes равно чч.мм (Тут вы подставите свое время)
Условие:
Действие:
-SetR =XX
-SetG =XX
-SetB =XX
Тут есть таблица примерных цыфр, которые я использовал в зависимости от времени суток (Вы конечноже можете подставить свои):
Время/Значение
R: 3/50 5/100 11/39 17/78 19/0 21/0
G: 3/44 5/88 11/74 17/44 19/0 21/0
B: 3/35 5/71 11/78 17/37 19/40 21/0