Avez vous une idée ?

  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
Bonjour,
je vous fais se poste pour vous demander si cela était possible de faire que quand la personne met une commande dans le chat sa marque a tout les autre staff [Administration] Nom du staff A PRIS SON SERVICE EN STAFF. ( si vous avez une idée de comment faire je suis preneur )
 
AyZenSantos

AyZenSantos

Psychopathe
Messages
3 361
Score réaction
753
Points
300
tout est possible :)
 
  • J'aime
Réactions: Makss
  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
Fleodon à dit:
Oui :
function myCommand(player,command,args)

local ply = LocalPlayer()
chat.AddText( Color( 100, 100, 255 ), ply, ", à pris son service en staff. ", Color( 100, 255, 100 ) )

end

concommand.Add("myCommand",myCommand)

Tu mettras ces lignes de code dans un fichier "staff" > "lua" > "autorun" > Fichier texte "cl_staff.lua".
Puis tu tapperas la commande "myCommand"
Y'a t'il que les staff qui le voit ou aussi les user
 
  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
Et tu serai faire en sort que sa reste entre staff
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Fleodon à dit:
Tout le monde.
Heee chat.AddText c'est uniquement le joueur concerné qui va voir le message donc la celui qui utilisera la commande de mémoir
 
Makss

Makss

Psychopathe
Messages
830
Score réaction
990
Points
310
Fleodon à dit:
Oui :
function myCommand(player,command,args)

local ply = LocalPlayer()
chat.AddText( Color( 100, 100, 255 ), ply, ", à pris son service en staff. ", Color( 100, 255, 100 ) )

end

concommand.Add("myCommand",myCommand)

Tu mettras ces lignes de code dans un fichier "staff" > "lua" > "autorun" > Fichier texte "cl_staff.lua".
Puis tu tapperas la commande "myCommand"
/me se crève les yeux
- C'est dans le chat, pas la console
- C'est côté client pas shared
- Fonction global
- " local ply = LocalPlayer() " inutile et en plus y'a déjà un argument player dans la fonction
- Variable ply affiché dans le chat et pas le pseudo de la personne
- Seulement la personne qui a fait la commande voit le message
- Le color() à la fin de chat.AddText inutile
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Fleodon à dit:
Oui :
function myCommand(player,command,args)

local ply = LocalPlayer()
chat.AddText( Color( 100, 100, 255 ), ply, ", à pris son service en staff. ", Color( 100, 255, 100 ) )

end

concommand.Add("myCommand",myCommand)

Tu mettras ces lignes de code dans un fichier "staff" > "lua" > "autorun" > Fichier texte "cl_staff.lua".
Puis tu tapperas la commande "myCommand"
C'est pour une commande de console ça

Code:
-- Config :
local GroupAdmin = { ["superadmin"] = true, ["admin"] = true, ["moderateur"] = true }
local commanded = "!staff"
-- Fin de la Config.
for _ , v in pairs(player.GetAll()) do if GroupAdmin[v:GetUserGroup()] then v:SteamID().condi = false end
end
hook.Add( "PlayerSay", "PriseService", function( ply, text ) if GroupAdmin[ply:GetUserGroup()] and text == commanded then for _, human in pairs(player.GetHumans()) do if GroupAdmin[human:GetUserGroup()] and !human.SteamID().condi then human.SteamID().condi = true human:ChatPrint(ply:Nick() .. " A PRIS SON SERVICE.") elseif GroupAdmin[human:GetUserGroup()] and human.SteamID().condi then human.SteamID().condi = false human:ChatPrint(ply:Nick().." A TERMINE SON SERVICE.") end end end
end )
Aucune idée pour afficher uniquement à des joueurs précis... @Makss ?

P.S. : A placer dans lua/autorun/server/textch.lua
 
Dernière édition:
Makss

Makss

Psychopathe
Messages
830
Score réaction
990
Points
310
Feytone à dit:
C'est pour une commande de console ça

Code:
-- Config :
local GroupAdmin = { ["superadmin"] = true, ["admin"] = true, ["moderateur"] = true }
local commanded = "!staff"
-- Fin de la Config.
hook.Add( "PlayerSay", "PriseService", function( ply, text ) if GroupAdmin[ply:GetUserGroup()] and text == commanded then ply:ChatPrint( ply:Name().." A PRIS SON SERVICE" ) end
end )
Aucune idée pour afficher uniquement à des joueurs précis... @Makss ?

P.S. : A placer dans lua/autorun/server/textch.lua
Ah bah ça déjà c'est beaucoup plus mieux :D
Pour afficher à certaines personnes seulement tu peux loop tout les humains et regarder s'il fait partis du staff :
Code:
if GroupAdmin[ply:GetUserGroup()] and text == commanded then for _, human in pairs(player.GetHumans()) do if GroupAdmin[human:GetUserGroup()] then human:ChatPrint(ply:Nick() .. " A PRIS SON SERVICE ") end end
end
 
  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
Ducoup toute la ligne de code c'est ;

-- Config :
local GroupAdmin = { ["superadmin"] = true, ["admin"] = true, ["Moderateur"] = true, ["Moderateur Test"] = true, }
local commanded = "!admin"
-- Fin de la Config.
if GroupAdmin[ply:GetUserGroup()] and text == commanded then
for _, human in pairs(player.GetHumans()) do
if GroupAdmin[human:GetUserGroup()] then
human:ChatPrint(ply:Nick() .. " A PRIS SON SERVICE ")
end
end
end
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Makss à dit:
Ah bah ça déjà c'est beaucoup plus mieux :D
Pour afficher à certaines personnes seulement tu peux loop tout les humains et regarder s'il fait partis du staff :
Code:
if GroupAdmin[ply:GetUserGroup()] and text == commanded then for _, human in pairs(player.GetHumans()) do if GroupAdmin[human:GetUserGroup()] then human:ChatPrint(ply:Nick() .. " A PRIS SON SERVICE ") end end
end
Yey. Je connaissais pas le truc des humans. Faut absolument que je regarde ça.
 
  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
Je les mis sur mon serveur est quand je met !admin sa met "A PRIS SON SERVICE" et quand je met !admin une 2ème fois sa me met sa au lieu de "A QUITTER SONT SERVICE"
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
darckfil à dit:
Ducoup toute la ligne de code c'est ;

-- Config :
local GroupAdmin = { ["superadmin"] = true, ["admin"] = true, ["Moderateur"] = true, ["Moderateur Test"] = true, }
local commanded = "!admin"
-- Fin de la Config.
if GroupAdmin[ply:GetUserGroup()] and text == commanded then
for _, human in pairs(player.GetHumans()) do
if GroupAdmin[human:GetUserGroup()] then
human:ChatPrint(ply:Nick() .. " A PRIS SON SERVICE ")
end
end
end
Non mais je t'ai actualisé mon code avec sa modification à lui.
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
darckfil à dit:
Je les mis sur mon serveur est quand je met !admin sa met "A PRIS SON SERVICE" et quand je met !admin une 2ème fois sa me met sa au lieu de "A QUITTER SONT SERVICE"
C'est normal tu l'as pas demandé. Bon pareil, je vais actualiser avec ce que tu demandes. Tu es sûr que tu veuilles par ailleurs qu'uniquement le staff voit ce message ? Car ça me paraît inutile sinon puisque le staff remarque généralement quand un collègue se co. Bref, je vais t'actualiser mon code (celui au dessus).
 
  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
a ok
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
et on est d'accord si je fait !admin sa me met en service mais les autre staffs vois que je me suis mis en service
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
darckfil à dit:
et on est d'accord si je fait !admin sa me met en service mais les autre staffs vois que je me suis mis en service
Actuellement :
si tu fais !admin, cela envoie un message à tous les admins (par chat) en disant : Prénom Nom A PRIS SON SERVICE.
Si tu refais !admin, cela envoie un message à tous les admins et uniquement eux en disant : Prénom Nom A TERMINE SON SERVICE.
 
  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
Avec tout les ligne que tu a modifier je vois que Prénom Nom A TERMINE SON SERVICE. et plus Prénom Nom A PRIS SON SERVICE.
 
Makss

Makss

Psychopathe
Messages
830
Score réaction
990
Points
310
Feytone à dit:
local condi = false hook.Add( "PlayerSay", "PriseService", function( ply, text ) if GroupAdmin[ply:GetUserGroup()] and text == commanded then for _, human in pairs(player.GetHumans()) do if GroupAdmin[human:GetUserGroup()] and !condi then condi = true human:ChatPrint(ply:Nick() .. " A PRIS SON SERVICE.") elseif GroupAdmin[human:GetUserGroup()] and condi then condi = false human:ChatPrint(ply:Nick().." A TERMINE SON SERVICE.") end end end end )
Attention avec la variable condi, elle se mets à true pour tout les admins donc si A fais !admin alors B quand il fera !admin aura le message quitter
 
  • Initiateur de la discussion
darckfil

darckfil

Geek suprême
Messages
107
Score réaction
11
Points
115
ducoup je fais quoi moi pour que tout fonctionne
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Makss à dit:
Attention avec la variable condi, elle se mets à true pour tout les admins donc si A fais !admin alors B quand il fera !admin aura le message quitter
Right. Je vais la personnaliser avec quoi... Le steamid de chacun ? ça va être compliqué côté client... Quoi que. Je teste un truc et tu me dis ce que t'en penses.
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Feytone à dit:
Right. Je vais la personnaliser avec quoi... Le steamid de chacun ? ça va être compliqué côté client... Quoi que. Je teste un truc et tu me dis ce que t'en penses.
Test avec cela http://wiki.garrysmod.com/page/Entity/GetNWBool

J'ai lu vite fais le post donc me taper pas si vous parlez pas de ca :(
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Zaros_Live à dit:
Test avec cela http://wiki.garrysmod.com/page/Entity/GetNWBool

J'ai lu vite fais le post donc me taper pas si vous parlez pas de ca :(
Pourquoi pas mais à voir si ma petite technique via le steamID peut être fonctionnelle ou non...
Juste @Yoh Sambre ♪ ou @Makss vous pourriez me passer le lien de la page pour vérifier les erreurs de son code lua ? Car je l'ai pas sur le pc où je suis...
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Feytone à dit:
Pourquoi pas mais à voir si ma petite technique via le steamID peut être fonctionnelle ou non...
Juste @Yoh Sambre ♪ ou @Makss vous pourriez me passer le lien de la page pour vérifier les erreurs de son code lua ? Car je l'ai pas sur le pc où je suis...
https://fptje.github.io/glualint-web/
 
Makss

Makss

Psychopathe
Messages
830
Score réaction
990
Points
310
Zaros_Live à dit:
Test avec cela http://wiki.garrysmod.com/page/Entity/GetNWBool
Nan t'as bien répondu mais NWBool c'est pas du tout optimisé, y'a juste le serveur qui a besoin de savoir si l'admin est en service ou non
Feytone à dit:
Juste @Yoh Sambre ♪ ou @Makss vous pourriez me passer le lien de la page pour vérifier les erreurs de son code lua
https://fptje.github.io/glualint-web/
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Makss à dit:
Nan t'as bien répondu mais NWBool c'est pas du tout optimisé, y'a juste le serveur qui a besoin de savoir si l'admin est en service ou non

https://fptje.github.io/glualint-web/
J'ai corrigé du coup, t'en penses quoi ? ça me paraît cohérent.
 
Makss

Makss

Psychopathe
Messages
830
Score réaction
990
Points
310
Feytone à dit:
human.SteamID().condi
human.SteamID() c'est une fonction qui retourne le steamid du joueur, tu peux pas mettre une variable dessus c'est comme si on faisait
Code:
"philippe".condi
Si tu veux continuer de cette façon c'est plutôt human.condi, mais ça rends la clé " condi " sur le joueur global donc c'est pas très optimisé;
Par contre tu peux utiliser une variable qui stock les steamids des admins en service
 
Discord d'entraide
Rejoignz-nous sur Discord