add infect menu aaand reformat the project

This commit is contained in:
2023-09-06 16:49:26 +02:00
parent 8463b22928
commit 7bb58e5c09
10 changed files with 183 additions and 18 deletions

View File

@ -0,0 +1,51 @@
settings = include("../sv_settings.lua")
config = include("../sv_config.lua")
infect = include("../sv_infect.lua")
util.AddNetworkString("get_diseases_name")
util.AddNetworkString("get_players_data")
util.AddNetworkString("infect")
net.Receive("get_diseases_name", function (len, ply)
local name_list = {}
for i, disease in ipairs(settings.diseases)
do
table.insert(name_list, disease.name)
end
net.Start("get_diseases_name")
net.WriteTable(name_list)
net.Send(ply)
end)
net.Receive("get_players_data", function (len, ply)
local files, _ = file.Find(config.save_path .. "*", "DATA")
local data = {}
for i, file_ in ipairs(files)
do
local ply_data = util.JSONToTable(file.Read(config.save_path .. file_))
local ret = {}
local ply = player.GetBySteamID64(ply_data.SteamID64)
if ply == false
then
ret.nick = ply_data.name
else
ret.nick = ply:Nick()
end
ret.SteamID64 = ply_data.SteamID64
table.insert(data, ret)
end
net.Start("get_players_data")
net.WriteTable(data)
net.Send(ply)
end)
net.Receive("infect", function (len, ply)
local data = net.ReadTable()
for _, infected in ipairs(data.infecteds)
do
print("1")
infect(infected, data.diseases)
end
end)
print("bozo")

View File

@ -0,0 +1,8 @@
config = {}
-- the config file path location
config.settings_path = "disease/settings.json"
config.save_path = "disease/saves/"
return config

View File

@ -1,14 +0,0 @@
config = include("../sh_config.lua")
hook.Add("PlayerInitialSpawn", "reAddDisease", function (ply)
local file_path = config.save_path .. "/" .. ply:SteamID64() .. ".json"
print(file_path)
if not file.Exists(file_path, "DATA")
then
local default = {}
default.diseases = {}
file.Write(file_path, util.TableToJSON(default, true))
end
local data = file.Read(file_path)
ply.diseases = util.JSONToTable(data)
end)

View File

@ -0,0 +1,20 @@
config = include("sv_config.lua")
---@param side infected number? the steam id 64 of player infected
---@param side diseases table? a table of diseases
function infect(infected, diseases)
local file_path = config.save_path .. infected .. ".json"
local diseases_stages = {}
for _, disease_name in ipairs(diseases)
do
local disease_stage = {}
disease_stage.disease = disease_name
disease_stage.stage = 1
table.insert(diseases_stages, disease_stage)
end
local data = util.JSONToTable(file.Read(file_path))
table.Add(data.diseases, diseases_stages)
file.Write(file_path, util.TableToJSON(data, true))
end
return infect

View File

@ -0,0 +1,3 @@
include("menus/sv_infect_menu.lua")
include("sv_saves.lua")
include("sv_settings.lua")

View File

@ -1,4 +1,21 @@
utils = include("sv_utils.lua")
config = include("../sh_config.lua")
config = include("sv_config.lua")
utils.path_create(config.save_path .. "/ss")
utils.path_create(config.save_path .. "/ss")
hook.Add("PlayerInitialSpawn", "reAddDisease", function (ply)
local file_path = config.save_path .. ply:SteamID64() .. ".json"
print(file_path)
if not file.Exists(file_path, "DATA")
then
local data = {}
data.diseases = {}
data.SteamID64 = ply:SteamID64()
data.name = ply:Nick()
file.Write(file_path, util.TableToJSON(data, true))
end
local data = util.JSONToTable(file.Read(file_path))
data.name = ply:Nick()
file.Write(file_path, util.TableToJSON(data, true))
ply.diseases = data.diseases
end)

View File

@ -1,5 +1,5 @@
utils = include("sv_utils.lua")
config = include("../sh_config.lua")
config = include("sv_config.lua")
symbtoms_list = include("sv_symbtom_list.lua")
Symbtom = include("sv_symbtom.lua")
Disease = include("sv_disease.lua")