1

这个脚本允许人们生产冰毒,当你的库存中有适量的物品时,开始生产就会成功。只有当您没有正确的数量时,您才应该收到通知并且您没有收到该通知。. 弹出以下错误:脚本错误:@ns-meth/server.lua:18:尝试索引 nil 值.

代码:

RSCore = nil

Citizen.CreateThread(function()
    while RSCore == nil do
        TriggerEvent('RSCore:GetObject', function(obj) RSCore = obj end)
        Citizen.Wait(0)
    end
end)

RegisterServerEvent('RSCore_methcar:start')
AddEventHandler('RSCore_methcar:start', function()
    local src = source
    local Player = RSCore.Functions.GetPlayer(src)
    local amount = 0
    
    if Player.Functions.GetItemByName('acetone').amount >= 5 and Player.Functions.GetItemByName('lithium').amount >= 2 and Player.Functions.GetItemByName('methlab').amount >= 1 then
        
        TriggerClientEvent('RSCore_methcar:startprod', src)
        Player.Functions.RemoveItem('acetone', 5)
        Player.Functions.RemoveItem('lithium', 2)
    
    else 
        if Player.Functions.GetItemByName('acetone').amount <= 4 and Player.Functions.GetItemByName('lithium').amount <= 1 and Player.Functions.GetItemByName('methlab').amount <= 0 then
            RSCore.Functions.Notify("Je hebt niet de juiste benodigdheden!", "error")
        end
    end
end)

RegisterServerEvent('RSCore_methcar:stopf')
AddEventHandler('RSCore_methcar:stopf', function(id)
local src = source
    local Players = RSCore.GetPlayers()
    local Player = RSCore.Functions.GetPlayer(src)
    for i=1, #Players, 1 do
        TriggerClientEvent('RSCore_methcar:stopfreeze', Players[i], id)
    end
    
end)
RegisterServerEvent('RSCore_methcar:make')
AddEventHandler('RSCore_methcar:make', function(posx,posy,posz)
    local src = source
    local Player = RSCore.Functions.GetPlayer(src)
    
    if Player.Functions.GetItemByName('methlab').amount >= 1 then
    
        local Players = RSCore.Functions.GetPlayer(src)
        for i=1, #Players, 1 do
            TriggerClientEvent('RSCore_methcar:smoke',Players[i],posx,posy,posz, 'a') 
        end
        
    else
        TriggerClientEvent('RSCore_methcar:stop', src)
    end
    
end)
RegisterServerEvent('RSCore_methcar:finish')
AddEventHandler('RSCore_methcar:finish', function(qualtiy)
    local src = source
    local Player = RSCore.Functions.GetPlayer(src)
    print(qualtiy)
    local rnd = math.random(-5, 5)
    TriggerEvent('KLevels:addXP', src, 20)
    Player.Functions.AddItem('meth', math.floor(qualtiy / 2) + rnd)
    
end)

RegisterServerEvent('RSCore_methcar:blow')
AddEventHandler('RSCore_methcar:blow', function(posx, posy, posz)
    local src = source
    local Players = RSCore.GetPlayers()
    local Player = RSCore.Functions.GetPlayer(src)
    for i=1, #Players, 1 do
        TriggerClientEvent('RSCore_methcar:blowup', Players[i],posx, posy, posz)
    end
    Player.removeInventoryItem('methlab', 1)
end)

RegisterServerEvent('ns-meth:server:callCops')
AddEventHandler('ns-meth:server:callCops', function(streetLabel, coords)
    local msg = "Er is een verdachte situatie op "..streetLabel..", mogelijks drugs productie."
    local alertData = {
        title = "Verdachte situatie",
        coords = {x = coords.x, y = coords.y, z = coords.z},
        description = msg
    }
    for k, v in pairs(RSCore.Functions.GetPlayers()) do
        local Player = RSCore.Functions.GetPlayer(v)
        if Player ~= nil then 
            if (Player.PlayerData.job.name == "police" and Player.PlayerData.job.onduty) then
                TriggerClientEvent("ns-meth:client:robberyCall", Player.PlayerData.source, msg, streetLabel, coords)
                TriggerClientEvent("rs-phone:client:addPoliceAlert", Player.PlayerData.source, alertData)
            end
        end
    end
end)
4

0 回答 0