Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --init.lua
- AddCSLuaFile("shared.lua")
- include("shared.lua")
- AddCSLuaFile( "cl_init.lua" )
- include("cl_init.lua")
- function ENT:Initialize( )
- self:SetModel( "models/props_interiors/refrigerator01a.mdl" )
- self:SetUseType( SIMPLE_USE )
- self:PhysicsInit( SOLID_VPHYSICS )
- self:SetMoveType( MOVETYPE_VPHYSICS )
- self:SetSolid( SOLID_VPHYSICS )
- end
- function ENT:Use(activator,caller)
- if IsValid( activator ) && activator:IsPlayer() then
- umsg.Start( "OpenTheFridge", activator )
- umsg.End()
- end
- end
- concommand.Add( "CreateFood", function(ply, command, args)
- local ply = Entity(1)
- local tr = ply:GetEyeTrace()
- for k,v in pairs(InFridge) do
- for i = 1, #InFridge do
- print("Forst "..v.Amount)
- if InFridge[i].FridgeName == (tostring(args[3])) then
- InFridge[i].Amount = v.Amount - 1
- print("Sen "..v.Amount)
- end
- end
- end
- local FridgeEnt = ents.Create("prop_physics")
- FridgeEnt:SetModel(tostring(args[1]))
- FridgeEnt:SetPos(ply:GetPos()+ Vector(0,-10,20) )
- FridgeEnt:Spawn()
- end)
- function ENT:Think()
- for k,v in pairs(InFridge) do
- if v.Amount <= 0 then
- v.Amount = 0
- end
- end
- end
- function ENT:Touch(hitEnt)
- for k,v in pairs(InFridge) do
- if (hitEnt:GetClass() == "prop_physics") then
- for i = 1, #InFridge do
- if InFridge[i].FridgeModel == hitEnt:GetModel() then
- InFridge[i].Amount = v.Amount + 0.5
- self:EmitSound("/buttons/button19.wav", 100, 100)
- hitEnt:Remove()
- print(v.FridgeName..": "..v.Amount.."\n")
- end
- end
- end
- end
- end
- --shared
- ENT.Type = "anim"
- ENT.Base = "base_gmodentity"
- ENT.PrintName = "Fridge"
- ENT.Author = "Zombie Slayer"
- ENT.Spawnable = true
- ENT.AdminSpawnable = true
- function ENT:SetAutomaticFrameAdvance( bUsingAnim )
- self.AutomaticFrameAdvance = bUsingAnim
- end
- InFridge = {}
- InFridge[1] = {FridgeName = "Fish", FridgeModel = "models/props/CS_militia/fishriver01.mdl", Amount = 1}
- InFridge[2] = {FridgeName = "Blue Soda", FridgeModel = "models/props_junk/PopCan01a.mdl", Amount = 1}
- InFridge[3] = {FridgeName = "Milk", FridgeModel = "models/props_junk/garbage_milkcarton002a.mdl", Amount = 1}
- InFridge[4] = {FridgeName = "Water Melon", FridgeModel = "models/props_junk/watermelon01.mdl", Amount = 0}
- InFridge[5] = {FridgeName = "Water Bottle", FridgeModel = "models/props/cs_office/Water_bottle.mdl", Amount = 1}
- InFridge[6] = {FridgeName = "Beer", FridgeModel = "models/props_junk/garbage_glassbottle003a.mdl", Amount = 1}
- InFridge[7] = {FridgeName = "Chinese Takeaway", FridgeModel = "models/props_junk/garbage_takeoutcarton001a.mdl", Amount = 1}
- InFridge[8] = {FridgeName = "Banana", FridgeModel = "models/weapons/w_banana.mdl", Amount = 0}
- --cl_init.lua
- include("shared.lua")
- AddCSLuaFile( "init.lua" )
- function FridgeMenu()
- local FridgeFrame = vgui.Create( "DFrame" )
- FridgeFrame:Center()
- FridgeFrame:SetSize( 300, 500 )
- FridgeFrame:SetTitle( "Fridge" )
- FridgeFrame:SetVisible( true )
- FridgeFrame:SetDraggable( true )
- FridgeFrame:ShowCloseButton( true )
- FridgeFrame:MakePopup()
- FridgeFrame.Paint = function()
- draw.RoundedBox( 0,0,0, FridgeFrame:GetWide(), FridgeFrame:GetTall(), Color( 100, 0, 0, 255))
- draw.RoundedBox( 0,0,0, FridgeFrame:GetWide(), 20, Color( 200, 0, 0, 255))
- draw.RoundedBox( 0,0,0, 10, FridgeFrame:GetTall(), Color( 200, 0, 0, 255))
- draw.RoundedBox( 0,FridgeFrame:GetWide()-10,10, FridgeFrame:GetTall(), FridgeFrame:GetTall(), Color( 200, 0, 0, 255))
- draw.RoundedBox( 0,10,FridgeFrame:GetTall()-10, FridgeFrame:GetWide(), 10, Color( 200, 0, 0, 255))
- end
- local IconList = vgui.Create( "DPanelList", FridgeFrame )
- IconList:EnableVerticalScrollbar( true )
- IconList:EnableHorizontal( true )
- IconList:SetPos(10,30)
- IconList:SetSize(290, 450)
- IconList:SetPadding( 4 )
- for k,v in pairs(InFridge) do
- for i = 1, v.Amount do
- local InFridgeIcon = vgui.Create("SpawnIcon", IconList)
- InFridgeIcon:SetModel(v.FridgeModel)
- InFridgeIcon:SetToolTip(Format("%s", v.FridgeName))
- if v.Amount == 0 then
- InFridgeIcon:Remove(true)
- else
- IconList:AddItem(InFridgeIcon)
- end
- InFridgeIcon.DoClick = function(InFridgeIcon)
- InFridgeIcon:Remove()
- surface.PlaySound( "ui/buttonclickrelease.wav" )
- RunConsoleCommand("CreateFood", v.FridgeModel, v.Amount, v.FridgeName)
- end
- end
- end
- end
- usermessage.Hook("OpenTheFridge", FridgeMenu)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement