Besoin d'aide pour un script de protection du grade superadmin

  • Initiateur de la discussion
ax25

ax25

Geek
Messages
23
Score réaction
1
Points
80
Bonjour,

Je me demandais si il était possible de créer un script qui permet de regarder a chaque fois que quelqu'un est set superadmin sont steam id.

Si sont steam id n'est pas dans la liste des autorisé il se fait permaban instantanément.

est-ce possible ?
 
  • Initiateur de la discussion
ax25

ax25

Geek
Messages
23
Score réaction
1
Points
80
J'ai réussi a faire peut être la fin du code (je ne sais pas si sa marche)


Code:
 if ( ply:SteamID() == "STEAM_0:0:63254908") then end else ply:ChatPrint("Vous n'êtes pas autorisé a être super admin, " .. ply:Name() .. ".") ULib.ban(ply, 0, SuperAdmin non autorisé ) end

J'aurait besoin que quand quelqu'un reçois le rank superadmin sa effectue le code mis plus haut

Est-ce que utiliser un timer serais judicieux y'a t'il des risque de performance avec un timer qui check toute les 1 seconde ?
 
Dernière édition:
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
ax25 à dit:
J'ai réussi a faire peut être la fin du code (je ne sais pas si sa marche)


if ( ply:SteamID() == "STEAM_0:0:63254908") then
end
else
ply:ChatPrint("Vous n'êtes pas autorisé a être super admin, " .. ply:Name() .. ".")
ULib.ban(ply, 0, SuperAdmin non autorisé )
end


J'aurait besoin que quand quelqu'un reçois le rank superadmin sa effectue le code mis plus haut

Est-ce que utiliser un timer serais judicieux y'a t'il des risque de performance avec un timer qui check toute les 1 seconde ?

Bonsoir,

Alors très sincèrement, je pense que oui c'est pas très top un timer comme cela :/
 
  • Initiateur de la discussion
ax25

ax25

Geek
Messages
23
Score réaction
1
Points
80
RayZz à dit:
Bonsoir,

Alors très sincèrement, je pense que oui c'est pas très top un timer comme cela :/
De quel facon je pourrait le faire alors ? :/
Car je ne m'y connais pas très bien en glua
 
G-F-CD TheFrench

G-F-CD TheFrench

namespace Arthur;
Messages
451
Score réaction
38
Points
140
bais tu fait une table avec les steamid superadmin et tu fais une verification et si la personne n'es pas dans la table sa le ban
 
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
RayZz à dit:
Bonsoir,

Alors très sincèrement, je pense que oui c'est pas très top un timer comme cela :/
Ouais toutes les secondes c'est pas le mieux mais après @ax25 tu peux mettre un timer de 5 ou 10 secondes
Après pour un truc vraiment sécurisé sans trop de lag faudrait modifier ULX pour qu'il check quand tu set rank
 
Arctic

Arctic

Geek
Messages
44
Score réaction
13
Points
95
Tu devrais Detour la/les fonction qui permettent de setadmin et là tu vérifie si le steamid est correcte ou non.
 
  • Initiateur de la discussion
ax25

ax25

Geek
Messages
23
Score réaction
1
Points
80
Deadman69330 à dit:
Ouais toutes les secondes c'est pas le mieux mais après @ax25 tu peux mettre un timer de 5 ou 10 secondes
Après pour un truc vraiment sécurisé sans trop de lag faudrait modifier ULX pour qu'il check quand tu set rank
Arctic à dit:
Tu devrais Detour la/les fonction qui permettent de setadmin et là tu vérifie si le steamid est correcte ou non.
J'ai essayer quelque trucs

Code:
timer.Simple( 5, SAcheckgroup(ply) )
local function SAcheckgroup(ply) if (ply:GetUserGroup() == "superadmin") then function SAcheckid(ply) end else end
end
local function SAcheckid(ply) if ( ply:SteamID() == "STEAM_0:0:63254908") then end end else ply:ChatPrint("Vous n'êtes pas autorisé a être super admin, " .. ply:Name() .. ".") ULib.ban(ply, 0, SuperAdmin non autorisé ) end
end
Problème c'est que je ne sais pas comment check le rank de toute les personnes connecté au serveur + je ne sais même pas si se code marche.
 
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
ax25 à dit:
Problème c'est que je ne sais pas comment check le rank de toute les personnes connecté au serveur + je ne sais même pas si se code marche.


Code:
for k, v in pairs( player.GetAll() ) do if v:GetUserGroup() == "superadmin" and v:SteamID() ~= "STEAM_0:1:62626262" then ULib.ban(ply, 0, SuperAdmin non autorisé ) end
end

- Déjà on évite d'envoyer un message au joueur (vu qu'il est ban instant sa sert à rien)
- Ligne 12 y a un end pour rien
- Plutot que faire 2 fonctions, fait en une seule qui check d'un coup


Donc le code au complet (j'ai pas tester):

Code:
timer.Simple( 5, SAcheckgroup(ply) ) for k, v in pairs( player.GetAll() ) do if v:GetUserGroup() == "superadmin" and v:SteamID() ~= "STEAM_0:1:62626262" then ULib.ban(ply, 0, SuperAdmin non autorisé ) end end
end
 
  • Initiateur de la discussion
ax25

ax25

Geek
Messages
23
Score réaction
1
Points
80
Deadman69330 à dit:
Code:
for k, v in pairs( player.GetAll() ) do if v:GetUserGroup() == "superadmin" and v:SteamID() ~= "STEAM_0:1:62626262" then ULib.ban(ply, 0, SuperAdmin non autorisé ) end
end

- Déjà on évite d'envoyer un message au joueur (vu qu'il est ban instant sa sert à rien)
- Ligne 12 y a un end pour rien
- Plutot que faire 2 fonctions, fait en une seule qui check d'un coup


Donc le code au complet (j'ai pas tester):

Code:
timer.Simple( 5, SAcheckgroup(ply) ) for k, v in pairs( player.GetAll() ) do if v:GetUserGroup() == "superadmin" and v:SteamID() ~= "STEAM_0:1:62626262" then ULib.ban(ply, 0, SuperAdmin non autorisé ) end end
end
Merci bien ! j'irai le tester plus tard, j'ai juste a le mettre dans le dossier lua du serveur ?

Et pour rajouter des steam id je fait sa ?

Code:
"STEAM_0:1:62626262", "steamid2", "steamid3"
 
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
ax25 à dit:
Merci bien ! j'irai le tester plus tard, j'ai juste a le mettre dans le dossier lua du serveur ?

Et pour rajouter des steam id je fait sa ?

Code:
"STEAM_0:1:62626262", "steamid2", "steamid3"
Pour en rajouter soit tu fait une table soit si t'en a que 2 a faire tu peux faire ça

Code:
if v:GetUserGroup() == "superadmin" and ( v:SteamID() ~= "STEAM_0:1:62626262" or v:SteamID() ~= "STEAM_0:1:65653" ) then
Mais c'est pas propre si t'en a plus que 2
 
  • Initiateur de la discussion
ax25

ax25

Geek
Messages
23
Score réaction
1
Points
80
Deadman69330 à dit:
Pour en rajouter soit tu fait une table soit si t'en a que 2 a faire tu peux faire ça

Code:
if v:GetUserGroup() == "superadmin" and ( v:SteamID() ~= "STEAM_0:1:62626262" or v:SteamID() ~= "STEAM_0:1:65653" ) then
Mais c'est pas propre si t'en a plus que 2
On est 2 donc sa ira merci pour l'aide
 
  • Initiateur de la discussion
ax25

ax25

Geek
Messages
23
Score réaction
1
Points
80
Deadman69330 à dit:
Pour en rajouter soit tu fait une table soit si t'en a que 2 a faire tu peux faire ça

Code:
if v:GetUserGroup() == "superadmin" and ( v:SteamID() ~= "STEAM_0:1:62626262" or v:SteamID() ~= "STEAM_0:1:65653" ) then
Mais c'est pas propre si t'en a plus que 2
J'ai une érreur tu sais d'ou sa viens ?

08/07/2019 21:34:15: Lua Error:
[ERROR] lua_run:1: '=' expected near '\
'[ERROR] lua_run:1: '=' expected near '\'
 
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
ax25 à dit:
J'ai une érreur tu sais d'ou sa viens ?

08/07/2019 21:34:15: Lua Error:
[ERROR] lua_run:1: '=' expected near '\
'[ERROR] lua_run:1: '=' expected near '\'
Fait voir le code que t'a mis
 
  • Initiateur de la discussion
ax25

ax25

Geek
Messages
23
Score réaction
1
Points
80
Deadman69330 à dit:
Fait voir le code que t'a mis
Code:
timer.Simple( 5, SAcheckgroup(ply) ) for k, v in pairs( player.GetAll() ) do if v:GetUserGroup() == "superadmin" and ( v:SteamID() ~= "STEAM_0:0:63254908" or v:SteamID() ~= "STEAM_1:1:93879442" ) then ULib.ban(ply, 0, "SuperAdmin non autorisé https://discord.gg/fNhUdTw" ) end end
end
je devrait pas mettre
Code:
local function SAcheckgroup(ply)
avant la 3eme ligne ?
 
A!ex

A!ex

Geek suprême
Messages
521
Score réaction
87
Points
140
Code:
local protection = { [ "STEAM_0:0:63254908" ] = true, [ "STEAM_1:1:93879442" ] = true,
}
local function checkForSuperAdmin(ply, sid) for _, ply in ipairs( player.GetAll() ) do if !protection[ ply:SteamID() ] and ply:IsUserGroup( "superadmin" ) then ulx.ban( Entity( 1 ), ply, 0, "(Protection) Vous n'êtes pas whitelist par la protection pour etre superadmin " ) end end
end
timer.Create( "CheckForSuperAdmin", 1, 0, checkForSuperAdmin )
 
Dernière édition:
  • J'aime
Réactions: Deadman69330
Discord d'entraide
Rejoignz-nous sur Discord