Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How can I change a local value depending on the outcome of a check?

Asked by 4 years ago

The question above was hard to fit in such a small amount, let me clarify.

local TargetHumanoid = HitPart.Parent:WaitForChild("Humanoid")

In the situation if the bullet hits a body part, were all good. But when it hits an accessory or morph part it wont do damage because it has to go up an extra parent to find the Humanoid

local TargetHumanoid = HitPart.Parent.Parent:WaitForChild("Humanoid")

How can I get the script to do this?

Heres the part of the script...

    if not ExplosiveData[1] then
        if HitPart and HitPart.Parent and HitPart.Transparency < 0.9 then --Test if we hit something
            local TargetHumanoid = HitPart.Parent:FindFirstChild("Humanoid") or HitPart.Parent.Parent:FindFirstChild("Humanoid")
            local TargetTorso = HitPart.Parent:FindFirstChild("HumanoidRootPart") or HitPart.Parent:FindFirstChild("Head")
            local Tagger = game.Players:GetPlayerFromCharacter(Tool.Parent)
            if TargetHumanoid and TargetHumanoid.Health > 0 and TargetTorso then
                MakeBloodFX(HitPart, HitPoint, Normal, BloodEffectData, FleshHoleData)
                game.ReplicatedStorage:WaitForChild("InflictTarget"):FireServer(Tool,
                                                                                Tagger,
                                                                                TargetHumanoid,
                                                                                TargetTorso,
                                                                               (HitPart.Name == "Head" and DamageData[3]) and DamageData[1] * DamageData[2] or DamageData[1],
                                                                               {Misc[1],Misc[2],Misc[3]})
                Tool.GunScript_Local:FindFirstChild("MarkerEvent"):Fire(HitPart.Name == "Head" and DamageData[3])
            else
                MakeImpactFX(HitPart, HitPoint, Normal, HitEffectData, BulletHoleData)
            end
        end

1 answer

Log in to vote
0
Answered by 4 years ago

Yeah... So I actually just forgot a value I needed to add an 'or' to...

Ad

Answer this question