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

Issue with my fishing pole, bobber goes in water but nothing happens to it?

Asked by
Prioxis 673 Moderation Voter
8 years ago

So in my fishing game my bober will go in the water and when its in the water if I click to take it out of the water that works but while it's in the water nothing happens like its suppose to but I'm not getting any errors..

So I'm unsure about which part of the script is causing the issue or not working correctly..

local bin = script.Parent
local player = script.Parent.Parent.Parent
local height = -.8
local underTime = 1.5
local halt = false
local angle = 0
local state = "up"
local P = game.Lighting.Rod.Ball:clone()
P.Ball1.Anchored = false
P.Ball2.Anchored = false
P.Ball1.CanCollide = true
local B = Instance.new("BodyPosition")
B.Name = "Vpos"
B.position = Vector3.new(0,height,0)
B.maxForce = Vector3.new(0,800,0)
--B.Parent = P.Ball1
local H = Instance.new("Hint")
local g = nil
local p = nil
local catchMode = 0
local ws = 0
local AAA = nil

function Err(error)
    H.Parent = player
    H.Text = error
    print(error)
end

function onButton1Down(mouse)
    if halt then return end
    halt = true
--  mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
    if state == "down" then
        player.Character.Humanoid.WalkSpeed = ws
        state = "up"
        if p ~= nil and p:findFirstChild("Ball1") then
            p.Ball1.Anchored = true
        end
        local F = 0
        if catchMode == 1 then
            local f = math.random(1,10)
            if f == 1 then F = 4 elseif f == 2 or f == 3 then F = 3 elseif f == 4 or f == 5 or f == 6 then F = 2 elseif f == 7 or f == 8 or f == 9 or f == 10 then F = 1 end
            print(tostring(F))
            if F ~= 0 then
                local mesh = script.Parent:findFirstChild("Mesh" .. tostring(F))
                if mesh ~= nil and p ~= nil then
                    local ppp = Instance.new("Part")
                    ppp.Size = Vector3.new(1,1.2,1)
                    ppp.CFrame = p.Ball1.CFrame - Vector3.new(0,2,0)
                    ppp.CanCollide = false
                    mesh:clone().Parent = ppp
                    ppp.Parent = player.Character
                    local w = Instance.new("Weld")
                    w.C0 = CFrame.new(0,-2,0)
                    if F == 2 then
                        w.C0 = w.C0 * CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)
                    elseif F == 3 or F == 4 then
                        w.C0 = w.C0 * CFrame.fromEulerAnglesXYZ(math.pi,0,0)
                    elseif F == 1 then
                        w.C0 = w.C0 * CFrame.fromEulerAnglesXYZ(math.pi/2,math.pi/2,0)
                    end
                    w.Part0 = p.Ball1
                    w.Part1 = ppp
                    w.Parent = w.Part0
                end
            end
        end
        if p ~= nil and p:findFirstChild("Ball1") then
            p.Ball1.Anchored = false
        end
        angle = math.pi/4*3
        wait(.5)
        if p ~= nil and p:findFirstChild("Ball1") then 
            p.Ball1.Vpos.position = g.Ball.Ball1.Position
            p.Ball1.Vpos.maxForce = Vector3.new(100,1200,100)
        end
        wait(.5)
        if p ~= nil then p:remove() end
        g.Ball.Ball1.Transparency = 0
        for i = 1, F do
            local pl = game.Workspace.PlayerProfiles:FindFirstChild(player.Name)
            local t = game.Workspace.PlayerProfiles:FindFirstChild(player.Name).Treasure
            if t ~= nil then
                local m = pl:findFirstChild("MaxMoney")
                if m ~= nil then
                    if t.Value < m.Value then
                        t.Value = t.Value + 1
                    end
                end
            end
        end
        local Sq = game.Workspace.PlayerProfiles:FindFirstChild(player.Name):findFirstChild("Squids")
        if Sq ~= nil and F == 4 then
            Sq.Value = Sq.Value + 1
        end
        angle = math.pi/2
        wait()
        if AAA ~= nil then
            AAA.Parent = player.Character
            AAA = nil
        end
        wait(.5)
    elseif state == "up" then
        AAA = player.Character:findFirstChild("Animate")
        if AAA ~= nil then AAA.Parent = nil end
        ws = player.Character.Humanoid.WalkSpeed
        player.Character.Humanoid.WalkSpeed = 0
        state = "down"
        angle = math.pi/4
        wait(.2)
        p = g.Ball:clone()
        P.Ball1.Anchored = false
        P.Ball2.Anchored = false
        P.Ball1.CanCollide = true
        p.Parent = player.Character
        local w = Instance.new("Weld")
        w.C0 = CFrame.new(0,-0.01,0)
        w.Part0 = p.Ball1
        w.Part1 = p.Ball2
        w.Parent = w.Part0
        p.Ball1.CFrame = g.Ball.Ball1.CFrame
        B:clone().Parent = p.Ball1
        p.Ball1.Vpos.position = Vector3.new(0,height,0)
        g.Ball.Ball1.Transparency = 1
--      p.Vpos.position = g.Ball.Position
        wait(1)
        halt = false
        wait(1)
        while state == "down" do
            wait(1)
            if p and p:findFirstChild("Ball1") then
                if p.Ball1.Position.y > (height - 0.1) and p.Ball1.Position.y < (height + 0.1) then
                    if math.random(1,14) == 12 then
                        p.Ball1.Vpos.position = Vector3.new(0,height-0.6,0)
                        catchMode = 1
                        wait(underTime)
                        catchMode = 0
                        if p ~= nil and p:findFirstChild("Ball1") then
                            p.Ball1.Vpos.position = Vector3.new(0,height,0)
                        else
                            break
                        end
                    end
                end
            end
        end
--      if p ~= nil then p.Ball1.Vpos.position = P.Ball1.Vpos.position end
    end
    wait(.1)
--  wait(2)
    halt = false
--  mouse.Icon = "rbxasset://textures\\GunCursor.png"
end

function onSelected(mouse)
    state = "up"
    angle = math.pi/2
    g = game.Lighting.Rod:clone()
    g.Parent = player.Character
    local C = g:GetChildren()
    for i=1, #C do
        if C[i].className == "Part" then
            local W = Instance.new("Weld")
            W.Part0 = g.Middle
            W.Part1 = C[i]
            local CJ = CFrame.new(g.Middle.Position)
            local C0 = g.Middle.CFrame:inverse()*CJ
            local C1 = C[i].CFrame:inverse()*CJ
            W.C0 = C0
            W.C1 = C1
            W.Parent = g.Middle
        elseif C[i].className == "Model" then
            for _, i in ipairs(C[i]:GetChildren()) do
                if i.className == "Part" then
                    local W = Instance.new("Weld")
                    W.Part0 = g.Middle
                    W.Part1 = i
                    local CJ = CFrame.new(g.Middle.Position)
                    local C0 = g.Middle.CFrame:inverse()*CJ
                    local C1 = i.CFrame:inverse()*CJ
                    W.C0 = C0
                    W.C1 = C1
                    W.Parent = g.Middle
                end
            end
        end
        local Y = Instance.new("Weld")
        Y.Part0 = player.Character["Right Arm"]
        Y.Part1 = g.Middle
        Y.C0 = CFrame.new(0, 0, 0)
        Y.Parent = Y.Part0
    end
    local h = g:GetChildren()
    for i = 1, #h do
        if h[i].className == "Part" then
            h[i].Anchored = false
            h[i].CanCollide = false
        elseif h[i].className == "Model" then
            for _, i in ipairs(h[i]:GetChildren()) do
                if i.className == "Part" then
                    i.Anchored = false
                    i.CanCollide = false
                end
            end
        end
    end
--  mouse.Icon = "rbxasset://textures\\GunCursor.png"
--  mouse.Button1Down:connect(function() onButton1Down(mouse) end)
    selected = true
    g.Ball.Ball1.Changed:connect(function()
        if g ~= nil and g:findFirstChild("Ball") ~= nil then g.Ball.Ball2.Transparency = g.Ball.Ball1.Transparency end
    end)
    while selected do
        player.Character.Torso["Right Shoulder"].DesiredAngle = angle
        wait()
    end
end

bin.Activated:connect(function() onButton1Down(nil) end)
bin.Equipped:connect(onSelected)
bin.Unequipped:connect(function()
    if p ~= nil then p:remove() end
    p = nil
    H.Parent = nil
    selected = false
    if g ~= nil then g:remove() end
    g = nil
    if state == "down" then
        player.Character.Humanoid.WalkSpeed = ws
    end
    if AAA ~= nil then
        AAA.Parent = player.Character
        AAA = nil
    end
    repeat
        if player.Character:findFirstChild("Rod") and player.Character.Rod:IsA("Model") then
            player.Character.Rod:remove()
        end
        wait()
    until not player.Character:findFirstChild("Rod")
end)

0
We don't have the time to search through 242 lines of code. Try debugging it, by setting up a print() every few lines, then seeing where it stops. Shawnyg 4330 — 8y
0
ah okay thanks Prioxis 673 — 8y

Answer this question