Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mps = {}
- mps.lang = "CN"
- mps.detectorstatus = 0
- if CLIENT then return end
- util.AddNetworkString( "mps_sendconfigdata" )
- util.AddNetworkString( "mps_startclientui")
- util.AddNetworkString( "mps_openconfigtool" )
- util.AddNetworkString( "mps_receiveconfigdata")
- util.AddNetworkString( "mps_initialconfigdata")
- util.AddNetworkString( "mps_senddetectorstatus")
- util.AddNetworkString( "mps_entityData" )
- util.AddNetworkString( "mps_initialF4" )
- mps = {}
- mps.storage = {}
- mps.cooling = {}
- mps.keypad = {}
- mps.armor = {}
- mps.tray = {}
- mps.printHead = {}
- mps.lang = "CN"
- mps.isF4 = false
- mps.cfg = {}
- mps.detectorstatus = 0
- -- Open config tool
- --
- net.Receive( "mps_openconfigtool", function()
- local ply = ents.GetByIndex(net.ReadInt(32))
- local group = ply:GetUserGroup()
- if ply:IsSuperAdmin() || table.HasValue( mps.groups, group ) then
- mps.lookForData()
- net.Start( "mps_startclientui" )
- net.WriteTable(mps.cfg)
- net.Send( ply )
- end
- end )
- -- Receive new settings + SAVE
- --
- net.Receive( "mps_receiveconfigdata", function()
- local ply = ents.GetByIndex(net.ReadInt(32))
- local group = ply:GetUserGroup()
- if ply:IsSuperAdmin() || table.HasValue( mps.groups, group ) then
- local cfg = net.ReadTable()
- mps.saveConfigData(cfg)
- end
- end )
- -- Saving new config data
- --
- function mps.saveConfigData(cfg)
- for i=0,table.Count(mps.cfg)-1,1 do
- for j=1,table.Count(mps.cfg[i])-1,1 do
- mps.cfg[i][j].value = cfg[i][j]
- end
- end
- file.CreateDir( "_mps" )
- file.Write("_mps/config.txt",util.TableToJSON(mps.cfg))
- end
- -- End of saving new config data
- function mps.lookForData()
- local config = file.Read("_mps/config.txt", "DATA")
- if !config then
- mps.cfg[0] = {}
- mps.cfg[0][0] = "Printer Base"
- mps.cfg[0][1] = { type = "money", name = "price", value = 1000 }
- mps.cfg[0][2] = { type = "generic", name = "health", value = 200 }
- mps.cfg[0][3] = { type = "percent", name = "malfunctionChance", value = 5 }
- mps.cfg[0][4] = { type = "percent", name = "malfunctionMoneyLost", value = 25 }
- mps.cfg[0][5] = { type = "seconds", name = "malfunctionTime", value = 10 }
- mps.cfg[1] = {}
- mps.cfg[1][0] = "Storage 1"
- mps.cfg[1][1] = { type = "money", name = "price", value = 1000 }
- mps.cfg[1][2] = { type = "generic", name = "space", value = 1000 }
- mps.cfg[2] = {}
- mps.cfg[2][0] = "Storage 2"
- mps.cfg[2][1] = { type = "money", name = "price", value = 2000 }
- mps.cfg[2][2] = { type = "generic", name = "space", value = 1500 }
- mps.cfg[3] = {}
- mps.cfg[3][0] = "Storage 3"
- mps.cfg[3][1] = { type = "money", name = "price", value = 3000 }
- mps.cfg[3][2] = { type = "generic", name = "space", value = 2500 }
- mps.cfg[4] = {}
- mps.cfg[4][0] = "Paper Tray 1"
- mps.cfg[4][1] = { type = "money", name = "price", value = 1000 }
- mps.cfg[5] = {}
- mps.cfg[5][0] = "Paper Tray 2"
- mps.cfg[5][1] = { type = "money", name = "price", value = 2000 }
- mps.cfg[6] = {}
- mps.cfg[6][0] = "Paper Tray 3"
- mps.cfg[6][1] = { type = "money", name = "price", value = 3000 }
- mps.cfg[7] = {}
- mps.cfg[7][0] = "Printhead 1"
- mps.cfg[7][1] = { type = "money", name = "price", value = 1000 }
- mps.cfg[7][2] = { type = "seconds", name = "printTime", value = 10 }
- mps.cfg[7][3] = { type = "money", name = "printValue", value = 100 }
- mps.cfg[8] = {}
- mps.cfg[8][0] = "Printhead 2"
- mps.cfg[8][1] = { type = "money", name = "price", value = 2500 }
- mps.cfg[8][2] = { type = "seconds", name = "printTime", value = 8 }
- mps.cfg[8][3] = { type = "money", name = "printValue", value = 150 }
- mps.cfg[9] = {}
- mps.cfg[9][0] = "Printhead 3"
- mps.cfg[9][1] = { type = "money", name = "price", value = 4000 }
- mps.cfg[9][2] = { type = "seconds", name = "printTime", value = 6 }
- mps.cfg[9][3] = { type = "money", name = "printValue", value = 200 }
- mps.cfg[10] = {}
- mps.cfg[10][0] = "Paper"
- mps.cfg[10][1] = { type = "money", name = "price", value = 500 }
- mps.cfg[11] = {}
- mps.cfg[11][0] = "Armor"
- mps.cfg[11][1] = { type = "money", name = "price", value = 2500 }
- mps.cfg[11][2] = { type = "generic", name = "health", value = 400 }
- mps.cfg[12] = {}
- mps.cfg[12][0] = "Antenna"
- mps.cfg[12][1] = { type = "money", name = "price", value = 2500 }
- mps.cfg[12][2] = { type = "percent", name = "baseTransferRate", value = 1 }
- mps.cfg[12][3] = { type = "generic", name = "maxLevel", value = 25 }
- mps.cfg[12][4] = { type = "percent", name = "ratePerLevel", value = 1 }
- mps.cfg[12][5] = { type = "generic", name = "cyclesPerTransfer", value = 4 }
- mps.cfg[12][6] = { type = "generic", name = "cyclesPerLevel", value = 100 }
- --mps.cfg[12][7] = { type = "generic", name = "storageDecrease", value = 30 }
- mps.cfg[13] = {}
- mps.cfg[13][0] = "Booster"
- mps.cfg[13][1] = { type = "money", name = "price", value = 2500 }
- mps.cfg[13][2] = { type = "seconds", name = "cooldown", value = 300 }
- mps.cfg[13][3] = { type = "seconds", name = "speedBoost", value = 2 }
- mps.cfg[13][4] = { type = "percent", name = "productionBoost", value = 25 }
- mps.cfg[13][5] = { type = "percent", name = "malfunctionRate", value = 50 }
- mps.cfg[13][6] = { type = "seconds", name = "boostTime", value = 30 }
- mps.cfg[14] = {}
- mps.cfg[14][0] = "Donator Token"
- mps.cfg[14][1] = { type = "money", name = "price", value = 2500 }
- mps.cfg[14][2] = { type = "seconds", name = "speedBoost", value = 3 }
- mps.cfg[14][3] = { type = "percent", name = "productionBoost", value = 25 }
- mps.cfg[14][4] = { type = "percent", name = "withdrawBoost", value = 25 }
- mps.cfg[15] = {}
- mps.cfg[15][0] = "Safe"
- mps.cfg[15][1] = { type = "money", name = "price", value = 2500 }
- mps.cfg[15][2] = { type = "money", name = "storageBoost", value = 5 }
- mps.cfg[15][3] = { type = "percent", name = "withdrawBoost", value = 5 }
- mps.cfg[15][4] = { type = "seconds", name = "additionalTime", value = 5 }
- mps.cfg[16] = {}
- mps.cfg[16][0] = "Keypad"
- mps.cfg[16][1] = { type = "money", name = "price", value = 2500 }
- mps.cfg[16][2] = { type = "seconds", name = "cooldown", value = 5 }
- --mps.cfg[16][3] = { type = "percent", name = "hackChance", value = 25 }
- mps.cfg[17] = {}
- mps.cfg[17][0] = "Police Detector"
- mps.cfg[17][1] = { type = "money", name = "price", value = 7500 }
- mps.cfg[17][2] = { type = "generic", name = "detectorRange", value = 512 }
- mps.cfg[17][3] = { type = "generic", name = "detectorAngle", value = 10 }
- mps.cfg[17][4] = { type = "seconds", name = "detectorCooldown", value = 5}
- mps.cfg[18] = {}
- mps.cfg[18][0] = "Silencer"
- mps.cfg[18][1] = { type = "money", name = "price", value = 2500 }
- mps.cfg[19] = {}
- mps.cfg[19][0] = "Language"
- mps.cfg[19][1] = { type = "generic", name = " ", value = "EN"}
- file.CreateDir( "_mps" )
- file.Write("_mps/config.txt",util.TableToJSON(mps.cfg))
- else
- --end of generating defaults
- mps.cfg = util.JSONToTable(config)
- mps.lang = mps.cfg[19][1].value
- --send config to everyone that happens to be near when server starts
- timer.Simple(5,function()
- net.Start( "mps_sendconfigdata" )
- net.WriteTable(mps.cfg)
- net.Broadcast()
- end)
- end
- end
- mps.lookForData()
- sound.Add( {
- name = "mps_printer_working",
- channel = CHAN_STATIC,
- volume = 0.2,
- level = 80,
- pitch = { 95, 110 },
- sound = "ambient/levels/labs/equipment_printer_loop1.wav"
- } )
- sound.Add( {
- name = "mps_printer_printing",
- channel = CHAN_STATIC,
- volume = 0.2,
- level = 80,
- pitch = { 95, 110 },
- sound = "2rek/mps/mps_print.mp3"
- } )
- function userAuthed( ply, stid, unid )
- net.Start( "mps_initialconfigdata" )
- net.WriteTable(mps.cfg)
- net.WriteString(mps.lang)
- net.Send(ply)
- if mps.isF4 == false then
- mps.isF4 = true
- mps.createF4(mps.cfg)
- end
- end
- hook.Add( "PlayerAuthed", "playerauthed", userAuthed )
Add Comment
Please, Sign In to add comment