Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Spawn Tower Script (Server)
- local getTower = game.ReplicatedStorage.GetTower
- game.ReplicatedStorage.SpawnTowerEvent.OnServerEvent:Connect(function(plr, index, pos)
- local towerToPlace = getTower(index):Clone()
- -- ^ returning error, "attempt to call an instance value"
- if towerToPlace ~= nil then
- towerToPlace:MoveTo(pos)
- towerToPlace.Parent = workspace.Map.Towers
- end
- end)
- --Get Tower Script (Module)
- local repStorage = game:GetService("ReplicatedStorage")
- local towers = repStorage.Towers
- local function GetTower(index)
- if index == 10001 then
- print(towers.Boxer)
- return towers.Boxer
- end
- end
- return GetTower
- --Place Script (Local)
- local key = game:GetService("UserInputService")
- local replicatedStorage = game:GetService("ReplicatedStorage")
- local getTower = require(replicatedStorage.GetTower)
- local towerInHand = false
- local towerOneIndex = 10001
- local currentIndex
- local player = game.Players.LocalPlayer
- local mouse = player:GetMouse()
- local tower = nil
- mouse.TargetFilter = workspace.Map.TowersToPlace
- mouse.Button1Down:Connect(function()
- if tower ~= nil and towerInHand then
- replicatedStorage.SpawnTowerEvent:FireServer(currentIndex, mouse.Hit.Position)
- end
- end)
- key.InputBegan:Connect(function(input)
- if input.KeyCode == Enum.KeyCode.One then
- towerInHand = true
- tower = getTower(towerOneIndex):Clone()
- currentIndex = towerOneIndex
- tower.Parent = workspace.Map.TowersToPlace
- mouse.Move:Connect(function()
- print("moved")
- if towerInHand then
- tower:MoveTo(mouse.Hit.Position)
- end
- end)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement