Une question sur du lua :D

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

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Bonjour tout le monde,C'est encore moi .
Alors j'aimerais faire en sorte que quand il font la touche USE sur une entité ben sa le change de Job donc j'ai deja fait pour que quand il appuille sur USE ça fait une action et puis j'ai mis çca mais avec ca quand j'appuille rien ne se passe aucune erreure
Mon conde dans le cl_init :
Code:
local function ChangerTeam( ply, text, team, death) ply:ChangeTeam( TEAM_POLICE , true)
end
hook.Add( "PlayerSay", "ChangerTeam", ChangerTeam );
Merci d'avance :D
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
Gladiateur45 à dit:
Bonjour tout le monde,C'est encore moi .
Alors j'aimerais faire en sorte que quand il font la touche USE sur une entité ben sa le change de Job donc j'ai deja fait pour que quand il appuille sur USE ça fait une action et puis j'ai mis çca mais avec ca quand j'appuille rien ne se passe aucune erreure
Mon conde dans le cl_init :
Code:
hook.Add( "PlayerSay", "ChangerTeam", ChangerTeam );
Merci d'avance :D
wtf
 
  • Initiateur de la discussion
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Yoh Sambre ♪ à dit:
J'aimerais que quand il appuille sur l'entité ben ca le change de Metier mais mon code je ne voit pas pourquoi il ne ocntionne pas
 
  • Initiateur de la discussion
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Petit Up :D
 
  • Initiateur de la discussion
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Personne ?
 
M

Makeudreams

Geek
Messages
115
Score réaction
26
Points
95
Non
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
J'ai pas du tout compris cette p*tain de logique.

Donc côté serveur, si tu fais +USE, ça fait quoi pour qu'il comprenne que t'a fait +USE ?

Pourquoi un hook ? Il ne sert à rien ici vu que ton joueur ne chat rien (playersay wtf)...

Donc côté serveur : ton ChangeTeam se met à cet endroit vu que comme tu le vois sur le wiki du DarkRP où tu as trouvé ça, c'est bleu : serverside (revoir les tutos CodeBlue en Lua)

Code:
ENT:Use()
caller:ChangeTeam("NOM DE LA TEAM",false,false) -- Le premier false sert à dire si tu tiens compte ou pas des autorisations écrites sur le code de ton métier pour obtenir ce job (ex : VIP), le second false dit si tu mets une notification ou non.
end
caller est donné (voir wiki GM) dans le ENT:Use() donc pas besoin de savoir qui est le LocalPlayer() ou d'autres manières comme celles-ci.
 
  • J'aime
Réactions: Yoh Sambre ♪
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Levo à dit:
Ok merci :(
En soit tu peut faire comme cela tu dit que : say et / lacommandedujob ceSt une possibilités parmi d'autres.
Pourquoi pas mais tu as moins de possibilités qu'avec ma manière (tu ne peux pas choisir les options qui suivent la team (voir mon autre message)
 
Valfunde

Valfunde

Helpeur Divin
Messages
3 800
Score réaction
1 235
Points
450
Feytone à dit:
J'ai pas du tout compris cette p*tain de logique.

Donc côté serveur, si tu fais +USE, ça fait quoi pour qu'il comprenne que t'a fait +USE ?

Pourquoi un hook ? Il ne sert à rien ici vu que ton joueur ne chat rien (playersay wtf)...

Donc côté serveur : ton ChangeTeam se met à cet endroit vu que comme tu le vois sur le wiki du DarkRP où tu as trouvé ça, c'est bleu : serverside (revoir les tutos CodeBlue en Lua)

Code:
ENT:Use()
caller:ChangeTeam("NOM DE LA TEAM",false,false) -- Le premier false sert à dire si tu tiens compte ou pas des autorisations écrites sur le code de ton métier pour obtenir ce job (ex : VIP), le second false dit si tu mets une notification ou non.
end
caller est donné (voir wiki GM) dans le ENT:Use() donc pas besoin de savoir qui est le LocalPlayer() ou d'autres manières comme celles-ci.
Si tu fais ca, n'oublie pas de faire ENT:Use(caller)
 
  • J'aime
Réactions: Feytone
  • Initiateur de la discussion
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Feytone à dit:
J'ai pas du tout compris cette p*tain de logique.

Donc côté serveur, si tu fais +USE, ça fait quoi pour qu'il comprenne que t'a fait +USE ?

Pourquoi un hook ? Il ne sert à rien ici vu que ton joueur ne chat rien (playersay wtf)...

Donc côté serveur : ton ChangeTeam se met à cet endroit vu que comme tu le vois sur le wiki du DarkRP où tu as trouvé ça, c'est bleu : serverside (revoir les tutos CodeBlue en Lua)

Code:
ENT:Use()
caller:ChangeTeam("NOM DE LA TEAM",false,false) -- Le premier false sert à dire si tu tiens compte ou pas des autorisations écrites sur le code de ton métier pour obtenir ce job (ex : VIP), le second false dit si tu mets une notification ou non.
end
caller est donné (voir wiki GM) dans le ENT:Use() donc pas besoin de savoir qui est le LocalPlayer() ou d'autres manières comme celles-ci.
Don si j'ai bien compris je doit creer un fichier server et mettre ton code ?
 
  • Initiateur de la discussion
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Et dans init.lua il est deja ecrit ça donc j'ai pas tres bien comrpit se que je doit faire ?
Merci d'avence pour votre réponse .
mon init.lua :
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include('shared.lua')
function ENT:Initialize() self:SetModel( "models/props_trainstation/payphone001a.mdl" ) self:PhysicsInit(SOLID_VPHYSICS); self:SetMoveType(MOVETYPE_VPHYSICS); self:SetSolid(SOLID_VPHYSICS); self:SetUseType( SIMPLE_USE )
end
function ENT:OnTakeDamage() -- si la valeur "return" est égale à TRUE alors votre NPC prend des dégats. -- si la valeur "return" est égale à FALSE alors votre NPC est invincible . return false
end
util.AddNetworkString( "TUNIQUE" ) --< Nom de la fonction ce trouvant dans le CL_INIT
function ENT:AcceptInput( name, activator, caller ) if name == "Use" and caller:IsPlayer() then --< Verifie si USE et ulisier par un joueur net.Start("TUNIQUE") --< Nom de la fonction ce trouvant dans le CL_INIT net.Send(caller) --< Envoie l'information au serveur end
end
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
Feytone à dit:
(playersay wtf)...
principalement la raison de mon message de maximum 3 caractères 4Head
 
  • J'aime
Réactions: Feytone
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Gladiateur45 à dit:
Don si j'ai bien compris je doit creer un fichier server et mettre ton code ?
Quoi ? Beh non c'est un entité donc le côté serveur c'est init.lua (revois VRAIMENT les tutos de CodeBlue en LUA)

Gladiateur45 à dit:
Et dans init.lua il est deja ecrit ça donc j'ai pas tres bien comrpit se que je doit faire ?
Merci d'avence pour votre réponse .
mon init.lua :
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include('shared.lua')
function ENT:Initialize() self:SetModel( "models/props_trainstation/payphone001a.mdl" ) self:PhysicsInit(SOLID_VPHYSICS); self:SetMoveType(MOVETYPE_VPHYSICS); self:SetSolid(SOLID_VPHYSICS); self:SetUseType( SIMPLE_USE )
end
function ENT:OnTakeDamage() -- si la valeur "return" est égale à TRUE alors votre NPC prend des dégats. -- si la valeur "return" est égale à FALSE alors votre NPC est invincible . return false
end
util.AddNetworkString( "TUNIQUE" ) --< Nom de la fonction ce trouvant dans le CL_INIT
function ENT:AcceptInput( name, activator, caller ) if name == "Use" and caller:IsPlayer() then --< Verifie si USE et ulisier par un joueur net.Start("TUNIQUE") --< Nom de la fonction ce trouvant dans le CL_INIT net.Send(caller) --< Envoie l'information au serveur end
end
Avec ça, le ENT:Use() dans ce cas est remplacé par le AcceptInput (le ENT:Use tu peux rester appuyé, il refera la fonction demandée).

Donc si ton message net servait à demander à ChangeTeam, dans ce cas, tu peux l'enlever et remplacer par ce code-là :

Code:
caller:ChangeTeam("NOM DE LA TEAM",false,false) -- Le premier false sert à dire si tu tiens compte ou pas des autorisations écrites sur le code de ton métier pour obtenir ce job (ex : VIP), le second false dit si tu mets une notification ou non.
 
  • Initiateur de la discussion
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
D'appres ce que j'ai comprit de ce que tu a ecrit donc voila mon cl_init.lua :
Code:
include('shared.lua')
net.Receive( "ARMURIEAK", function()
caller:ChangeTeam("TEAM_POLICE",false,false) -- Le premier false sert à dire si tu tiens compte ou pas des autorisations écrites sur le code de ton métier pour obtenir ce job (ex : VIP), le second false dit si tu mets une notification ou non.
end )
hook.Add("PostDrawOpaqueRenderables", "TUNIQUE", function() for _, ent in pairs (ents.FindByClass("texte")) do if ent:GetPos():Distance(LocalPlayer():GetPos()) < 500 then local Ang = ent:GetAngles() Ang:RotateAroundAxis( Ang:Forward(), 90) Ang:RotateAroundAxis( Ang:Right(), -90) cam.Start3D2D(ent:GetPos()+ent:GetUp()*45, Ang, 0.10) draw.SimpleTextOutlined( "Tunique", "my_npc", 0, 0, Color(255,255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 0, Color(255,255,255,255) ) cam.End3D2D() end end
end)
-- NOUS ALLONS CRÉER UNE FONT UNIQUEMENT POUR LE NPC AFIN DE POUVOIR MODIFIER LA TAILLE DU TEXTE --
surface.CreateFont( "my_npc", { --< Nom que nous allons placer dans le DRAWSIMPLETEXTOUTLINED juste au dessus. font = "Arial", extended = true, size = 50, weight = 1000
} )
Et voila mon init.lua :
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include('shared.lua')
function ENT:Initialize() self:SetModel( "models/props_trainstation/payphone001a.mdl" ) self:PhysicsInit(SOLID_VPHYSICS); self:SetMoveType(MOVETYPE_VPHYSICS); self:SetSolid(SOLID_VPHYSICS); self:SetUseType( SIMPLE_USE )
end
function ENT:OnTakeDamage() -- si la valeur "return" est égale à TRUE alors votre NPC prend des dégats. -- si la valeur "return" est égale à FALSE alors votre NPC est invincible . return false
end
util.AddNetworkString( "TUNIQUE" ) --< Nom de la fonction ce trouvant dans le CL_INIT
function ENT:Use( name, activator, caller ) if name == "Use" and caller:IsPlayer() then --< Verifie si USE et ulisier par un joueur net.Start("TUNIQUE") --< Nom de la fonction ce trouvant dans le CL_INIT net.Send(caller) --< Envoie l'information au serveur end
end
Si j'ai fait une erreure esite pas a me la dire :D
 
Feytone

Feytone

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

Le ChangeTeam est un code SERVERSIDE ! Donc, relis mon dernier message ! (ChangeTeam dans le acceptinput)

Il faut VRAIMENT que tu regardes TOUT DE SUITE les tutos de CodeBlue, la moitié de ce que t'as pris de ton tuto npc, tu ne le comprends pas, ET C'EST TRES IMPORTANT.

Donc regarde les tutos LUA de CodeBlue et même de GLua. (il y'a des sous-titres en anglais).
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
Gladiateur45 à dit:
D'appres ce que j'ai comprit de ce que tu a ecrit donc voila mon cl_init.lua :
Code:
include('shared.lua')
net.Receive( "ARMURIEAK", function()
caller:ChangeTeam("TEAM_POLICE",false,false) -- Le premier false sert à dire si tu tiens compte ou pas des autorisations écrites sur le code de ton métier pour obtenir ce job (ex : VIP), le second false dit si tu mets une notification ou non.
end )
hook.Add("PostDrawOpaqueRenderables", "TUNIQUE", function() for _, ent in pairs (ents.FindByClass("texte")) do if ent:GetPos():Distance(LocalPlayer():GetPos()) < 500 then local Ang = ent:GetAngles() Ang:RotateAroundAxis( Ang:Forward(), 90) Ang:RotateAroundAxis( Ang:Right(), -90) cam.Start3D2D(ent:GetPos()+ent:GetUp()*45, Ang, 0.10) draw.SimpleTextOutlined( "Tunique", "my_npc", 0, 0, Color(255,255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 0, Color(255,255,255,255) ) cam.End3D2D() end end
end)
-- NOUS ALLONS CRÉER UNE FONT UNIQUEMENT POUR LE NPC AFIN DE POUVOIR MODIFIER LA TAILLE DU TEXTE --
surface.CreateFont( "my_npc", { --< Nom que nous allons placer dans le DRAWSIMPLETEXTOUTLINED juste au dessus. font = "Arial", extended = true, size = 50, weight = 1000
} )
Et voila mon init.lua :
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include('shared.lua')
function ENT:Initialize() self:SetModel( "models/props_trainstation/payphone001a.mdl" ) self:PhysicsInit(SOLID_VPHYSICS); self:SetMoveType(MOVETYPE_VPHYSICS); self:SetSolid(SOLID_VPHYSICS); self:SetUseType( SIMPLE_USE )
end
function ENT:OnTakeDamage() -- si la valeur "return" est égale à TRUE alors votre NPC prend des dégats. -- si la valeur "return" est égale à FALSE alors votre NPC est invincible . return false
end
util.AddNetworkString( "TUNIQUE" ) --< Nom de la fonction ce trouvant dans le CL_INIT
function ENT:Use( name, activator, caller ) if name == "Use" and caller:IsPlayer() then --< Verifie si USE et ulisier par un joueur net.Start("TUNIQUE") --< Nom de la fonction ce trouvant dans le CL_INIT net.Send(caller) --< Envoie l'information au serveur end
end
Si j'ai fait une erreure esite pas a me la dire :D
Dommage un aussi long code pour finalement avoir faux sur toute la ligne..
 
  • Initiateur de la discussion
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Feytone à dit:
FailFishFailFishFailFishFailFishFailFishFailFishFailFishFailFishFailFishFailFish

Le ChangeTeam est un code SERVERSIDE ! Donc, relis mon dernier message ! (ChangeTeam dans le acceptinput)

Il faut VRAIMENT que tu regardes TOUT DE SUITE les tutos de CodeBlue, la moitié de ce que t'as pris de ton tuto npc, tu ne le comprends pas, ET C'EST TRES IMPORTANT.

Donc regarde les tutos LUA de CodeBlue et même de GLua. (il y'a des sous-titres en anglais).
Le problème c'est que je ne comprend rien je ne connait pas l'anglait :/
 
Valfunde

Valfunde

Helpeur Divin
Messages
3 800
Score réaction
1 235
Points
450
Gladiateur45 à dit:
Le problème c'est que je ne comprend rien je ne connait pas l'anglait :/
Et bien il est temps d'apprendre la premiere langue au monde ;)
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
Gladiateur45 à dit:
Le problème c'est que je ne comprend rien je ne connait pas l'anglait :/
Inutile de vouloir faire ce genre de chose si vous ne comprenez même pas la langue ,

Instruisez vous .
 
  • J'aime
Réactions: Feytone et Valfunde
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Pas d'anglais ?

Pas de LUA, Gmod, Mondialisation
 
Valfunde

Valfunde

Helpeur Divin
Messages
3 800
Score réaction
1 235
Points
450
Feytone à dit:
Pas d'anglais ?

Pas de LUA, Gmod, Mondialisation
En 2017 je comprends pas les gens qui te disent, je ne comprends rien à l'anglais :v
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
Valfunde à dit:
En 2017 je comprends pas les gens qui te disent, je ne comprends rien à l'anglais :v
bahh y'a un minimum... en grandissant (surtout avec des jeux vidéos anglais) j'ai appris a comprendre..par contre l'écrire et le parler j'suis une bite x)
 
Valfunde

Valfunde

Helpeur Divin
Messages
3 800
Score réaction
1 235
Points
450
Yoh Sambre ♪ à dit:
Pas y'a un minimum en grandissant (surtout avec des jeux vidéos anglais) j'ai appris a comprendre..par contre l'écrire et le parler j'suis une bite x)
Du moment où tu passe le college tu es censé avoir une certaine maîtrise de l'anglais, suffisante pour savoir au moins le lire et comprendre grossièrement ce qui est dit, on est plus en 1950 :v
 
  • J'aime
Réactions: Yoh Sambre ♪
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
Valfunde à dit:
Du moment où tu passe le college tu es censé avoir une certaine maîtrise de l'anglais, suffisante pour savoir au moins le lire et comprendre grossièrement ce qui est dit, on est plus en 1950 :v

Ça veux dire qu'a l'époque les gens était con ? Kappa
 
Valfunde

Valfunde

Helpeur Divin
Messages
3 800
Score réaction
1 235
Points
450
Yoh Sambre ♪ à dit:

Ça veux dire qu'a l'époque les gens était con ? Kappa
Surtout qu'a l'époque, il n'y a rien que 40 ans en arrière, on apprenais pas forcement bien, ce qu'il fallait, etc...
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Valfunde à dit:
Du moment où tu passe le college tu es censé avoir une certaine maîtrise de l'anglais, suffisante pour savoir au moins le lire et comprendre grossièrement ce qui est dit, on est plus en 1950 :v
Mdrrr @Yoh Sambre ♪ a été refusé à la sixième... KappaClausKappaPride
 
Valfunde

Valfunde

Helpeur Divin
Messages
3 800
Score réaction
1 235
Points
450
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
  • J'aime
Réactions: Valfunde
MattKiller68

MattKiller68

Psychopathe
Messages
1 156
Score réaction
309
Points
305
Valfunde à dit:
Et bien il est temps d'apprendre la premiere langue au monde ;)
FAUX Mr. Johnson! La première langue au monde est le Chinois Mandarin, après vient l'Espagnol puis l'Anglais
 
Valfunde

Valfunde

Helpeur Divin
Messages
3 800
Score réaction
1 235
Points
450
MattKiller68 à dit:
FAUX Mr. Johnson! La première langue au monde est le Chinois Mandarin, après vient l'Espagnol puis l'Anglais
Oui, le chinois mandarins est premier avec plus d'un milliard de personne qui le parle, et l'anglais est en 2 ème place avec plus de 500 millions, viens ensuite l'espagnol avec 300 millions ;)
Mais le mandarins c'est autre chose Keepo
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
MattKiller68 à dit:
FAUX Mr. Johnson! La première langue au monde est le Chinois Mandarin, après vient l'Espagnol puis l'Anglais
Comment dire des conneries... Tu parles de langues maternelles Johnson : La langue la plus parlée dans le monde et choisie comme langue intermédiaire EST l'anglais. Donc il faut l'apprendre. Ah et on dit Mandarin, juste mandarin.
 
Discord d'entraide
Rejoignz-nous sur Discord