Scoreboard Admin

  • Initiateur de la discussion ExtazyGray
  • Date de début
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Salut , j'ai le Scoreboard TCB FG mais voila , j'aimerais faire en sorte que le métier des joueurs ne soient visibles que par les admin , superadmin , etc...

Ca c'est le code qui gere l'affichage des job dans le TAB :

Code:
 local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end
Si vous avez la solution a mon problème je veux bien quelques explications au niveau du code ( comme ça j'apprends des trucs et je fais pas que du copier/coller )

Merci !
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Salut , j'ai le Scoreboard TCB FG mais voila , j'aimerais faire en sorte que le métier des joueurs ne soient visibles que par les admin , superadmin , etc...

Ca c'est le code qui gere l'affichage des job dans le TAB :

Code:
 local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end
Si vous avez la solution a mon problème je veux bien quelques explications au niveau du code ( comme ça j'apprends des trucs et je fais pas que du copier/coller )

Merci !
c'est pas le code qui gère l'affichage :/ c'est juste un panel avec le nom du mais il regarde si il y a personne dans le métier ben ca supprime le panel
 
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Gladiateur45 à dit:
c'est pas le code qui gère l'affichage :/ c'est juste un panel
Ah , et tu sais a quoi je pourrais reconnaitre la partie en question qui gère l'affichage des job ??

Pck quand je retire ce bout de code les jobs ne n'affichent plus dans le TAB et ne sont plus catégorisés .
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Ah , et tu sais a quoi je pourrais reconnaitre la partie en question qui gère l'affichage des job ??
En faite c'est pas tres loin de ca , car la tu a le panel ou il est écrit le job dessu , mais la ce que tu a donner c'est juste si il y a personne dans le job ben ca suprime le pannel :p moyen d'envoyer un code impeut plus long dans les allentours
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Ah , et tu sais a quoi je pourrais reconnaitre la partie en question qui gère l'affichage des job ??

Pck quand je retire ce bout de code les jobs ne n'affichent plus dans le TAB et ne sont plus catégorisés .
C'est juste en dessou normalement tu doit avoir un truc comme
Code:
team.GetName ()
un truc du genre
 
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Gladiateur45 à dit:
C'est juste en dessou normalement tu doit avoir un truc comme
Code:
team.GetName ()
un truc du genre
Code:
 --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) draw.RoundedBox( 0, 0, 0, w, h, team.GetColor( id ) ) draw.DrawText( team.GetName( id ), "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end
Oui no problem
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Code:
 --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) draw.RoundedBox( 0, 0, 0, w, h, team.GetColor( id ) ) draw.DrawText( team.GetName( id ), "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end
Oui no problem
Oups non trompé
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Code:
 --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) draw.RoundedBox( 0, 0, 0, w, h, team.GetColor( id ) ) draw.DrawText( team.GetName( id ), "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end
Oui no problem
La c'est mieux , remplace tout ce que tu m'as envoyer par ca :
Code:
CkeckGradeViewTeam = CkeckGradeViewTeam or {}
CkeckGradeViewTeam.Group = { ["superadmin"] = true, -- Ici Ajouter tes team , oublie pas la virgule :P ["admin"] = true
} --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) draw.RoundedBox( 0, 0, 0, w, h, team.GetColor( id ) ) local text = "" if CkeckGradeViewTeam.Group[LocalPlayer():GetUserGroup()] then text = team.GetName( id ) end draw.DrawText( text, "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end
 
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Gladiateur45 à dit:
La c'est mieux , remplace tout ce que tu m'as envoyer par ca :
Code:
CkeckGradeViewTeam = CkeckGradeViewTeam or {}
CkeckGradeViewTeam.Group = { ["superadmin"] = true, -- Ici Ajouter tes team , oublie pas la virgule :P ["admin"] = true
} --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) draw.RoundedBox( 0, 0, 0, w, h, team.GetColor( id ) ) local text = "" if CkeckGradeViewTeam.Group[LocalPlayer():GetUserGroup()] then text = team.GetName( id ) end draw.DrawText( text, "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end

Merci , par contre il doit y avoir une erreur .
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Ma console dit : [ERROR] expected near 'GetUserGroup"

Et si je me change de group pour verif si tout fonctionne sa fait une grosse erreur et tout ce qui est a l'ecran freeze
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Ma console dit : [ERROR] expected near 'GetUserGroup"
Montre le code en entier que tu a mis avec les ligne au dessu et en dessu pour voir comment tu l'as integrer :p ?
 
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Code:
 --> Loop Players for id, ply in pairs( player.GetAll() ) do --> Check Player if not IsValid( ply ) or not ply:IsPlayer() then return end --> Check Entry if IsValid( ply.ScoreEntry ) and ply.ScoreEntry.Team == ply:Team() then continue end --> Team if not self.PlayerList[ ply:Team() ] then self.PlayerList[ ply:Team() ] = {} end --> Insert table.insert( self.PlayerList[ ply:Team() ], ply ) end
CkeckGradeViewTeam = CkeckGradeViewTeam or {}
CkeckGradeViewTeam.Group = { ["superadmin"] = true, -- Ici Ajouter tes team , oublie pas la virgule :P ["admin"] = true
} --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) draw.RoundedBox( 0, 0, 0, w, h, team.GetColor( id ) ) local text = team.GetName( id ) if CkeckGradeViewTeam.Group[LocalPlayer()GetUserGroup()] then text = "" end draw.DrawText( text, "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end --> Players for k,v in pairs( job ) do --> Create v.ScoreEntry = vgui.Create( "FG-Scoreboard-Player" ) v.ScoreEntry:Setup( v ) --> Add self.Players:AddItem( v.ScoreEntry ) end end
Le code que tu m'a passer commence ligne 215 ( dans le fichier ) et j'ai copié de la ligne 194 a 264
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Code:
 --> Loop Players for id, ply in pairs( player.GetAll() ) do --> Check Player if not IsValid( ply ) or not ply:IsPlayer() then return end --> Check Entry if IsValid( ply.ScoreEntry ) and ply.ScoreEntry.Team == ply:Team() then continue end --> Team if not self.PlayerList[ ply:Team() ] then self.PlayerList[ ply:Team() ] = {} end --> Insert table.insert( self.PlayerList[ ply:Team() ], ply ) end
CkeckGradeViewTeam = CkeckGradeViewTeam or {}
CkeckGradeViewTeam.Group = { ["superadmin"] = true, -- Ici Ajouter tes team , oublie pas la virgule :P ["admin"] = true
} --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) draw.RoundedBox( 0, 0, 0, w, h, team.GetColor( id ) ) local text = team.GetName( id ) if CkeckGradeViewTeam.Group[LocalPlayer()GetUserGroup()] then text = "" end draw.DrawText( text, "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end --> Players for k,v in pairs( job ) do --> Create v.ScoreEntry = vgui.Create( "FG-Scoreboard-Player" ) v.ScoreEntry:Setup( v ) --> Add self.Players:AddItem( v.ScoreEntry ) end end
Le code que tu m'a passer commence ligne 215 ( dans le fichier ) et j'ai copié de la ligne 194 a 264
Oui c'est normal si tu regarde je m'était trompé et je t'ai renvoyer un code
Code:
CkeckGradeViewTeam = CkeckGradeViewTeam or {}
CkeckGradeViewTeam.Group = { ["superadmin"] = true, -- Ici Ajouter tes team , oublie pas la virgule :P ["admin"] = true
} --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) draw.RoundedBox( 0, 0, 0, w, h, team.GetColor( id ) ) local text = "" if CkeckGradeViewTeam.Group[LocalPlayer():GetUserGroup()] then text = team.GetName( id ) end draw.DrawText( text, "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end
Tu remplace ce que tu m'avait envoyer par ca
 
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Merci ! Ca fonctionne !

Juste en option ( si t'as la flemme tkt c'est pas grave , tfacon ca c'est en bonus si tu accepte ) est ce que c'est possible qu'il n'y ait plus aucune démarquation car j'ai encore les couleurs ?Apres j'ai plus l'ecriture ce qui deja suffisant .
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Merci ! Ca fonctionne !

Juste en option ( si t'as la flemme tkt c'est pas grave , tfacon ca c'est en bonus si tu accepte ) est ce que c'est possible qu'il n'y ait plus aucune démarquation car j'ai encore les couleurs ?Apres j'ai plus l'ecriture ce qui deja suffisant .
Pas de problème je te r'envoie le code dans 2 secondes , Juste pour les user je met quel couleur ?
 
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Gladiateur45 à dit:
Pas de problème je te r'envoie le code dans 2 secondes , Juste pour les user je met quel couleur ?
Tu peux ne pas en mettre ( si possible ) sinon met du vert stp vu que c'est la couleur citoyen .
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Tu peux ne pas en mettre ( si possible ) sinon met du vert stp vu que c'est la couleur citoyen .
Code:
CkeckGradeViewTeam = CkeckGradeViewTeam or {}
CkeckGradeViewTeam.Group = { ["superadmin"] = true, -- Ici Ajouter tes team , oublie pas la virgule :P ["admin"] = true
} --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) local text = "" local color = Color(255,255,255) -- ici tu met la couleur que tu veut de base Blanc if CkeckGradeViewTeam.Group[LocalPlayer():GetUserGroup()] then text = team.GetName( id ) color = team.GetColor( id ) end
draw.RoundedBox( 0, 0, 0, w, h, color ) draw.DrawText( text, "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end
Tu rempalce par le code que tu m'avait donner
 
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
Merci , j'ai le résultat voulu ! Merci a toi et a ta determination a m'aider !
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
ExtazyGray à dit:
Merci , j'ai le résultat voulu ! Merci a toi et a ta determination a m'aider !
Pas de problème , tu peut passé le poste en résolut alors
 
  • J'aime
Réactions: Malcolm
  • Initiateur de la discussion
E

ExtazyGray

Geek
Messages
37
Score réaction
9
Points
60
J'ai re-modifier le code avec les très légères connaissances que j'ai et tout le parcours sa a fait sa :

A la base :

Capture d’écran (10).png

Après ta modif :

Capture d’écran (11).png

Après ma légère retouche :

Capture d’écran (12).png

Au final je te remercie grandement parce que sans toi j'en serais encore a essuyer echec sur echec de code .

Je met le code pour ceux que ça pourrait interresser ( a copier a la ligne 215 ) :

Code:
CkeckGradeViewTeam = CkeckGradeViewTeam or {}
CkeckGradeViewTeam.Group = { ["superadmin"] = true, -- Ici Ajouter tes team , oublie pas la virgule :P ["admin"] = true
} --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) if CkeckGradeViewTeam.Group[LocalPlayer():GetUserGroup()] then TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() end if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h ) -- ici tu met la couleur que tu veut de base Blanc if CkeckGradeViewTeam.Group[LocalPlayer():GetUserGroup()] then text = team.GetName( id ) color = team.GetColor( id )
draw.RoundedBox( 0, 0, 0, w, h, color ) draw.DrawText( text, "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end end
 
  • J'aime
Réactions: Malcolm
Aslanletuurque

Aslanletuurque

[Unity CEO]
Messages
26
Score réaction
3
Points
80
ExtazyGray à dit:
J'ai re-modifier le code avec les très légères connaissances que j'ai et tout le parcours sa a fait sa :

A la base :

Regarde la pièce jointe 9234

Après ta modif :

Regarde la pièce jointe 9235

Après ma légère retouche :

Regarde la pièce jointe 9236

Au final je te remercie grandement parce que sans toi j'en serais encore a essuyer echec sur echec de code .

Je met le code pour ceux que ça pourrait interresser ( a copier a la ligne 215 ) :

Code:
CkeckGradeViewTeam = CkeckGradeViewTeam or {}
CkeckGradeViewTeam.Group = { ["superadmin"] = true, -- Ici Ajouter tes team , oublie pas la virgule :P ["admin"] = true
} --> Loop Teams for id, job in pairs( self.PlayerList ) do --> Team Display local TeamPanel = self.Players:Add( "DPanel" ) if CkeckGradeViewTeam.Group[LocalPlayer():GetUserGroup()] then TeamPanel:Dock( TOP ) TeamPanel:SetHeight( 30 ) TeamPanel.Think = function() end if team.GetPlayers( id ) == 0 then TeamPanel:Remove() end end TeamPanel.Paint = function( pnl, w, h )
-- ici tu met la couleur que tu veut de base Blanc if CkeckGradeViewTeam.Group[LocalPlayer():GetUserGroup()] then text = team.GetName( id ) color = team.GetColor( id )
draw.RoundedBox( 0, 0, 0, w, h, color ) draw.DrawText( text, "FG_JaapokkiRegular_22", 10, 6, Color( 255, 255, 255, 255 ) ) end end
 
Discord d'entraide
Rejoignz-nous sur Discord