NSP - Naki Serveur Protection

NSP - Naki Serveur Protection 1.2

Aucune autorisation de téléchargement
  • Initiateur de la discussion Nakilox
  • Date de début
Vue principale Mises à jour (2) Historique Discussion
  • Initiateur de la discussion
Nakilox

Nakilox

Nouveau né
Messages
13
Score réaction
3
Points
20
Nakilox a posté une nouvelle ressource :

NSP - Naki Serveur Protection - Système anti-spam, anti-propkill et prop limit pour votre serveurs Garry's mod.

️ Naki Serveur Protection (NSP)

Système de sécurité complet pour votre serveur Garry's Mod :

Anti PropKill → Bloque les kills avec des props
Anti PropStack → Empêche le spam de props (anti-crash)
Prop Limit → Limite le nombre de props par joueur

Facile à configurer via sh_config.lua
Messages personnalisables

Développé par Nakilox
En savoir plus sur cette ressource...
 
  • Initiateur de la discussion
Nakilox

Nakilox

Nouveau né
Messages
13
Score réaction
3
Points
20
Nakilox a mis à jour NSP - Naki Serveur Protection avec une nouvelle version :

Mise à jour du système de limites de props et affichage dynamique

  • La limite de props est maintenant dynamique, ajustée selon le grade du joueur (VIP, Admin, etc.).
  • Affichage du nombre de props posés et de la limite max dans l'HUD.
  • Ajouts de l'affichage du HUD : maintenant en bas à droite et parfaitement lisible.
  • Optimisation de la gestion des props et envoi des données au client.
  • Les grade fonctionne avec ulx/sam/fadmin
Lire la suite de cette mise à jour...
 
  • Initiateur de la discussion
Nakilox

Nakilox

Nouveau né
Messages
13
Score réaction
3
Points
20
Nakilox a mis à jour NSP - Naki Serveur Protection avec une nouvelle version :

️ NSP - Nouveautés/Corrections & Intégration FPP - v1.2

✨ Nouveautés :
  • ✅ Meilleure détection AFK : mouvement, touche, et messages dans le chat.
  • ✅ Nettoyage automatique plus fluide des props pour les joueurs AFK.
  • ✅ Les armes sont pas supprimées (stringweapon désactivé).

Inclus maintenant :
- FPP (Falco's Prop Protection) directement dans le zip.

Corrections :
  • ️ Correction de l’erreur liée à GetPlayerPropLimit.
  • Résolution d’un problème de virgule dans la configuration.

Pensez à...
Lire la suite de cette mise à jour...
 
  • Initiateur de la discussion
Nakilox

Nakilox

Nouveau né
Messages
13
Score réaction
3
Points
20
AutoClean AFK

AFKTime = 60, -- Temps en secondes avant nettoyage (ici, 5 minutes

Remplacé par ( si vous voulez 5 minutes de temps)

AFKTime = 300, -- Temps en secondes avant nettoyage (ici, 5 minutes)
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 521
Score réaction
9 795
Points
1 845
1 - Tu fait réinstaller FalcoPropProtection alors qu'il est déjà présent dans le gamemode darkrp ?, c'est pour le sandbox j'imagine ? (auquelle cas je trouve ça un peu étrange de pas juste indiquer le lien officiel)

2 -

if cfg.PropKill and cfg.PropKill.Enable then
hook.Add("EntityTakeDamage", "NSP_AntiPropKill", function(target, dmg)
if not IsValid(target) or not target:IsPlayer() then return end

local inflictor = dmg:GetInflictor()
if IsValid(inflictor) and inflictor:GetClass() == "prop_physics" then
dmg:SetDamage(0)
local owner = inflictor.CPPIGetOwner and inflictor:CPPIGetOwner()
if IsValid(owner) and owner:IsPlayer() and cfg.Messages and cfg.Messages.PropKill then
owner:ChatPrint(cfg.Messages.PropKill)
end
end
end)
end
aucun intérêt a CPPIGetOwner dans ce contexte (ou alors j'ai pas compris ton code) , un chatprint ?

3 -
if cfg.PropStack and cfg.PropStack.Enable then
local lastPropSpawn = {}

hook.Add("PlayerSpawnProp", "NSP_AntiPropStack", function(ply)
local last = lastPropSpawn[ply] or 0
local now = CurTime()

if now - last < cfg.PropStack.Interval then
if cfg.Messages and cfg.Messages.PropStack then
ply:ChatPrint(cfg.Messages.PropStack)
end
return false
end

lastPropSpawn[ply] = now
end)
end
PropStack ? tu veux plutôt dire PropSpam non ?

4 -
if cfg.AutoCleanAFK and cfg.AutoCleanAFK.Enable then
local afkTimes = {}
local afkDelay = cfg.AutoCleanAFK.AFKTime or 300
local cleanedPlayers = {}

hook.Add("PlayerSay", "NSP_ResetAFKTimer", function(ply)
afkTimes[ply] = CurTime()
if cfg.AutoCleanAFK.Notify and cleanedPlayers[ply] then
if cfg.Messages and cfg.Messages.AFKBack then
ply:ChatPrint(cfg.Messages.AFKBack)
end
cleanedPlayers[ply] = nil
end
end)

hook.Add("KeyPress", "NSP_ResetAFKOnKey", function(ply, key)
afkTimes[ply] = CurTime()
if cfg.AutoCleanAFK.Notify and cleanedPlayers[ply] then
if cfg.Messages and cfg.Messages.AFKBack then
ply:ChatPrint(cfg.Messages.AFKBack)
end
cleanedPlayers[ply] = nil
end
end)
wtf is that bro ? , si le mec écrit dans le chat il est plus afk ? xD sachant que si il bouge ça fait déja office de remise en jeux

5 -
hook.Add("Think", "NSP_AutoCleanAFKThink", function()
for _, ply in ipairs(player.GetAll()) do
if not afkTimes[ply] then afkTimes[ply] = CurTime() end

if CurTime() - afkTimes[ply] >= afkDelay and not cleanedPlayers[ply] then
for _, ent in ipairs(ents.GetAll()) do
if ent:IsValid() and ent.CPPIGetOwner and ent:CPPIGetOwner() == ply and ent:GetClass() == "prop_physics" then
ent:Remove()
end
end

local msg = cfg.Messages and cfg.Messages.AutoCleanAFK
if msg then
msg = string.Replace(msg, "{count}", tostring(ply:GetCount("props")))
ply:ChatPrint(msg)
end

afkTimes[ply] = CurTime()
cleanedPlayers[ply] = true
end
end
end)
end
je commence à croire que c'est une IA qui a fait le code car la c'est une catastrophe BlobFearful

6 -
hook.Add("PlayerSpawnProp", "NSP_PropCount_Track", function(ply, model)
timer.Simple(0.1, function()
SendPropCount(ply)
end)
end)

hook.Add("EntityRemoved", "NSP_PropCount_Update", function(ent)
if not IsValid(ent) or ent:GetClass() ~= "prop_physics" then return end

local owner = ent:CPPIGetOwner()
if IsValid(owner) and owner:IsPlayer() then
timer.Simple(0.1, function()
SendPropCount(owner)
end)
end
end)

hook.Add("PlayerInitialSpawn", "NSP_PropCount_Initial", function(ply)
timer.Simple(5, function()
SendPropCount(ply)
end)
end)
ouai bon la c'est surtout le format qui est un peu inutile voir fait de manière non cohérente (mention honorable au "model" en argument)

bref dans l'ensemble c'est un peu le bordel mais je suis pas la juste pour critiquer tkt , j'apprécie le fait de vouloir proposer un addon du genre ici (c'est si rare) , juste faites le bien les gars
 
  • J'aime
Réactions: Nakilox
  • Initiateur de la discussion
Nakilox

Nakilox

Nouveau né
Messages
13
Score réaction
3
Points
20
Yoh Sambre ♪ à dit:
1 - Tu fait réinstaller FalcoPropProtection alors qu'il est déjà présent dans le gamemode darkrp ?, c'est pour le sandbox j'imagine ? (auquelle cas je trouve ça un peu étrange de pas juste indiquer le lien officiel)

2 -



aucun intérêt a CPPIGetOwner dans ce contexte (ou alors j'ai pas compris ton code) , un chatprint ?

3 -


PropStack ? tu veux plutôt dire PropSpam non ?

4 -


wtf is that bro ? , si le mec écrit dans le chat il est plus afk ? xD sachant que si il bouge ça fait déja office de remise en jeux

5 -


je commence à croire que c'est une IA qui a fait le code car la c'est une catastrophe BlobFearful

6 -


ouai bon la c'est surtout le format qui est un peu inutile voir fait de manière non cohérente (mention honorable au "model" en argument)

bref dans l'ensemble c'est un peu le bordel mais je suis pas la juste pour critiquer tkt , j'apprécie le fait de vouloir proposer un addon du genre ici (c'est si rare) , juste faites le bien les gars
Salut merci pour ton retour sa fait plaisir.

Pour le CPPIGetOwner, je l’ai mis à certains endroits pour éviter les erreurs ou au cas où certains hooks l’exigent, mais ouais je vais épurer là où c’est inutile.
Le nom PropStack c’est censé être "anti stack" rapide, mais t’as raison, je vais le renommer en PropSpam.
Le système de prop count a besoin d’un petit clean-up, c’est un début de base que je compte retravailler.

Bref je prends note, le but c’est justement d’évoluer avec les retours (même secs ).
 
  • J'aime
Réactions: Yoh Sambre ♪
Discord d'entraide
Rejoignz-nous sur Discord