Что я делаю не так?

Riza

Новичок
Автор темы
9
1
Ребята подскажите, что не так делаю? нужно что бы до обьекта показывало расстояние и его координаты, нашёл тему, вроде бы так делаю- но что то не получается
Искренне благодарен!
Lua:
script_author('Rizan')
script_name('„Test')

local object = getNear(687) -- 687 id МОДЕЛЬКИ
object.position.x, object.position.y, object.position.z --чтобы получить координаты

function getNear(modelId)
    local near = {distance = 1000, position = {}};

    for _, v in pairs(getAllObjects()) do
        if getObjectModel(v) == modelId then
            local _, objX, objY, objZ = getObjectCoordinates(v)
            local pos = {getCharCoordinates(PLAYER_PED)}
            local dist = getDistanceBetweenCoords3d(pos[1], pos[2], pos[3], objX, objY, objZ)
            if near.distance > dist then
                near.distance = dist;
                near.position = {x = objX, y = objY, z = objZ};
            end
        end
    end

    return near;
end
Вот такая ошибка в SFUNCS:
[ML] (error) Test.lua: ...s\Arizona Games Launcher\bin\arizona\moonloader\Test.lua:7: '=' expected near 'function'
[ML] (error) Test.lua: Script died due to an error. (4CEFAABC)
 

хромиус)

спокойно, это всего лишь слива
Друг
4,940
3,213
зачем изобретать велосипед
 

Riza

Новичок
Автор темы
9
1
зачем изобретать велосипед
Тоже самое
[ML] (error) ×Test: ...s\Arizona Games Launcher\bin\arizona\moonloader\Test.lua:4: attempt to call global 'GetNearestObject' (a nil value)
stack traceback:
...s\Arizona Games Launcher\bin\arizona\moonloader\Test.lua:4: in main chunk
[ML] (error) ×Test: Script died due to an error. (4CEFBEA4)


Lua:
script_author('Rizan')
script_name('„Test')

local result, distance, x, y, z = GetNearestObject(687)
sampAddChatMessage(string.format('Ближайшее дерево находится на расстоянии %.2f метров от вас', distance), -1)

function GetNearestObject(modelid)
    local objects = {}
    local x, y, z = getCharCoordinates(playerPed)
    for i, obj in ipairs(getAllObjects()) do
        if getObjectModel(obj) == modelid then
            local result, ox, oy, oz = getObjectCoordinates(obj)
            table.insert(objects, {getDistanceBetweenCoords3d(ox, oy, oz, x, y, z), ox, oy, oz})
        end
    end
    if #objects <= 0 then return false end
    table.sort(objects, function(a, b) return a[1] < b[1] end)
    return true, unpack(objects[1])
end
 

хромиус)

спокойно, это всего лишь слива
Друг
4,940
3,213
Тоже самое
[ML] (error) ×Test: ...s\Arizona Games Launcher\bin\arizona\moonloader\Test.lua:4: attempt to call global 'GetNearestObject' (a nil value)
stack traceback:
...s\Arizona Games Launcher\bin\arizona\moonloader\Test.lua:4: in main chunk
[ML] (error) ×Test: Script died due to an error. (4CEFBEA4)
покажи как ты используешь этот сниппет
 

Riza

Новичок
Автор темы
9
1
покажи как ты используешь этот сниппет
Lua:
script_author('Rizan')
script_name('„Test')

local result, distance, x, y, z = GetNearestObject(687)
sampAddChatMessage(string.format('Ближайшее дерево находится на расстоянии %.2f метров от вас', distance), -1)

function GetNearestObject(modelid)
    sampRegisterChatCommand("Test", cmd_bot)
    local objects = {}
    local x, y, z = getCharCoordinates(playerPed)
    for i, obj in ipairs(getAllObjects()) do
        if getObjectModel(obj) == modelid then
            local result, ox, oy, oz = getObjectCoordinates(obj)
            table.insert(objects, {getDistanceBetweenCoords3d(ox, oy, oz, x, y, z), ox, oy, oz})
        end
    end
    if #objects <= 0 then return false end
    table.sort(objects, function(a, b) return a[1] < b[1] end)
    return true, unpack(objects[1])
end

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Запущен!", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Отключен!", thisScript().name), 0xFF4040)
    end
end----------------------------------------------------------------------------------------------------------------
Вот полностью код
 

хромиус)

спокойно, это всего лишь слива
Друг
4,940
3,213
Lua:
script_author('Rizan')
script_name('„Test')

local result, distance, x, y, z = GetNearestObject(687)
sampAddChatMessage(string.format('Ближайшее дерево находится на расстоянии %.2f метров от вас', distance), -1)

function GetNearestObject(modelid)
    sampRegisterChatCommand("Test", cmd_bot)
    local objects = {}
    local x, y, z = getCharCoordinates(playerPed)
    for i, obj in ipairs(getAllObjects()) do
        if getObjectModel(obj) == modelid then
            local result, ox, oy, oz = getObjectCoordinates(obj)
            table.insert(objects, {getDistanceBetweenCoords3d(ox, oy, oz, x, y, z), ox, oy, oz})
        end
    end
    if #objects <= 0 then return false end
    table.sort(objects, function(a, b) return a[1] < b[1] end)
    return true, unpack(objects[1])
end

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Запущен!", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Отключен!", thisScript().name), 0xFF4040)
    end
end----------------------------------------------------------------------------------------------------------------
Вот полностью код
а мейн где,где ты используешь свою функцию кмд бот
 

Riza

Новичок
Автор темы
9
1
а мейн где,где ты используешь свою функцию кмд бот
Код:
script_author('Rizan')
script_name('„Test')

local result, distance, x, y, z = GetNearestObject(687)
sampAddChatMessage(string.format('Ближайшее дерево находится на расстоянии %.2f метров от вас', distance), -1)

function GetNearestObject(modelid)
    sampRegisterChatCommand("Test", cmd_bot)
    local objects = {}
    local x, y, z = getCharCoordinates(playerPed)
    for i, obj in ipairs(getAllObjects()) do
        if getObjectModel(obj) == modelid then
            local result, ox, oy, oz = getObjectCoordinates(obj)
            table.insert(objects, {getDistanceBetweenCoords3d(ox, oy, oz, x, y, z), ox, oy, oz})
        end
    end
    if #objects <= 0 then return false end
    table.sort(objects, function(a, b) return a[1] < b[1] end)
    return true, unpack(objects[1])
end
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    sampRegisterChatCommand("test", cmd_bot)
    wait(0)
    end
end   
    

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Запущен!", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Отключен!", thisScript().name), 0xFF4040)
    end
end---
Получается так?
 

хромиус)

спокойно, это всего лишь слива
Друг
4,940
3,213
Код:
script_author('Rizan')
script_name('„Test')

local result, distance, x, y, z = GetNearestObject(687)
sampAddChatMessage(string.format('Ближайшее дерево находится на расстоянии %.2f метров от вас', distance), -1)

function GetNearestObject(modelid)
    sampRegisterChatCommand("Test", cmd_bot)
    local objects = {}
    local x, y, z = getCharCoordinates(playerPed)
    for i, obj in ipairs(getAllObjects()) do
        if getObjectModel(obj) == modelid then
            local result, ox, oy, oz = getObjectCoordinates(obj)
            table.insert(objects, {getDistanceBetweenCoords3d(ox, oy, oz, x, y, z), ox, oy, oz})
        end
    end
    if #objects <= 0 then return false end
    table.sort(objects, function(a, b) return a[1] < b[1] end)
    return true, unpack(objects[1])
end
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    sampRegisterChatCommand("test", cmd_bot)
    wait(0)
    end
end  
   

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Запущен!", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Отключен!", thisScript().name), 0xFF4040)
    end
end---
Получается так?
вызывай в функции сниппет,а не просто где-то в рандомной части кода
 

Riza

Новичок
Автор темы
9
1
Код:
script_author('Rizan')
script_name('„Test')

local result, distance, x, y, z = GetNearestObject(687)
sampAddChatMessage(string.format('Ближайшее дерево находится на расстоянии %.2f метров от вас', distance), -1)

function GetNearestObject(modelid)
    sampRegisterChatCommand("Test", cmd_bot)
    local objects = {}
    local x, y, z = getCharCoordinates(playerPed)
    for i, obj in ipairs(getAllObjects()) do
        if getObjectModel(obj) == modelid then
            local result, ox, oy, oz = getObjectCoordinates(obj)
            table.insert(objects, {getDistanceBetweenCoords3d(ox, oy, oz, x, y, z), ox, oy, oz})
        end
    end
    if #objects <= 0 then return false end
    table.sort(objects, function(a, b) return a[1] < b[1] end)
    return true, unpack(objects[1])
end
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    sampRegisterChatCommand("test", cmd_bot)
    wait(0)
    end
end 
  

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Запущен!", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Отключен!", thisScript().name), 0xFF4040)
    end
end---
Получается так?

всё равно бьёт так 🫠

Lua:
[ML] (error) Test.lua: ...s\Arizona Games Launcher\bin\arizona\moonloader\Test.lua:26: '<eof>' expected near 'end'
[ML] (error) Test.lua: Script died due to an error. (1B9638C4)

вызывай в функции сниппет,а не просто где-то в рандомной части кода
Ща попробую

вызывай в функции сниппет,а не просто где-то в рандомной части кода
Lua:
script_author('Rizan')

script_name('„Test')



local result, distance, x, y, z = GetNearestObject(687)

sampAddChatMessage(string.format('Ближайшее дерево находится на расстоянии %.2f метров от вас', distance), -1)



function main()

    if not isSampfuncsLoaded() or not isSampLoaded() then return end

    sampRegisterChatCommand("test", cmd_bot)

    wait(0)

    end

end   



function GetNearestObject(modelid)

    sampRegisterChatCommand("Test", cmd_bot)

    local objects = {}

    local x, y, z = getCharCoordinates(playerPed)

    for i, obj in ipairs(getAllObjects()) do

        if getObjectModel(obj) == modelid then

            local result, ox, oy, oz = getObjectCoordinates(obj)

            table.insert(objects, {getDistanceBetweenCoords3d(ox, oy, oz, x, y, z), ox, oy, oz})

        end

    end

    if #objects <= 0 then return false end

    table.sort(objects, function(a, b) return a[1] < b[1] end)

    return true, unpack(objects[1])

end
Получается в начало его или майн нужно запихнуть в саму функцию?P.S. Сори, я просто чайник)
 
Последнее редактирование: