Résolu Forcer l'ouverture d'une porte

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

FlyZow

Geek
Messages
37
Score réaction
2
Points
55
Bonjour, je suis en train de créer un swep, mon but et que le swep puisse forcer l'ouverture d'une porte "SCP" car dans certaine maps SCP des portes n'ont aucuns boutons elle sont donc uniquement accessible par un côté. Je ne sais pas si cela et possible mais en tout cas vous m'aideriez grandement.

Merci d'avance ^^
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
Pour ouvrir une porte:
ent:Fire("Open", 0)
Pour fermer une porte:
ent:Fire("Close", 0)

Néanmoins tu auras des soucis avec les portes de certaines maps SCP, en effet, elles sont souvent composées de deux props_dynamic collés à deux func_door. Pour les ouvrir, il faudra soit utiliser un findInSphere sur la hitPos (méthode facile mais bourrin et pas opti), ou alors avoir un tableau (initialisé au lancement) qui lierais un prop_dynamic à la func_door relative.
 
  • Initiateur de la discussion
FlyZow

FlyZow

Geek
Messages
37
Score réaction
2
Points
55
Merci mais je suis pas aussi expérimenté en Glua, sans vouloir te déranger je voudrais bien un p'tit exemple de code ^^.
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
FlyZow à dit:
Merci mais je suis pas aussi expérimenté en Glua, sans vouloir te déranger je voudrais bien un p'tit exemple de code ^^.
Pour l'ent:fire ou le findInSphere ?
 
  • Initiateur de la discussion
FlyZow

FlyZow

Geek
Messages
37
Score réaction
2
Points
55
Pour le tableau lancement pour que ce soit plus opti, si tu peux ^^
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
J'y ai jamais touché j'vais laisser While te répondre
 
  • Initiateur de la discussion
FlyZow

FlyZow

Geek
Messages
37
Score réaction
2
Points
55
ok, sinon la sphere tu peux me faire un exemple ?
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
FlyZow à dit:
ok, sinon la sphere tu peux me faire un exemple ?
Code:
-- A adapter pour l'insérer dans une des fonctions de l'arme Primary/SecondaryFire
local ply = Entity(1)
local tr = ply:GetEyeTrace()
local maxDist = 100 ^ 2
if ply:GetPos():DistToSqr(tr.HitPos) < maxDist then for k,v in pairs(ents.FindInSphere(tr.HitPos, 50)) do if v:GetClass() == "func_door" then -- J'ignore si c'est bien des func_door ou autre v:Fire("Open", 0) end end
end
C'est vraiment conceptuel, et ce n'est pas du tout le plus optimal et je n'ai pas le temps d'aller voir la map et faire des tests ni de faire tout le code de ton arme.
 
  • J'aime
Réactions: NoaGamingFR
Discord d'entraide
Rejoignz-nous sur Discord