Probleme de script LUA

  • Initiateur de la discussion
CodeX

CodeX

Têtard
Messages
4
Score réaction
0
Points
10
Bonjour/Bonsoir

Je viens de me lancer dans l'apprentissage du Glua et je m'entraîne en créant des petits scripts pour mieux comprendre comment ça marche mais j'ai un petit problème avec un de mes scripts

En fait je voudrais que quand je m'accroupi un texte en haut de mon écran m'indique que je suis accroupi et pareil si je suis debout. J'ai réussi à le faire mais il faut que je relance mon script à chaque fois dans la console pour que le texte change en fonction de si je suis accroupi ou debout.

Ma question est : peut on faire en sorte que le texte change automatiquement quand je m'accroupi dans le jeu ?
J'ai pensé que peut être on pouvait faire une boucle avec la variable qui s'occupe de check si je suis accroupi ou non mais je ne sais pas comment faire après des heures de recherche

Voici mon script :

local ply = LocalPlayer()

local accroupi = ply:Crouching()


if accroupi == true then
hook.Add("HUDPaint", "DrawMyHud", function()
draw.DrawText("Tu es accroupi", "TargetID", 0, 0, Color(255,255,255))
end)

else
hook.Add("HUDPaint", "DrawMyHud", function()
draw.DrawText("Tu es debout", "TargetID", 0, 0, Color(255,255,255))
end)

end


Merci d'avance pour votre aide ;)
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Quelque chose dans ce genre devrais fonctionné:

Code:
hook.Add("HUDPaint", "CrouchingOrNot", function() if LocalPlayer():Crouching() then draw.DrawText("Tu es accroupi", "TargetID", 0, 0, Color(255,255,255)) else draw.DrawText("Tu es debout", "TargetID", 0, 0, Color(255,255,255)) end
end)
 
Dernière édition:
Akulla

Akulla

Helpeur Divin
Messages
3 808
Score réaction
2 240
Points
550
Bah tu fais une boucle
 
  • Initiateur de la discussion
CodeX

CodeX

Têtard
Messages
4
Score réaction
0
Points
10
Merci Zaros pour ta réponse mais apparemment il y a une erreur dans le script :

function arguments expected near 'then'

Mais en lisant ton script je suppose qu'il doit effectuer la même chose que le mien à savoir afficher un texte mais celui-ci changera uniquement si je le ré éxecute manuellement

Akulla c'est justement ce que je pensais mais lorsque j'ai essayé gmod a crash. Je pense donc que la boucle ne doit pas se faire sur le draw.DrawText mais sur le player:Crouching
Seulement je ne sais pas comment m'y prendre
 
Akulla

Akulla

Helpeur Divin
Messages
3 808
Score réaction
2 240
Points
550
CodeX à dit:
Merci Zaros pour ta réponse mais apparemment il y a une erreur dans le script :

function arguments expected near 'then'

Mais en lisant ton script je suppose qu'il doit effectuer la même chose que le mien à savoir afficher un texte mais celui-ci changera uniquement si je le ré éxecute manuellement

Akulla c'est justement ce que je pensais mais lorsque j'ai essayé gmod a crash. Je pense donc que la boucle ne doit pas se faire sur le draw.DrawText mais sur le player:Crouching
Seulement je ne sais pas comment m'y prendre
Car ta boucle est trop rapide non ?
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Code:
hook.Add("HUDPaint", "CrouchingOrNot", function() if LocalPlayer():Crouching() then draw.DrawText("Tu es accroupi", "TargetID", 0, 0, Color(255,255,255)) else draw.DrawText("Tu es debout", "TargetID", 0, 0, Color(255,255,255)) end
end)
Il avait oublier () à Crouching
 
  • J'aime
Réactions: ZarosOVH
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
thepsyca à dit:
Code:
hook.Add("HUDPaint", "CrouchingOrNot", function() if LocalPlayer():Crouching() then draw.DrawText("Tu es accroupi", "TargetID", 0, 0, Color(255,255,255)) else draw.DrawText("Tu es debout", "TargetID", 0, 0, Color(255,255,255)) end
end)
Il avait oublier () à Crouching
j'étais sur tel j'suis pardonné ? :(
 
  • J'aime
Réactions: thepsyca
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
thepsyca à dit:
Je voulais pas te vexé :eek:
Trop tard! Aller tu me donne 5€ et on en parle plus Kappa
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Zaros_Live à dit:
Trop tard! Aller tu me donne 5€ et on en parle plus Kappa
Tu préfère pas 50 ?Kappa
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
  • J'aime
Réactions: thepsyca
  • Initiateur de la discussion
CodeX

CodeX

Têtard
Messages
4
Score réaction
0
Points
10
Merci beaucoup Zaros pour ton script qui fonctionne. Je suis d'ailleur impressionné qu'il fonctionne sans mettre de boucle mais les textes sont superposés quand je m'accroupi
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
CodeX à dit:
Merci beaucoup Zaros pour ton script qui fonctionne. Je suis d'ailleur impressionné qu'il fonctionne sans mettre de boucle mais les textes sont superposés quand je m'accroupi
Essaye ça:
Code:
hook.Add("HUDPaint", "CrouchingOrNot", function() local text = "" if LocalPlayer():Crouching() then text = "Tu es accroupi" else text = "Tu es debout" end draw.DrawText(text, "TargetID", 0, 0, Color(255,255,255))
end)
 
  • Initiateur de la discussion
CodeX

CodeX

Têtard
Messages
4
Score réaction
0
Points
10
Le script marche parfaitement merci beaucoup pour ton aide Zaros ;)
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Discord d'entraide
Rejoignz-nous sur Discord