Ошибка Tower:38: попытка индексации nil с помощью 'Coins'
Дата публикации: 14.04.2025

Ошибка Tower:38: попытка индексации nil с помощью 'Coins'

78d8514b

Содержимое статьи:

В скрипте ServerScriptService.Main.Tower на строке 38 возникает ошибка:

attempt to index nil with 'Coins'

Скрипт:

local PhysicsService = game:GetService("PhysicsService")
local ServerStoarge = game:GetService("ServerStorage")
local ReplicatedStoarge = game:GetService("ReplicatedStorage")
local events = ReplicatedStoarge:WaitForChild("Events")
local spawnTowerEvent = events:WaitForChild("SpawnTower")
local functions = ReplicatedStoarge:WaitForChild("Functions")
local requestTowerFunction = functions:WaitForChild("RequestTower")
local tower = {}
local function FindNearestTarget(newTower)
local maxDistance = 20
local nearestTarget = nil
for i, target in ipairs(workspace.Mobs:GetChildren()) do
local distance = (target.HumanoidRootPart.Position - newTower.HumanoidRootPart.Position).Magnitude
if distance < maxDistance then
nearestTarget = target
maxDistance = distance
end
end
return nearestTarget
end
function tower.Attack(newTower, player)
local config = newTower.Config
local target = FindNearestTarget(newTower, config.Range.Value)
if target and target:FindFirstChild("Humanoid") and target.Humanoid.Health > 0 then
local targerCFrame = CFrame.lookAt(newTower.HumanoidRootPart.Position, target.HumanoidRootPart.Position)
newTower.HumanoidRootPart.BodyGyro.CFrame = targerCFrame
target.Humanoid:TakeDamage(config.Damage.Value)
if target.Humanoid.Health <= 0 then
Here is error --> player.Coins.Value += target.Humanoid.MaxHealth
end
task.wait(config.Cooldown.Value)
end
task.wait(0.1)
tower.Attack(newTower)
end
function tower.Spawn(player, name, cframe)
local allowedToSpawn = tower.CheckSpawn(player, name)
if allowedToSpawn then
local newTower = ReplicatedStoarge.Towers[name]:Clone()
newTower.HumanoidRootPart.CFrame = cframe
newTower.Parent = workspace.Towers
newTower.HumanoidRootPart:SetNetworkOwner(nil)
local bodyGyro = Instance.new("BodyGyro")
bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bodyGyro.D = 0
bodyGyro.CFrame = newTower.HumanoidRootPart.CFrame
bodyGyro.Parent = newTower.HumanoidRootPart
for i, object in ipairs(newTower:GetDescendants()) do
if object:IsA("BasePart") then
PhysicsService:SetPartCollisionGroup(object, "Tower")
end
end
player.Coins.Value -= newTower.Config.Price.Value
player.PlacedTowers.Value += 1
coroutine.wrap(tower.Attack)(newTower, player)
else
warn("Requested tower does not exist:", name)
end
end
spawnTowerEvent.OnServerEvent:Connect(tower.Spawn)
function tower.CheckSpawn(player, name)
local towerExists = ReplicatedStoarge.Towers:FindFirstChild(name)
if towerExists then
if towerExists.Config.Price.Value <= player.Coins.Value then
if player.PlacedTowers.Value < ReplicatedStoarge.GameSettings.MaxTowersPerPlayer.Value then
return true
else
warn("Player has reached max limit")
end
else
warn("Player cannot afford")
end
else
warn("That tower does not exist")
end
end
requestTowerFunction.OnServerInvoke = tower.CheckSpawn
return tower

Ошибка возникает из-за того, что игрок не определен или не имеет свойства Coins.
Возможные решения:

  • Убедитесь, что игрок, вызывающий эти функции, определен и имеет свойство Coins.
  • Проверьте, правильно ли вы настроили функцию CheckSpawn, чтобы она проверяла свойство Coins игрока.


Эксклюзивные туры в Китай
Инновации в блоках из водно-устойчивых полимерных панелей для экологического строительства
Инновационные методы 3D-печати в строительстве бетонных конструкций
Женская одежда с пуговицами
Кадастровые работы в СПб
Новостройки Оренбурга: привлекательные условия покупки
Окна VEKA в Казани - комфорт для всей семьи
Онлайн чат-взаимодействие
Онлайн генератор паролей для почты
Пиломатериалы для саун и бань
Секреты Вконтакте: как защитить свои данные
VDSina: Хостинг с отличной поддержкой клиентов
Vdsina вечный хостинг: все, что нужно для вашего онлайн-проекта
Видео чат рулетка онлайн
Вода на рабочее место
Популярничаю
ДОХОДЫ СО 100 САЙТОВ НА 01.01.2015 :

Вот что я Вам выложил, это самые нормальные биржи на сегодняшней день, делайте выбор сами и если не сложно регистрируйтесь по моим реферальным ссылкам, за ранее спасибо.

Спонсоры блога:
Статистика блога:
© 2015 Диванный теоретик. Блог юного интернет-маркетолога про продвижение и заработке в интернете.

Копирование материалов с сайта - запрещено!

На нас ссылаются