Mon net.Receive ne fonctionne pas :/

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

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Bonjour,

Je voudrais faire en sorte que le temps restant avant la sortie de l'item de la machine soit afficher au dessus du props, sauf que mon net.Receive ne fonctionne pas :/

Voilà mon code Serveur (il y a bien un If avant ne vous inquiétez pas) :
Code:
util.AddNetworkString("wood_in_sawmill")
function ENT:StartTouch(ent) if..... elseif ent:GetClass() == "deadman_lumber_wood" and not self.isTransforming then ent:Remove() self.isTransforming = true self.finishTransformingTime = CurTime() + self.timeTransforming self:SetNWBool("wood_in_sawmill",true) net.Start("wood_in_sawmill") net.Send(self:CPPIGetOwner()) end
end

Et mon code Client (je sais que c'est pas très propre mais pour l'instant je voudrais déjà que ça marche) :
Code:
local drawmeplease = 0 net.Receive("wood_in_sawmill", function(len, pl) local drawmeplease = 1 end)
function ENT:Draw()
if drawmeplease == 0 then draw.SimpleText("Veuillez insérer du bois", "deadman_lumber_1",0,-500,Color(255,255,255),1,1) elseif drawmeplease == 1 then draw.SimpleText("Veuillez patientez 5 secondes","deadman_lumber_1",0,-500,Color(255,255,255),1,1) timer.Simple(1,function() local drawmeplease = 2 end) elseif drawmeplease == 2 then draw.SimpleText("Veuillez patientez 4 secondes","deadman_lumber_1",0,-500,Color(255,255,255),1,1) timer.Simple(1,function() local drawmeplease = 3 end) elseif drawmeplease == 3 then draw.SimpleText("Veuillez patientez 3 secondes","deadman_lumber_1",0,-500,Color(255,255,255),1,1) timer.Simple(1,function() local drawmeplease = 4 end) elseif drawmeplease == 4 then draw.SimpleText("Veuillez patientez 2 secondes","deadman_lumber_1",0,-500,Color(255,255,255),1,1) timer.Simple(1,function() local drawmeplease = 5 end) elseif drawmeplease == 5 then draw.SimpleText("Veuillez patientez 1 secondes","deadman_lumber_1",0,-500,Color(255,255,255),1,1) timer.Simple(1,function() local drawmeplease = 0 end) end
end
Pourtant il y a quelque chose de bizarre, quand j'essaye de mettre un print dans mon net.Receive, il s'affiche bien dans ma console joueur mais c'est comme si il ne définissait pas la variable "drawmeplease" sur 1 :/


Merci de votre aide :)
 
S

skillztv_

Geek suprême
Messages
248
Score réaction
47
Points
125
Il faut que tu enleve le "local" devant le : "drawmeplease" :)
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
skillztv_ à dit:
Il faut que tu enleve le "local" devant le : "drawmeplease" :)
Devant tous ? Pcq j'ai pas envie d'en faire une variable globale
 
S

skillztv_

Geek suprême
Messages
248
Score réaction
47
Points
125
Deadman69330 à dit:
Devant tous ? Pcq j'ai pas envie d'en faire une variable globale
Juste dans le net.receive je crois, dans l'un de mes scripts j'avais eu le même problème.
 
  • J'aime
Réactions: Deadman69330
S

skillztv_

Geek suprême
Messages
248
Score réaction
47
Points
125
Ou alors tu peut utiliser un : exemple = {}
 
  • J'aime
Réactions: Deadman69330
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Deadman69330 à dit:
Devant tous ? Pcq j'ai pas envie d'en faire une variable globale
Non, tu le mets en local à la racine de ton fichier ou de ta fonction principale (bref à partir du moment où il te sert), et ensuite t'enlèves tous les local
 
  • J'aime
Réactions: Deadman69330
S

skillztv_

Geek suprême
Messages
248
Score réaction
47
Points
125
Deadman69330 à dit:
Devant tous ? Pcq j'ai pas envie d'en faire une variable globale
En clair, tu laisse le local au début du script et tu enlève touts les autres.
 
  • J'aime
Réactions: Deadman69330
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Ca marche niquel merci beaucoup :)
 
Discord d'entraide
Rejoignz-nous sur Discord