Залив
This commit is contained in:
58
gamemodes/cod_custom/gamemode/client/cl_cutscenes.lua
Normal file
58
gamemodes/cod_custom/gamemode/client/cl_cutscenes.lua
Normal file
@@ -0,0 +1,58 @@
|
||||
local cutscene_table = {
|
||||
[1] = {},
|
||||
[2] = {},
|
||||
[3] = {},
|
||||
[4] = {},
|
||||
}
|
||||
|
||||
function COD:PrecacheCutscene(path, frames, dest)
|
||||
for i=1,frames do
|
||||
local num = i
|
||||
if num < 10 then
|
||||
num = "000"..num
|
||||
elseif num < 100 then
|
||||
num = "00"..num
|
||||
elseif num < 1000 then
|
||||
num = "0"..num
|
||||
end
|
||||
local mat = Material(path..num..".jpg")
|
||||
table.insert(dest, mat)
|
||||
end
|
||||
end
|
||||
|
||||
function COD:PlayCutscene(tab, sound, fps, screenfade)
|
||||
local time = 0
|
||||
local tab = cutscene_table[tab]
|
||||
surface.PlaySound(sound)
|
||||
hook.Add("HUDPaint", "!!!CODCutscene", function()
|
||||
time = time + FrameTime()
|
||||
local frame = math.ceil(time/(1/fps))
|
||||
|
||||
if frame > #tab then
|
||||
hook.Remove("HUDPaint", "!!!CODCutscene")
|
||||
COD.HideHUD = false
|
||||
if screenfade then
|
||||
LocalPlayer():ScreenFade(SCREENFADE.IN, color_black, 1, 1)
|
||||
end
|
||||
else
|
||||
surface.SetMaterial(tab[frame])
|
||||
surface.SetDrawColor(255,255,255)
|
||||
surface.DrawTexturedRect(0, 0, ScrW(), ScrH())
|
||||
COD.HideHUD = true
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
COD:PrecacheCutscene("tdmg/heli/spawn_cutscene/", 111, cutscene_table[1])
|
||||
COD:PrecacheCutscene("tdmg/heli/shotdown_bullet_cutscene/", 117, cutscene_table[2])
|
||||
COD:PrecacheCutscene("tdmg/heli/shotdown_rocket_cutscene/", 100, cutscene_table[3])
|
||||
COD:PrecacheCutscene("tdmg/nuke/explode_cutscene/", 296, cutscene_table[4])
|
||||
|
||||
net.Receive("COD.Cutscene", function()
|
||||
local tab = net.ReadTable()
|
||||
local num = tab.num_of_cutscene
|
||||
local snd = tab.path_of_sound
|
||||
local fps = tab.fps
|
||||
local scr = tab.screenfade
|
||||
COD:PlayCutscene(num, snd, fps, scr)
|
||||
end)
|
||||
Reference in New Issue
Block a user