Aide sur le GLua

  • Initiateur de la discussion
Feytone

Feytone

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

EDIT : Je revois les CodeBlue Tutorials.

j'apprends au fur et à mesure le GLua mais je vous avoue que je bloque pas mal.

Je ne sais jamais par quoi commencer etc...
donc comment me traduiriez-vous toutes ces histoires de hook.Add , local function etc...

Comment je sais par quoi je commence ? Dans les hook.Add, il y a des fois des fonctions, est-ce important ? et si Oui lesquelles ?

Merci pour vos réponses futures.
 
Dernière édition:
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
hook.Add c'est pour déclencher une fonction à un certain événement
Exemple :
Faire en sorte que le joueur meurt à l'événement "PlayerSpawn"
local function c'est pour que ça utilisable que dans le fichier
 
  • J'aime
Réactions: kirikoumalou
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Je me retape tous les tutoriels de Code Blue, histoire d'être tranquille.

Donc si il me manque toujours des connaissances, je referais un UP sur ce sujet ;)
 
  • Initiateur de la discussion
Feytone

Feytone

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

Bon j'ai un petit un problème :

Code:
if ply:Armor() > 0 then
Il me sort une erreur quoi que je mette comme signe alors comment signifier que si l'armure du joueur est au dessus de 0 alors ?
 
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Quelle est l'erreur ?
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Je tente avec (à confirmer) :

Code:
for k , v in pairs(player.GetAll()) do
if v:Armor() > 0 then
L'erreur est toujours le signe :

lua/learn.lua:38: 'then' expected near '='
 
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
Envois ton learn.lua en entier si possible
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Code:
surface.CreateFont( "Perso", { font = "Arial", extended = false, size = 20, weight = 500, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false,
} )
local ply = LocalPlayer()
local armor = v:Armor()
function hud() local health = ply:Health() draw.RoundedBox(0,8,ScrH() - 592,300+4 , 30 + 4,Color(40,40,40)) draw.RoundedBox(0,300 + 10 ,ScrH() - 592,70, 30 + 4,Color(40,40,40)) draw.RoundedBox(0,10,ScrH() - 590,health * 3,30,Color(255,120,120,200)) draw.SimpleText(health.. "%","Perso",10 + 150 , ScrH() - 590 + 15,Color(255,255,255),1,1)
end
function armor() for k , v in pairs(player.GetAll()) do if v:Armor() > 0 then draw.RoundedBox.(0 ,314 ,ScrH() - 580 ,62 ,30 ,Color(81,54,255) ) draw.SimpleText("Armure","Perso",314 + 20,ScrH() - 580 + 4,Color(255,255,255)) else draw.RoundedBox.(0,314,ScrH() - 580,62,30,Color(111,111,111)) draw.SimpleText("Armure","Perso",314 + 20,ScrH() - 580 + 4,Color(255,255,255)) end
end
hook.Add("HUDPaint" , "DrawMyHud" , "UniqueName" hud, armor)

La nouvelle erreur est :

[ERROR] lua/learn.lua:40: '<name>' expected near '('
1. unknown - lua/learn.lua:0
 
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
draw.RoundedBox. tu as mis un point après RoundedBox ligne 40
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Je viens de voir en relisant x)
 
henoireil

henoireil

Geek suprême
Messages
348
Score réaction
103
Points
150
pareil ligne 45 d'ailleurs
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
J'ai corrigé toutes les erreurs, mais maintenant beh j'ai l'impression qu'il charge toujours le script d'avant sans mes rajouts...

J'ai donc fait en sorte qu'il y ait une seconde rundedbox à côté pour signaler l'armure... mais rien n'apparaît, pas le fond donc la rundedbox à droite de la première et la couleur bleu ou grise de la fonction armor...

Voici mon script actuel :

Code:
surface.CreateFont( "Perso", { font = "Arial", extended = false, size = 20, weight = 500, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false,
} )
local ply = LocalPlayer()
function hud() local health = ply:Health() draw.RoundedBox(0,8,ScrH() - 592,300+4 , 30 + 4,Color(40,40,40)) draw.RoundedBox(0,320,ScrH() - 592,70, 30 + 4,Color(40,40,40)) draw.RoundedBox(0,10,ScrH() - 590,health * 3,30,Color(255,120,120,200)) draw.SimpleText(health.. "%","Perso",10 + 150 , ScrH() - 590 + 15,Color(255,255,255),1,1)
end
function armor() for k , v in pairs(player.GetAll()) do if v:Armor() > 0 then draw.RoundedBox(0 ,324 ,ScrH() - 580 ,62 ,30 ,Color(81,54,255) ) draw.SimpleText("Armure","Perso",324 + 20,ScrH() - 580 + 4,Color(255,255,255)) else draw.RoundedBox(0,324,ScrH() - 580,62,30,Color(111,111,111)) draw.SimpleText("Armure","Perso",324 + 20,ScrH() - 580 + 4,Color(255,255,255)) end end
end
hook.Add("HUDPaint" , "DrawMyHud" , "UniqueName", hud, armor)
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
@henoireil ou @Z3k4 voire @Apohy une idée ?
 
Renard220

Renard220

Geek suprême
Messages
100
Score réaction
28
Points
100
J'ai pas compris la partie ou tu regarde l'armure de tout les joueurs pour afficher l'armure mais bref, voici une version fonctionnelle de ton hud.

Code:
surface.CreateFont( "Perso", { font = "Arial", extended = false, size = 20, weight = 500, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false,
} )
local ply = LocalPlayer()
function hud() local health = ply:Health() draw.RoundedBox(0,8,ScrH() - 592,300+4 , 30 + 4,Color(40,40,40)) draw.RoundedBox(0,320,ScrH() - 592,70, 30 + 4,Color(40,40,40)) draw.RoundedBox(0,10,ScrH() - 590,health * 3,30,Color(255,120,120,200)) draw.SimpleText(health.. "%","Perso",10 + 150 , ScrH() - 590 + 15,Color(255,255,255),1,1) if ply:Armor() > 0 then draw.RoundedBox(0 ,324 ,ScrH() - 580 ,62 ,30 ,Color(81,54,255) ) draw.SimpleText("Armure","Perso",324 + 20,ScrH() - 580 + 4,Color(255,255,255)) else draw.RoundedBox(0,324,ScrH() - 580,62,30,Color(111,111,111)) draw.SimpleText("Armure","Perso",324 + 20,ScrH() - 580 + 4,Color(255,255,255)) end
end
hook.Add("HUDPaint" , "DrawMyHud", hud)
Si tu as besoin d'aide, n'hésite pas a me contacter.
 
  • Initiateur de la discussion
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Okey je viens de comprendre. C'est simplement que j'ai fait une deuxième fonction de manière inutile alors que j'aurais pu intégrer le If à ma fonction hud ;)
 
Discord d'entraide
Rejoignz-nous sur Discord