Ne plus entendre les gens derrière les murs

  • Initiateur de la discussion
floflo77140

floflo77140

Geek
Messages
40
Score réaction
0
Points
85
Salut,
j'aimerais avoir l'addon pour plus entendre les autres joueurs derrière les portes, murs et fenêtres.
sur la map Star Wars : Imperial Map

Merci
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 288
Score réaction
9 687
Points
1 845
voila un code (pas vraiment optimiser par contre)

Code:
 local doorsClass = { ["prop_door_rotating"] = true, ["func_door_rotating"] = true, ["func_door"] = true, ["prop_dynamic"] = true, } local texturesExeptions = { ["maps/rp_rockford_french_v4b/ocrp/urban/window3_-8033_-5783_40"] = true, ["METAL/METALBAR001C"] = true, ["TOOLS/TOOLSNODRAW"] = true, } local function DoorIsClose(ent) if ent:GetClass() == "prop_door_rotating" then if ent:GetSaveTable().m_eDoorState == 0 then return true else return false end end if ent:GetClass() == "func_door_rotating" or ent:GetClass() == "func_door" then if ent:GetSaveTable().m_toggle_state == 1 then return true else return false end end if ent:GetClass() == "prop_dynamic" then if ent:GetParent() and ent:GetParent():IsValid() then if ent:GetParent():GetSaveTable().m_toggle_state == 1 then return true else return false end end end return false end function calcPlyCanHearPlayerVoice(listener) if not IsValid(listener) then return end listener.DrpCanHear = listener.DrpCanHear or {} for _, talker in pairs(player.GetAll()) do if listener != talker then if listener:GetPos():Distance(talker:GetPos()) < 330 then local traceinfo = {} traceinfo.start = listener:GetPos() + Vector(0,0,50) traceinfo.endpos = talker:GetPos() + Vector(0,0,50) traceinfo.filter = listener local trace = util.TraceLine(traceinfo) if texturesExeptions[trace.HitTexture] then listener.DrpCanHear[talker] = true continue end if listener:IsLineOfSightClear(talker) then if trace.Entity then if trace.Entity:IsValid() and doorsClass[trace.Entity:GetClass()] then listener.DrpCanHear[talker] = !DoorIsClose(trace.Entity) continue end if string.find(string.lower(trace.HitTexture), "glass") or string.find(trace.HitTexture, "ocrp") then listener.DrpCanHear[talker] = false continue end end listener.DrpCanHear[talker] = true else if trace.Entity and trace.Entity:IsValid() and doorsClass[trace.Entity:GetClass()] then listener.DrpCanHear[talker] = !DoorIsClose(trace.Entity) continue end listener.DrpCanHear[talker] = false end else listener.DrpCanHear[talker] = false end end end end hook.Add("PostGamemodeLoaded", "AdvancedDarkRPCanHearVoice", function() hook.Add("PlayerInitialSpawn", "DarkRPCanHearVoice", function(ply) timer.Create(ply:UserID().."DarkRPCanHearPlayersVoice", 0.5, 0,function() local succ, err = pcall( function() calcPlyCanHearPlayerVoice(ply) end ) if not succ then file.Append( "voipfail.txt", err.."\n") end end) end) hook.Add("PlayerDisconnected", "DarkRPCanHearVoice", function(ply) if not ply.DrpCanHear then return end for k,v in pairs(player.GetAll()) do if not v.DrpCanHear then continue end v.DrpCanHear[ply] = nil end timer.Remove(ply:UserID().."DarkRPCanHearPlayersVoice") end) end)
 
  • Initiateur de la discussion
floflo77140

floflo77140

Geek
Messages
40
Score réaction
0
Points
85
et pour la map ?
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 288
Score réaction
9 687
Points
1 845
floflo77140 à dit:
et pour la map ?
Le code que je viens te de donner fait justement ca x)
 
  • Initiateur de la discussion
floflo77140

floflo77140

Geek
Messages
40
Score réaction
0
Points
85
ha ok
 
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
Yoh Sambre ♪ à dit:
voila un code (pas vraiment optimiser par contre)
Salut et merci de nous faire partager sa ! Où faut t'il placer le code s'il te plaît ^^
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 288
Score réaction
9 687
Points
1 845
  • J'aime
Réactions: Shanpagne
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
  • J'aime
Réactions: Yoh Sambre ♪
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
Encore une question x) Je vais pas vraiment dans cette partie d'habitude, il faut donc le mettre dans le "Admin_function.lua" ?
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 288
Score réaction
9 687
Points
1 845
Shanpagne à dit:
Encore une question x) Je vais pas vraiment dans cette partie d'habitude, il faut donc le mettre dans le "Admin_function.lua" ?
wtf NAN xD

tu fait un new fichier dans lua/autorun/server
 
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
Yoh Sambre ♪ à dit:
wtf NAN xD

tu fait un new fichier dans lua/autorun/server
C'est bien se que je penser x) Merci XD
 
  • J'aime
Réactions: Yoh Sambre ♪
Discord d'entraide
Rejoignz-nous sur Discord