GameGuru. Моргание света Первоначально соберите схему, добавив источник света, на который повесите скрипт, и игрока. В скрипте очень важны первоначальные переменные
Код
local state = {} local delay = {} local init_delay = {} local on = {}
Они отвечают за положение света, задержку и статус включения для моргания. Далее мы объявляем условия для положений:
Код
if state[e] == 'blinking' then elseif state[e] == 'blinking-r' then elseif state[e] == 'on' then else end
В последних двух случаях все просто,:
Код
elseif state[e] == 'on' then ShowLight(e) else HideLight(e) end
Ну а для однородного моргания света нам нужно проверить таймер и включен ли свет:
Код
if GetTimer(e) > delay[e] then if on[e] == 0 then on[e] = 1 ShowLight(e) else on[e] = 0 HideLight(e) end end
Ну и сама задержка будет выглядеть как таймер + базовое ожидание:
Код
delay[e] = GetTimer(e) + init_delay[e]
Аналогично для рандома:
Код
delay[e] = GetTimer(e) + math.random(100,1500)
Полный скрипт:
Код
local state = {} local delay = {} local init_delay = {} local on = {}
function light2_init(e) state[e] = "blinking-r" delay[e] = 250 init_delay[e] = delay[e] on[e] = 0 end
function light2_main(e) if state[e] == 'blinking' then -- blinking light if GetTimer(e) > delay[e] then if on[e] == 0 then on[e] = 1 ShowLight(e) else on[e] = 0 HideLight(e) end delay[e] = GetTimer(e) + init_delay[e] end elseif state[e] == 'blinking-r' then -- blinking random light if GetTimer(e) > delay[e] then if on[e] == 0 then on[e] = 1 ShowLight(e) else on[e] = 0 HideLight(e) end delay[e] = GetTimer(e) + math.random(100,1500) end elseif state[e] == 'on' then ShowLight(e) else HideLight(e) end end
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «GameGuru. Маргание света», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.