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

i got this erorrinvalid argument #1 to 'Connect' (RBXScriptSignal expected, got function)? [closed]

Asked by
kiref81 -24
3 years ago
Edited 3 years ago
local gun = script.Parent
local runService = game:GetService('RunService')
local replicatedStorage = game:GetService('ReplicatedStorage')
local player = game:GetService('Players')

local viewModel = replicatedStorage:WaitForChild('MainGame'):WaitForChild('Guns'):WaitForChild('Pistol'):Clone()
local camera = workspace.CurrentCamera
local player = player.LocalPlayer
local mouse = player:GetMouse()
local character = player.Character or player.CharacterAdded:Wait()
viewModel.Parent = replicatedStorage.UnequippedGuns

local config = require(viewModel:WaitForChild('Config'))

local cf = CFrame.new()

local sinSpeed = 2.5
local sinSize = 3
local cosSpeed = 4
local cosSize = 4
local recoilSpeed = 8
local recoilSize = .5


local equipConnection

local shoot_Cooldown = false

local animations = {
    ['Hold'] = viewModel.AnimationController.Animator:LoadAnimation(viewModel.Animations.Hold)
}

cf = config.Offset_From_Camera

function positionModel()
    if player.character then
        viewModel:SetPrimaryPartCFrame(camera.CFrame*cf)
        local sin = math.sin(time() * sinSpeed)/sinSize
        local cos = math.cos(time() * cosSpeed)/cosSize 
        if player.character.Humanoid.MoveDirection.Magnitude > 0 then
            cf = cf:Lerp(CFrame.new(config.Offset_From_Camera.X+sin, config.Offset_From_Camera.Y+cos,config.Offset_From_Camera.Z),.2)   
        else
            cf = cf:Lerp(config.Offset_From_Camera,0.2)
        end
    end
end

function shoot(target)
    if not shoot_Cooldown then       
        shoot_Cooldown = true
        if player.Character:FindFirstChild(script.Parent.Name) then
            local sin = math.sin(time() * recoilSpeed)/recoilSize
            cf = cf:Lerp(CFrame.new(config.Offset_From_Camera.X, config.Offset_From_Camera.Y,config.Offset_From_Camera.Z+sin),.2)
            viewModel.Shoot:Play()
        end
        if target.Parent:FindFirstChild('Humanoid') then
            replicatedStorage['MainGame']['Remotes']['Shoot']:FireServer(mouse.Target, gun.Name)
        end
        wait(config.CoolDown_Between_Each_Click)
        shoot_Cooldown = false
    end
end

gun.Activated.Connect(function()
    shoot(mouse.Target)
end)

local function equip()
    if not gun and viewModel then return end
    for _, part in pairs(gun:GetChildren()) do
        if part:IsA('BasePart') or part:IsA('UnionOperation') then
            part.Transparency = 1
        end
    end
    viewModel.Parent = camera
    animations['Hold']:Play()
    equipConnection = runService.RenderStepped:Connect(function()
        if player.Character.Humanoid.Health > 0 then
            positionModel()
        end
    end)
end

local function unequip()
    if not gun then return end
    equipConnection:Disconnect()
    viewModel.Parent = replicatedStorage.UnequippedGuns
end

gun.Equipped:Connect(function()
    mouse.Icon = "http://www.roblox.com/asset?id=7263880558"
    equip()
end)

gun.Unequipped:Connect(function()
    unequip()
end)
0
gun.Activated.Connect to gun.Activated:Connect(function()) lehoaiquoc248 23 — 3y

Marked as Duplicate by JesseSong

This question has been asked before, and already has an answer. If those answers do not fully address your question, then please ask a new question here.

Why was this question closed?