Lua: Fonction contact d'entités

  • Initiateur de la discussion
CMJN

CMJN

Sataniste en herbe
Messages
330
Score réaction
32
Points
130
Je cherche une fonction qui s'éxécute quand deux entités spécifiques se touchent:

Par exemple, J'ai les entités "Entity_1" et "Entity_2"
Si Entity_1 touche Entity_2, la fonction s'éxécute
Par contre, si Entity_1 touche Entity_3, rien ne se passe
 
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
Ent:touch
 
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
http://wiki.garrysmod.com/page/ENTITY/Touch
 
  • Initiateur de la discussion
CMJN

CMJN

Sataniste en herbe
Messages
330
Score réaction
32
Points
130
Ah, sa ne marche pas vraiment en fait, sa fait l'action quand sa touche n'importe quel entités
 
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
Il faut rajouter du code pour que sa choisisse que sa touche seulement une entité precise!
 
AyZenSantos

AyZenSantos

Psychopathe
Messages
3 361
Score réaction
753
Points
300
Fait une condition , if ... blabla then. ...
 
ALTA

ALTA

Geek suprême
Messages
449
Score réaction
212
Points
150
http://wiki.garrysmod.com/page/ENTITY/StartTouch
ENT: étant l'entité A et ENT:StartTouch(entitéB)
(ENT, l'entité touchée, et entitéB l'entité qui touche.)
Donc si tu veux traîter ça par rapport à la classe, dans la function, if entityB:GetClass() == x then ...
Contraîrement à Touch(), StartTouch() ne se joue qu'une et unique fois, lorsque ça se touche, et pas à chaque frame comme Touch()...

Par exemple, j'ai mon baril d'eau qui est indentifié comme classe "ent_waterbaril" et ma bouteille d'eau indentifiée par "ent_bouteille", alors:

dans mon code "ent_waterbaril", je définit:

Code:
function ENT:StartTouch(e) if IsValid(e) then -- On vérifie que la bouteille est bien là, sécurité if e:GetClass() == "ent_bouteille" then -- On récupère la classe de l'entité pour trier, e:SetNWBool("remplie",true) -- Éventuellement, on remplie la bouteille, end end
end
Mon code n'est qu'un exemple, on devrait vérifier après le getclass que la bouteille n'est déjà pas remplie, pour éviter le calcul, mais bon.
 
  • Initiateur de la discussion
CMJN

CMJN

Sataniste en herbe
Messages
330
Score réaction
32
Points
130
Pour exliquer vite fait, je veut que quand Entité1 touche Entité2, Entité1 et Entité2 disparaissent et fassent spawner une Entité3

EDIT: Merci ALTA, sa marche bien :D
 
Dernière édition:
Discord d'entraide
Rejoignz-nous sur Discord