ConVar

  • Initiateur de la discussion Feytone
  • Date de début
  • Initiateur de la discussion
Feytone

Feytone

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

j'ai besoin d'un boolean que j'aurais besoin dans tout mon script.
Donc voilà ce que ça donne :

Code:
hook.Add( "Initialize", "script", function() cvars.Bool( "examplemtx", false )
end
Est-ce que comme ça j'aurais créé un boolean que je pourrais utiliser dans tout mon script ou cela se crée différemment (ou peut-être un convar n'est pas le mieux...) ?

Bisous.
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
J'en profite pour poser une autre question :

Si je veux envoyer un message d'un fichier lua dans un autorun à un fichier dans une autre sous-partie, le net est-il la meilleure solution et peut-on ajouter un racine au net pour cibler le fichier auquel envoyer (ce netmessage) ?
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
https://wiki.garrysmod.com/page/ConVars
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Je relance ma deuxième question qui est la plus importante en résumant :

comment envoyer un net d'un fichier A qui est l'init de mon entité dans : lua/entites/monentite/init.lua
à mon fichier B qui est : lua/monscript/client/HERE

Thx d'avance.
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Feytone à dit:
Je relance ma deuxième question qui est la plus importante en résumant :

comment envoyer un net d'un fichier A qui est l'init de mon entité dans : lua/entites/monentite/init.lua
à mon fichier B qui est : lua/monscript/client/HERE

Thx d'avance.
beh avec un net.Start ?
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Yep mais j'arrive pas à le faire recevoir à mon fichier (mon net.Start est placé dans un AcceptInput)
J'ai bien le net.Receive

Doit-on placer la racine du fichier quelque part ?
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Feytone à dit:
Yep mais j'arrive pas à le faire recevoir à mon fichier (mon net.Start est placé dans un AcceptInput)
J'ai bien le net.Receive

Doit-on placer la racine du fichier quelque part ?
wtf,ça à aucun rapport avec un fichier,ta un net.Receive et un net.start,si tu send côté serveur par contre tu dois faire net.Send(ply)
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Ben alors regarde je ne comprends :

Code:
net.Start("testnet") net.WriteEntity(self) net.Send(caller)
Code:
net.Receive("testnet" tnfct)
Et dans mon côté serveur j'ai bien un util.AddNetworkString avec le bon nom de fichier
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
ta une erreur lua ?
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Code:
[ERROR] addons/feytoneaddon/lua/entities/monentite/init.lua:29: Tried to use a NULL entity!
1. Send - [C]:-1
2. unknown - addons/feytoneaddon/lua/entites/monentite/init.lua:29
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
caller est mauvais.
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Tu peux pas envoyer d'informations de joueur à joueur faut obligatoirement passé par le serveur pour envoyer à un joueur souhaiter
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Z3k4 à dit:
Tu peux pas envoyer d'informations de joueur à joueur faut obligatoirement passé par le serveur pour envoyer à un joueur souhaiter
Je vois pas le problème... J'envoie de l'init donc du serveur vers le caller...
Que me conseilles-tu ?
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Feytone à dit:
Je vois pas le problème... J'envoie de l'init donc du serveur vers le caller...
Que me conseilles-tu ?
Poste ton code car là avec des bouts c'est pas simple.
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Le init.lua dans : lua/entities/monentite/init.lua

Code:
util.AddNetworkString("LoaFrame")
function ENT:AcceptInput( Name, Activator, Caller ) local curTime = CurTime(); if (!self.nextUse or curTime >= self.nextUse) then self.nextUse = curTime + 0.5; if Name == "Use" and Caller:IsPlayer() then net.Start("LoaFrame") net.WriteEntity(self) net.Send(Caller) end end
end
le client dans : lua/monscript/client/loaframe.lua

Code:
net.Receive("LoaFrame" LoaFrame)
surface.CreateFont("BasicFont", { font = "Segoe UI", size = 25, weight = 500,})
function LoaFrame() black = Color(0,0,0,255) white = Color(255,255,255,255) local mainlf = vgui.Create("DFrame") mainlf:SetSize(ScrW()*0.702, ScrH()*0.703) mainlf:Center() mainlf:ShowCloseButton(true) mainlf.Paint = function(self,w,h) draw.RoundedBox(0,0,0,w,h,black) draw.SimpleText("Loa.","BasicFont",w/2,h*(2/3),white,1,1) end
end
C'est tout ce qu'il y a réellement.
 
Dernière édition:
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
beh le fichier est dans ton cl_init,tu peut pas faire un net.Start de client à client
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Amane à dit:
beh le fichier est dans ton cl_init,tu peut pas faire un net.Start de client à client
Simple erreur lorsque j'ai marqué le init.lua. Il est bel et bien dans init.lua (j'ai corrigé le chemin que j'avais marqué)
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
déjà enlève le WriteEntity("self")
il sert à rien
et utilise : https://wiki.garrysmod.com/page/ENTITY/Use
avec caller en minuscule
 
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Essaye de faire un fichier ici /lua/autorun/server/ et tu met tes util.AddNetworkString

Pour après les redistribué partout ou tu veux (net.Start/net.Send(ply))

Et tu les reçois (net.Receive)
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
EglyKozz à dit:
Essaye de faire un fichier ici /lua/autorun/server/ et tu met tes util.AddNetworkString

Pour après les redistribué partout ou tu veux (net.Start/net.Send(ply))

Et tu les reçois (net.Receive)
Donc je garde ma config actuelle mais je crée un lua/autorun/server/network.lua
Et ici je place le util.AddNetworkString pourquoi pas...

Je teste dans quelques heures quand j'aurais du temps tout ça.
 
  • J'aime
Réactions: EglyKozz
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
déjà te manque une virgule ici je crois
net.Receive("LoaFrame" LoaFrame)
 
  • J'aime
Réactions: Feytone
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Amane à dit:
déjà te manque une virgule ici je crois
net.Receive("LoaFrame" LoaFrame)
Yep, de plus le net.Receive doit être après la fonction, étant donner que le code s’exécute petit à petit, il n'est pas compiler ( en gros, tu peux pas utiliser des codes qui ne sont pas déclaré avant) :p
 
  • J'aime
Réactions: Feytone
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Z3k4 à dit:
Yep, de plus le net.Receive doit être après la fonction, étant donner que le code s’exécute petit à petit, il n'est pas compiler ( en gros, tu peux pas utiliser des codes qui ne sont pas déclaré avant) :p
ça fais quand même pas mal de temps que j'ai pas fais de lua,normalement même si on déclare une function lors de la compilation ça te la remet au début du fichier non ?
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Amane à dit:
ça fais quand même pas mal de temps que j'ai pas fais de lua,normalement même si on déclare une function lors de la compilation ça te la remet au début du fichier non ?
Je serai pas trop l'expliqué, mais si tu souhaites vraiment appeler d'autres fonctions sans dépendre d'une autre, il faut créer d'autres fichiers et les inclure :p
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Z3k4 à dit:
Je serai pas trop l'expliqué, mais si tu souhaites vraiment appeler d'autres fonctions sans dépendre d'une autre, il faut créer d'autres fichiers et les inclure :p
waow,c'est de la merde le Lua
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Amane à dit:
waow,c'est de la merde le Lua
Non pas vraiment xD
Ça t'apprends à t'organiser dans tes sources
 
  • J'aime
Réactions: Feytone
  • Initiateur de la discussion
Feytone

Feytone

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

Du coup je pense que l'erreur de virgule et surtout le fait que mon net soit avant était le problème.
Je teste tout ça et je vous donnerais les conclusions.
Merci @Amane, @EglyKozz et @Z3k4
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Z3k4 à dit:
Non pas vraiment xD
Ça t'apprends à t'organiser dans tes sources
beh un language normal ça te fout les fonctions avant qq soit ou tu les place
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Amane à dit:
beh un language normal ça te fout les fonctions avant qq soit ou tu les place
Nope, regarde le .net, c+, java, etc. ^^ :p
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Z3k4 à dit:
Nope, regarde le .net, c+, java, etc. ^^ :p
java jamais fais
C++ c'est un cas particulier
c# ouais
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Je up du coup car j'ai testé tout ce qui m'a été proposé et rien...
J'ai aucune erreur LUA sur le serveur mais je présume qu'en solo ce doit être toujours pareil.

Donc si je passe pas par le caller, comment je fais ?
Sachant, je rappelle, je ne passe pas par le cl_init mais j'aimerais passer par un autre fichier hors de mon entité pour des raisons pratiques et j'ai déjà vu ça donc je me dis que c'est pas impossible...
 
Discord d'entraide
Rejoignz-nous sur Discord