Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if SERVER then
- local ent = {}
- local govno = {}
- local vec = {
- [1] = Vector(6255, 9855, -11240),
- [2] = Vector(6355, 9855, -11240),
- [3] = Vector(6455, 9855, -11240),
- [4] = Vector(6455, 9955, -11240),
- [5] = Vector(6355, 9955, -11240),
- [6] = Vector(6255, 9955, -11240),
- [7] = Vector(6255, 10055, -11240),
- [8] = Vector(6355, 10055, -11240),
- [9] = Vector(6455, 10055, -11240)
- }
- local cols = {
- [1] = Color(255, 0, 0),
- [2] = Color(0, 255, 0),
- [3] = Color(0, 0, 255),
- [4] = Color(255, 255, 0),
- [5] = Color(255, 0, 255),
- [6] = Color(0, 255, 255),
- [7] = Color(255, 255, 255),
- [8] = Color(0, 0, 0),
- [9] = Color(255, 150, 0),
- }
- local plat = {}
- function spawnKeyPad(pos, ang)
- local keypad = ents.Create("prop_physics")
- keypad:SetPos(pos)
- keypad:SetAngles(ang)
- keypad:SetModel("models/props_junk/watermelon01.mdl")
- keypad:Spawn()
- local poses = {
- [1] = keypad:LocalToWorld(Vector(-5, 0, 0)),
- [2] = keypad:LocalToWorld(Vector(0, 0, 0)),
- [3] = keypad:LocalToWorld(Vector(5, 0, 0)),
- [4] = keypad:LocalToWorld(Vector(-5, 0, -5)),
- [5] = keypad:LocalToWorld(Vector(0, 0, -5)),
- [6] = keypad:LocalToWorld(Vector(5, 0, -5)),
- [7] = keypad:LocalToWorld(Vector(-5, 0, -10)),
- [8] = keypad:LocalToWorld(Vector(0, 0, -10)),
- [9] = keypad:LocalToWorld(Vector(5, 0, -10)),
- [10] = keypad:LocalToWorld(Vector(15, 0, -5))
- }
- local nums = {}
- for i = 1, 10 do
- nums[i] = ents.Create("prop_physics")
- nums[i]:SetModel("models/hunter/plates/plate.mdl")
- nums[i]:SetPos(poses[i])
- nums[i]:Spawn()
- nums[i]:GetPhysicsObject():EnableMotion(false)
- end
- hook.Add("Think", "checkk", function()
- for i = 1, 10 do
- if not IsValid(nums[i]) then
- nums[i] = ents.Create("prop_physics")
- nums[i]:SetModel("models/hunter/plates/plate.mdl")
- nums[i]:SetPos(poses[i])
- nums[i]:Spawn()
- nums[i]:GetPhysicsObject():EnableMotion(false)
- else
- nums[i]:GetPhysicsObject():EnableMotion(false)
- nums[i]:SetPos(poses[i])
- end
- end
- end)
- local keys = {}
- local pass = {}
- for i = 1, 4 do
- table.insert(pass, i, math.random(1, 9))
- print(pass[i])
- end
- hook.Add("PlayerSay", "getpassk", function(ply, text)
- if ply:IsAdmin() then
- local exp = string.Explode(" ", text)
- if exp[1] == "!getkp" then
- for i = 1, 4 do ply:ChatPrint(pass[i]) end
- return ""
- end
- end
- end)
- hook.Add("KeyPress", "keypad_think_lol", function()
- for i = 1, 9 do
- for k, v in pairs(player.GetAll()) do
- local tr = v:GetEyeTrace()
- local dist = v:GetPos():Distance(nums[i]:GetPos())
- if tr.Entity == nums[10] and dist < 100 and v:KeyPressed(IN_USE) then
- local check = 0
- for c = 1, 4 do
- SetGlobalString("keyp" .. c, "-")
- if keys[c] == pass[c] then
- check = check + 1
- end
- end
- if check >= 4 then
- v:SetPData("EV_Jailed", false)
- v:Spawn()
- v:SetPos(Vector(-1612, 12522, -11143))
- for _, ply in pairs(player.GetAll()) do
- ply:EmitSound("music/hl2_song31.mp3")
- end
- pass = {}
- for i = 1, 4 do
- table.insert(pass, i, math.random(1, 9))
- end
- end
- keys = {}
- return
- end
- if tr.Entity == nums[i] and dist < 100 and v:KeyPressed(IN_USE) then
- table.insert(keys, table.maxn(keys) + 1, i)
- SetGlobalString("keyp" .. #keys, tostring(i))
- if keys[5] then
- for c = 1, 4 do SetGlobalString("keyp" .. c, "-") keys = {} end
- end
- end
- end
- end
- end)
- keypad:Remove()
- end
- spawnKeyPad(Vector(4365, 12937, -10846), Angle(0, 90, 0))
- plat[1] = ents.Create("prop_physics")
- plat[1]:SetModel("models/hunter/plates/plate1x8.mdl")
- plat[1]:SetMaterial("models/shiny")
- plat[1]:SetPos(Vector(6750, 9955, -11270))
- plat[1]:SetColor(Color(100, 0, 0))
- plat[1]:SetAngles(Angle(0, 90, 0))
- plat[1]:Spawn()
- plat[2] = ents.Create("prop_physics")
- plat[2]:SetModel("models/hunter/plates/plate7x24.mdl")
- plat[2]:SetMaterial("phoenix_storms/stripes")
- plat[2]:SetPos(Vector(4930, 7671, -11040))
- plat[2]:SetAngles(Angle(90, 90, 0))
- plat[2]:Spawn()
- plat[3] = ents.Create("prop_physics")
- plat[3]:SetModel("models/hunter/plates/plate3x7.mdl")
- plat[3]:SetMaterial("phoenix_storms/stripes")
- plat[3]:SetPos(Vector(5711, 7981, -10947))
- plat[3]:SetAngles(Angle(90, 0, 0))
- plat[3]:Spawn()
- plat[4] = ents.Create("npc_alyx")
- plat[4]:SetPos(Vector(6988, 7746, -11135))
- plat[4]:SetAngles(Angle(0, 90, 0))
- plat[4]:Spawn()
- plat[4]:SetSolid(SOLID_NONE)
- plat[5] = ents.Create("prop_physics")
- plat[5]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[5]:SetMaterial("phoenix_storms/stripes")
- plat[5]:SetPos(Vector(3596, 7671, -11219))
- plat[5]:SetAngles(Angle(90, 90, 0))
- plat[5]:Spawn()
- plat[6] = ents.Create("prop_physics")
- plat[6]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[6]:SetMaterial("phoenix_storms/stripes")
- plat[6]:SetPos(Vector(2521, 7671, -11219))
- plat[6]:SetAngles(Angle(90, 90, 0))
- plat[6]:Spawn()
- plat[7] = ents.Create("prop_physics")
- plat[7]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[7]:SetMaterial("phoenix_storms/stripes")
- plat[7]:SetPos(Vector(2000, 12522, -11143))
- plat[7]:SetAngles(Angle(90, 0, 0))
- plat[7]:Spawn()
- plat[8] = ents.Create("prop_physics")
- plat[8]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[8]:SetMaterial("phoenix_storms/stripes")
- plat[8]:SetPos(Vector(2000, 12522, -10810))
- plat[8]:SetAngles(Angle(90, 0, 0))
- plat[8]:Spawn()
- plat[9] = ents.Create("prop_physics")
- plat[9]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[9]:SetMaterial("phoenix_storms/stripes")
- plat[9]:SetPos(Vector(3596, 7671, -10900))
- plat[9]:SetAngles(Angle(90, 90, 0))
- plat[9]:Spawn()
- plat[10] = ents.Create("npc_citizen")
- plat[10]:SetPos(Vector(4392, 12860, -10895))
- plat[10]:SetAngles(Angle(0, 80, 0))
- plat[10]:Spawn()
- plat[10]:SetSolid(SOLID_NONE)
- local coords = {}
- local angs = {}
- for i = 1, table.maxn(plat) do
- table.insert(coords, i, plat[i]:GetPos())
- table.insert(angs, i, plat[i]:GetAngles())
- end
- hook.Add("Think", "checkprops_mg", function()
- if not IsValid(plat[1]) then
- plat[1] = ents.Create("prop_physics")
- plat[1]:SetModel("models/hunter/plates/plate1x8.mdl")
- plat[1]:SetMaterial("models/shiny")
- plat[1]:SetPos(Vector(6750, 9955, -11270))
- plat[1]:SetColor(Color(100, 0, 0))
- plat[1]:SetAngles(Angle(0, 90, 0))
- plat[1]:Spawn()
- end
- if not IsValid(plat[2]) then
- plat[2] = ents.Create("prop_physics")
- plat[2]:SetModel("models/hunter/plates/plate7x24.mdl")
- plat[2]:SetMaterial("phoenix_storms/stripes")
- plat[2]:SetPos(Vector(4930, 7671, -11040))
- plat[2]:SetAngles(Angle(90, 90, 0))
- plat[2]:Spawn()
- end
- if not IsValid(plat[3]) then
- plat[3] = ents.Create("prop_physics")
- plat[3]:SetModel("models/hunter/plates/plate3x7.mdl")
- plat[3]:SetMaterial("phoenix_storms/stripes")
- plat[3]:SetPos(Vector(5711, 7981, -10947))
- plat[3]:SetAngles(Angle(90, 0, 0))
- plat[3]:Spawn()
- end
- if not IsValid(plat[4]) then
- plat[4] = ents.Create("npc_alyx")
- plat[4]:SetPos(Vector(6988, 7746, -11135))
- plat[4]:SetAngles(Angle(0, 90, 0))
- plat[4]:Spawn()
- plat[4]:SetSolid(SOLID_NONE)
- end
- if not IsValid(plat[5]) then
- plat[5] = ents.Create("prop_physics")
- plat[5]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[5]:SetMaterial("phoenix_storms/stripes")
- plat[5]:SetPos(Vector(3596, 7671, -11219))
- plat[5]:SetAngles(Angle(90, 90, 0))
- plat[5]:Spawn()
- end
- if not IsValid(plat[6]) then
- plat[6] = ents.Create("prop_physics")
- plat[6]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[6]:SetMaterial("phoenix_storms/stripes")
- plat[6]:SetPos(Vector(2521, 7671, -11219))
- plat[6]:SetAngles(Angle(90, 90, 0))
- plat[6]:Spawn()
- end
- if not IsValid(plat[7]) then
- plat[7] = ents.Create("prop_physics")
- plat[7]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[7]:SetMaterial("phoenix_storms/stripes")
- plat[7]:SetPos(Vector(2000, 12522, -11143))
- plat[7]:SetAngles(Angle(90, 0, 0))
- plat[7]:Spawn()
- end
- if not IsValid(plat[8]) then
- plat[8] = ents.Create("prop_physics")
- plat[8]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[8]:SetMaterial("phoenix_storms/stripes")
- plat[8]:SetPos(Vector(2000, 12522, -10810))
- plat[8]:SetAngles(Angle(90, 0, 0))
- plat[8]:Spawn()
- end
- if not IsValid(plat[9]) then
- plat[9] = ents.Create("prop_physics")
- plat[9]:SetModel("models/hunter/plates/plate7x32.mdl")
- plat[9]:SetMaterial("phoenix_storms/stripes")
- plat[9]:SetPos(Vector(3596, 7671, -10900))
- plat[9]:SetAngles(Angle(90, 90, 0))
- plat[9]:Spawn()
- end
- if not IsValid(plat[10]) then
- plat[10] = ents.Create("npc_citizen")
- plat[10]:SetPos(Vector(4392, 12860, -10895))
- plat[10]:SetAngles(Angle(0, 80, 0))
- plat[10]:Spawn()
- plat[10]:SetSolid(SOLID_NONE)
- end
- for i = 1, table.maxn(plat) do
- if not plat[i]:IsNPC() then
- if IsValid(plat[i]:GetPhysicsObject()) then plat[i]:GetPhysicsObject():EnableMotion(false) end
- plat[i]:SetPos(coords[i])
- plat[i]:SetNotSolid(false)
- plat[i]:SetSolid(SOLID_VPHYSICS)
- plat[i]:SetCollisionGroup(COLLISION_GROUP_INTERACTIVE)
- plat[i]:SetAngles(angs[i])
- else
- plat[i]:StopMoving()
- end
- end
- end)
- for i = 1, 9 do
- ent[i] = ents.Create("prop_physics")
- ent[i]:SetModel("models/hunter/blocks/cube2x2x025.mdl")
- ent[i]:SetMaterial("models/shiny")
- ent[i]:SetPos(vec[i])
- ent[i]:SetColor(cols[i])
- ent[i]:SetAngles(Angle(0, 90, 0))
- ent[i]:Spawn()
- govno[i] = false
- hook.Add("Think", "minigame_thent"..i, function()
- if ent[i] and IsValid(ent[i]) then
- if not govno[i] then
- ent[i]:GetPhysicsObject():EnableMotion(false)
- end
- else
- ent[i] = ents.Create("prop_physics")
- ent[i]:SetModel("models/hunter/blocks/cube2x2x025.mdl")
- ent[i]:SetMaterial("models/shiny")
- ent[i]:SetPos(vec[i])
- ent[i]:SetColor(cols[i])
- ent[i]:SetAngles(Angle(0, 90, 0))
- ent[i]:Spawn()
- end
- end)
- end
- timer.Create("minigame_timer", 4, 0, function()
- for p = 1, math.random(1, 5) do
- local rand = math.random(1, 9)
- govno[rand] = true
- ent[rand]:GetPhysicsObject():EnableMotion(true)
- ent[rand]:GetPhysicsObject():ApplyForceCenter(Vector(0, 0, -60))
- timer.Simple(3, function()
- ent[rand]:Remove()
- govno[rand] = false
- end)
- end
- end)
- end
- if CLIENT then
- hook.Add("PostDrawOpaqueRenderables", "nadpisvremya", function()
- cam.Start3D2D(Vector(6990, 7697, -11020), Angle(0, 180, 90), 0.4)
- draw.DrawText(string.sub(os.date(), 9), "super", 0, 0, Color(0, 255, 0), TEXT_ALIGN_CENTER)
- cam.End3D2D()
- cam.Start3D2D(Vector(4365, 12933, -10848), Angle(0, 90, 90), 0.02)
- draw.RoundedBox(6, 0, -500, 420, 150, Color(0, 0, 0, 200))
- for i = 1, 4 do
- draw.DrawText(GetGlobalString("keyp" .. i) or "n", "super", i * 80, -500, Color(0, 255, 0), TEXT_ALIGN_CENTER)
- end
- draw.DrawText("Чтобы сбежать из тюрьмы отгадайте пароль (из 4 символов)", "super", 0, -660, Color(0, 255, 0), TEXT_ALIGN_CENTER)
- cam.End3D2D()
- cam.Start3D2D(Vector(4367, 12927, -10843), Angle(0, 90, 90), 0.02)
- for i = 1, 3 do
- draw.DrawText(i, "super", i * 250, 0, Color(0, 255, 0), TEXT_ALIGN_CENTER)
- end
- for i = 1, 3 do
- draw.DrawText(i + 3, "super", i * 250, 250, Color(0, 255, 0), TEXT_ALIGN_CENTER)
- end
- for i = 1, 3 do
- draw.DrawText(i + 6, "super", i * 250, 500, Color(0, 255, 0), TEXT_ALIGN_CENTER)
- end
- cam.End3D2D()
- end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement