Compare commits

..

3 Commits

Author SHA1 Message Date
88b07a6194 recreation of symtom claass and symbtom_list 2023-09-03 21:50:27 +02:00
79b0f2d2ac opti use path_create 2023-09-03 21:40:37 +02:00
a45536aeab add: save disease 2023-09-03 21:40:13 +02:00
10 changed files with 75 additions and 16 deletions

View File

@ -1,17 +1,7 @@
utils = include("sv_utils.lua")
config = include("../sh_config.lua")
local dirs = utils.split(config.config_path, "/")
table.remove(dirs)
local tmp = "";
for i, dir in ipairs(dirs) do
tmp = tmp .. dir
if not file.Exists(tmp, "DATA")
then
file.CreateDir(tmp)
end
tmp = tmp .. "/"
end
utils.path_create(config.config_path)
if not file.Exists(config.config_path, "DATA")
then

View File

@ -0,0 +1,14 @@
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,4 @@
utils = include("sv_utils.lua")
config = include("../sh_config.lua")
utils.path_create(config.save_path .. "/ss")

View File

@ -0,0 +1,18 @@
Symbtom = {}
--- Disease class
---@param side name string? the name of the symbtom (string)
---@param side func function? the function called when symbtom
---@param side delay number? delay time between two symbtoms
---@param side level float? the level of the symbtom (between 0-1)
function Symbtom:new(name, func, level, delay)
local instance = {}
setmetatable(instance, {__index = Disease})
instance.name = name
instance.func = func
instance.level = level
instance.delay = delay
return instance
end
return Symbtom

View File

@ -1 +0,0 @@
Symbtoms_list = {}

View File

@ -8,4 +8,21 @@ function utils.split (str, sep)
return new_table
end
function utils.path_create(path)
local dirs = utils.split(path, "/")
table.remove(dirs)
local tmp = "";
for i, dir in ipairs(dirs) do
tmp = tmp .. dir
print(tmp)
if not file.Exists(tmp, "DATA")
then
file.CreateDir(tmp)
end
tmp = tmp .. "/"
end
end
return utils

View File

@ -1,10 +1,11 @@
include("autorun/server/sv_symbtoms.lua")
symbtoms_list = include("sv_symbtoms.lua")
table.insert(Symbtoms_list, "cough" = cough_func)
table.insert(symbtoms_list, "cough" = cough)
--- Send a packet to trigger cough animation to the player
---@param side UID64 string? UID64 of the player
---@param side level float? A float between 0 and 1
---@return void
function cough(UID64)
function cough(UID64, level)
end

View File

@ -0,0 +1,3 @@
symbtoms_list = {}
return symbtoms_list

View File

@ -0,0 +1,11 @@
symbtoms_list = include("sv_symbtoms.lua")
table.insert(symbtoms_list, "vomit" = vomit)
--- Send a packet to trigger cough animation to the player
---@param side UID64 string? UID64 of the player
---@param side level float? A float between 0 and 1
---@return void
function vomit(UID64, level)
end

View File

@ -3,4 +3,6 @@ config = {}
-- the config file path location
config.config_path = "disease/config.json"
config.save_path = "disease/saves"
return config