[Glua] Une quest sur les variable

  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
Salut, je débute dans le G-Lua et je cherhce à savoir si c'est possible:

Que ma variable soit la même dans tout les fichier exemple

{addon}/lua/autorun/server:
Code:
exemple = "test"
{addon}/lua/autorun/client:
Code:
print( exemple )
 
Makss

Makss

Psychopathe
Messages
830
Score réaction
990
Points
310
Tu dois envoyer la variable au client ou la mettre en global avec SetGlobal[type] exemple SetGlobalInt
 
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Je crois qu'il faut envoyer un message Net mais je suis pas sûr
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
Deadman69330 à dit:
Je crois qu'il faut envoyer un message Net mais je suis pas sûr
Makss à dit:
Tu dois envoyer la variable au client ou la mettre en global avec SetGlobal[type] exemple SetGlobalInt

Ok merci je regarde tout sa
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
L'un d'entre vous pourrais me faire un exemple car je n'arrive pas à le faire fonctionner :/
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
Pour info j'ai mis le contenu de ma variable dans un data fichier mais dans mon cl_XXXX de client je n'arrive pas à la prendre:

Code:
LocalSteamID64 = SteamID64()
LocalName = Name()
LocalSteamID = SteamID() variable = file.Read("XXXXXX/"..LocalSteamID64 ..".txt", "DATA") print( variable )
attempt to call global 'SteamID64' <a nil value>
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Code:
local LocalSteamID64 = ply:SteamID64()
local LocalName = ply:Name()
local LocalSteamID = ply:SteamID() variable = file.Read("XXXXXX/"..LocalSteamID64 ..".txt", "DATA") print( variable )
côté serveur
et passe par un net dans se cas
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
thepsyca à dit:
Code:
local LocalSteamID64 = ply:SteamID64()
local LocalName = ply:Name()
local LocalSteamID = ply:SteamID() variable = file.Read("XXXXXX/"..LocalSteamID64 ..".txt", "DATA") print( variable )
côté serveur
Mais je doit le mettre dans mon HUD :/
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
GuiguiDakrp à dit:
Mais je doit le mettre dans mon HUD :/
Tu peut quand même faire un côté server ou même un fichier "partagé" lua/autorun
 
NOX3R

NOX3R

Geek suprême
Messages
436
Score réaction
148
Points
130
Si tu veux mettre le nom, le SteamID et tout utilise la fonction pour, au lieu de passer par des étapes inutiles qui ne font qu'allourdir le script
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
thepsyca à dit:
Tu peut quand même faire un côté server ou même un fichier "partagé" lua/autorun
Comment ? Un exemple ?
 
NOX3R

NOX3R

Geek suprême
Messages
436
Score réaction
148
Points
130
lua/autorun/shared
 
  • J'aime
Réactions: thepsyca
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
NOX3R à dit:
lua/autorun/shared
donc ?

lua/autorun/shared.lua:
Code:
local LocalSteamID64 = ply:SteamID64()
local LocalName = ply:Name()
local LocalSteamID = ply:SteamID() variable = file.Read("XXXXXX/"..LocalSteamID64 ..".txt", "DATA") print( variable )
C'est ça ? :)
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
GuiguiDakrp à dit:
donc ?

lua/autorun/shared.lua:
Code:
local LocalSteamID64 = ply:SteamID64()
local LocalName = ply:Name()
local LocalSteamID = ply:SteamID() variable = file.Read("XXXXXX/"..LocalSteamID64 ..".txt", "DATA") print( variable )
C'est ça ? :)
au passage tu peut enlever :
Code:
local LocalName = ply:Name()
local LocalSteamID = ply:SteamID()
vu que tu ne t'en sert pas
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
Oui c'est que je m'en sert par la suit du code
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
upload_2018-2-22_14-55-51.png
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
upload_2018-2-22_14-59-11.png
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
Bon, j'ai réglé l'erreur au-dessus mais je ne peut point recuperé la variable dans mon Client. mon code:

{addon}/lua/autorun/shared.lua
Code:
function steamidva( ply ) LocalSteamID64 = SteamID64() variable = file.Read("XXXXX/"..LocalSteamID64 ..".txt", "DATA") print( variable )
end
Mon client: {addon}/lua/autorun/client/cl_hud.lua

Que faut-il faire maintenant pour recup ma variable.
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Code:
local function steamidva( ply ) local LocalSteamID64 = ply:SteamID64() local variable = file.Read("XXXXX/"..LocalSteamID64 ..".txt", "DATA") print( variable[1] )
end
essaie pour voir
 
Dernière édition:
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
thepsyca à dit:
Code:
function steamidva( ply ) local LocalSteamID64 = ply:SteamID64() variable = file.Read("XXXXX/"..LocalSteamID64 ..".txt", "DATA") print( variable[1] )
end
essaie pour voir
Oui mais comment je le récupere la variable dans mon Client ? :)
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
GuiguiDakrp à dit:
Oui mais comment je le récupere la variable dans mon Client ? :)
beh la variable = variable[1]
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
upload_2018-2-22_17-45-11.png
upload_2018-2-22_17-45-11.png
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
Up! Voici mon code pour info si sa peut aider


lua/ =autorun/client/cl_hud.lua:
Code:
function OpenMOTD( ply )
recompense = "none" local translucency = 80 local MENU_COLOR = Color(0,0,0,translucency) local TITLE_BG_COLOR = Color(122,122,122, 90) local BG_COLOR = Color(255,255,255,translucency) local TEXT_COLOR = Color(255,255,255,225) local COUNTER_TEXT = Color(255,50,50,255) local TITLE_TEXT = Color(210,210,210,255) local DPanel = vgui.Create( "DPanel" ) DPanel:SetSize(175, 200) DPanel:SetPos(5,ScrH()/2) DPanel:SetBackgroundColor( BG_COLOR ) DPanel:SetVisible( true ) local DPanel2 = vgui.Create( "DPanel", DPanel ) DPanel2:SetSize(170, 195) DPanel2:SetPos(3, 3) DPanel2:SetBackgroundColor( MENU_COLOR ) local DPanel3 = vgui.Create( "DPanel", DPanel ) DPanel3:SetSize(170, 35) DPanel3:SetPos(3, 3) DPanel3:SetBackgroundColor( TITLE_BG_COLOR ) local DLabel = vgui.Create( "DLabel", DPanel ) DLabel:SetPos( 5, 5 ) DLabel:SetText( "Mission du jour:" ) DLabel:SetColor( TITLE_TEXT ) DLabel:SetFont("titletext") DLabel:SizeToContents() local TEXT1 = vgui.Create( "DLabel", DPanel ) TEXT1:SetPos( 10, 45 ) TEXT1:SetText( variable[1] ) TEXT1:SetColor( TEXT_COLOR ) TEXT1:SetFont("text") TEXT1:SizeToContents()
...

lua/autorun/shared.lua:
Code:
function steamidva( ply ) LocalSteamID64 = SteamID64() daymission = file.Read("mission/player/"..LocalSteamID64 ..".txt", "DATA") print( variable[1] )
end
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Déjà fait des function local, pareil pour ta variable recompense.
pour ta function steamidva passe par un net
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
thepsyca à dit:
Déjà fait des function local, pareil pour ta variable recompense.
pour ta function steamidva passe par un net
Donc ?

lua/autorun/client/cl_hud.lue:

Code:
local function OpenMOTD( ply )
local recompense = "none" local translucency = 80 local MENU_COLOR = Color(0,0,0,translucency) -- Color for the AFK checker local TITLE_BG_COLOR = Color(122,122,122, 90) -- Color behind AFK Timer text local BG_COLOR = Color(255,255,255,translucency) -- Color for the background of the AFK checker local TEXT_COLOR = Color(255,255,255,225) -- Color for Text local COUNTER_TEXT = Color(255,50,50,255) -- Color for the timer local TITLE_TEXT = Color(210,210,210,255) -- Color for AFK Timer text local DPanel = vgui.Create( "DPanel" ) DPanel:SetSize(175, 200) DPanel:SetPos(5,ScrH()/2) DPanel:SetBackgroundColor( BG_COLOR ) DPanel:SetVisible( true ) local DPanel2 = vgui.Create( "DPanel", DPanel ) DPanel2:SetSize(170, 195) DPanel2:SetPos(3, 3) DPanel2:SetBackgroundColor( MENU_COLOR ) local DPanel3 = vgui.Create( "DPanel", DPanel ) DPanel3:SetSize(170, 35) DPanel3:SetPos(3, 3) DPanel3:SetBackgroundColor( TITLE_BG_COLOR ) local DLabel = vgui.Create( "DLabel", DPanel ) DLabel:SetPos( 5, 5 ) DLabel:SetText( "Mission du jour:" ) DLabel:SetColor( TITLE_TEXT ) DLabel:SetFont("titletext") DLabel:SizeToContents() local TEXT1 = vgui.Create( "DLabel", DPanel ) TEXT1:SetPos( 10, 45 ) TEXT1:SetText( variable[1] ) TEXT1:SetColor( TEXT_COLOR ) TEXT1:SetFont("text") TEXT1:SizeToContents()
...
lua/autorun/shared.lua:

Code:
net.function steamidva( ply ) LocalSteamID64 = SteamID64() daymission = file.Read("mission/player/"..LocalSteamID64 ..".txt", "DATA") print( daymission )
end
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
http://wiki.garrysmod.com/page/Category:net

Code:
net.Receive( "my_message", function( len, pl ) local LocalSteamID64 = pl:SteamID64() local daymission = file.Read("mission/player/"..LocalSteamID64 ..".txt", "DATA") print( daymission )
end)
 
Dernière édition:
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
J'espère que c'est pas une valeur importe ta variable, parce que bon, la stocké côté client :x
Au passage, t'es au courant que le
daymission = file.Read("mission/player/"..LocalSteamID64 ..".txt", "DATA") ne sera pas le même côté serveur par rapport au client, et côté client par rapport au serveur ?
De plus, il peut très bien exister un fichier côté serveur, et pas client, l'inverse est possible, par conséquent tu pourrais avoir des erreurs soit côté serveur ou soit des erreurs côtés client, ou les deux même.
 
  • Initiateur de la discussion
G

GuiguiDakrp

Nouveau né
Messages
20
Score réaction
0
Points
15
Z3k4 à dit:
J'espère que c'est pas une valeur importe ta variable, parce que bon, la stocké côté client :x
Au passage, t'es au courant que le
daymission = file.Read("mission/player/"..LocalSteamID64 ..".txt", "DATA") ne sera pas le même côté serveur par rapport au client, et côté client par rapport au serveur ?
De plus, il peut très bien exister un fichier côté serveur, et pas client, l'inverse est possible, par conséquent tu pourrais avoir des erreurs soit côté serveur ou soit des erreurs côtés client, ou les deux même.


MAis c'est que je veux le mettre dans mon HUD
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
C'est pas parce que tu veux le mettre dans ton HUD que tu dois le stocké côté client.
L'argent, le nom, etc.. du darkrp ne sont pas stockée côté client, c'est des valeurs qui ne sont pas censée être modifié par les joueurs par la simple modification d'un fichier sur leurs ordinateur, après c'est à toi de voir, mais quelqu'un qui s'y intéresse un minimum pourra faire ce qu'il veut avec tes missions journalières
 
Discord d'entraide
Rejoignz-nous sur Discord