Problème avec ENT:StartTouch()

  • Initiateur de la discussion
Legende

Legende

Geek suprême
Messages
332
Score réaction
75
Points
130
Bonjour/Bonsoir , j'ai un problème avec la fonction ENT:StartTouch() , quand l'entité rentre en contacte avec une autre entité certaine fois elle prend en compte 2 collisions à la place d'une :​



Code:
function ENT:StartTouch(e) if not IsValid(e) then return end if (e:GetClass() == "money_bag") then if self:GetIngot() < BANK_CONFIG.MaxCaseIngot then self:SetIngot(1 + self:GetIngot()) e:Remove() end end
end

Exemple : Je touche l'entité 'money_bag' et cela rajoute +1 à self:GetIngot() normalement et à certains moments cela rajoute +2 à self:GetIngot().

Si quelqu'un a une solution ^^ , merci d'avance .
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Legende à dit:
Bonjour/Bonsoir , j'ai un problème avec la fonction ENT:StartTouch() , quand l'entité rentre en contacte avec une autre entité certaine fois elle prend en compte 2 collisions à la place d'une :​



Code:
function ENT:StartTouch(e) if not IsValid(e) then return end if (e:GetClass() == "money_bag") then if self:GetIngot() < BANK_CONFIG.MaxCaseIngot then self:SetIngot(1 + self:GetIngot()) e:Remove() end end
end

Exemple : Je touche l'entité 'money_bag' et cela rajoute +1 à self:GetIngot() normalement et à certains moments cela rajoute +2 à self:GetIngot().

Si quelqu'un a une solution ^^ , merci d'avance .
Peut être que l'entité est très légèrement décalé dans la même frame (la durée) et qu'il remove pas encore l'entité donc a le temps de reStartTouch...
T'as qu'à faire un petit "timer" : tu sais avec CurTime() comme pour les ENT:Use()
 
edouard292

edouard292

Geek suprême
Messages
423
Score réaction
108
Points
150
Je vais être entre autreplus clair, essaye de remove "e" et après setnwint si j'ai bien compris ce qu'a dis @Feytone
 
edouard292

edouard292

Geek suprême
Messages
423
Score réaction
108
Points
150
Car je pense que comme le temps de contact et de remove est par exemple de 2m/s alors cela veut donc dire que ton entités touche l'autre pendant 2m/s et ducoup execute la fonction plus vite que "e" ne se remove
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
edouard292 à dit:
Je vais être entre autreplus clair, essaye de remove "e" et après setnwint si j'ai bien compris ce qu'a dis @Feytone
Feytone à dit:
T'as qu'à faire un petit "timer" : tu sais avec CurTime() comme pour les ENT:Use()
 
  • J'aime
Réactions: edouard292
edouard292

edouard292

Geek suprême
Messages
423
Score réaction
108
Points
150
Je ne parle pas du timer mais de : Peut être que l'entité est très légèrement décalé dans la même frame (la durée) et qu'il remove pas encore l'entité
 
edouard292

edouard292

Geek suprême
Messages
423
Score réaction
108
Points
150
@WabelGame Toujours là au bon moment TheTarFu
 
  • Initiateur de la discussion
Legende

Legende

Geek suprême
Messages
332
Score réaction
75
Points
130
Feytone à dit:
Peut être que l'entité est très légèrement décalé dans la même frame (la durée) et qu'il remove pas encore l'entité donc a le temps de reStartTouch...
T'as qu'à faire un petit "timer" : tu sais avec CurTime() comme pour les ENT:Use()
Oue je pense que je vais faire ça
 
  • Initiateur de la discussion
Legende

Legende

Geek suprême
Messages
332
Score réaction
75
Points
130
Merci les mecs ça marche :)
 
  • J'aime
Réactions: edouard292
Discord d'entraide
Rejoignz-nous sur Discord