Не работает return

BlackGoblin

Известный
Автор темы
519
215
Версия MoonLoader
.027.0-preview
Приветствую. Столкнулся с такой проблемой, что не работает функция return. Просто не делает ничего, как фиксить? Пример. Данный код должен добавлять в заголовок диалога его ID

Lua:
local sampev = require 'samp.events'

function sampev.onShowDialog(id, style, title, button1, button2, text)
 return {id, style, tostring(id) .. ' | ' .. title, button1, button2, text}
end
function main() wait(-1) end
У меня он не делает ничего.
Хотя если ставить return false, то диалоги обрезает, или если сделать вывод title в чат, то оно выводит.
У других этот код работает.
Так же сегодня еще 1 код не хочет работать. Тоже доходит до функции return и ничего не делает. Что за проблема? Как это решать?
 

ishi

Известный
493
110
Фулл первого в теме, это и есть весь скрипт. Фулл второго вот.
При нажатии на таб в консоль выводит изначальный лвл человека под 0 айди, так же в табе заменяет ему лвл на 150. У меня работает ровно до вывода в консоль
Lua:
ampev = require("lib.samp.events")

local id = 0
local score = 150

function sampev.onUpdateScoresAndPings(data)
    print(data[0].score)
    for k,v in pairs(data) do
        if k == id then
            data[k].score = score
            break
        end
    end
    return {data}
end
Целью было заменить scores на 150? Так сработало
Lua:
local id = 0
local score = 150

function sampev.onUpdateScoresAndPings(data)
    print(data[0].score)
    --data[0].score = scores
    for k,v in pairs(data) do
        --sampAddChatMessage(string.format("id %d",k),drop_color)
        if k == id then
        --sampAddChatMessage(string.format("%d == %d",k,id),drop_color)
            data[k].score = score
            --v = 
            break
        end
    end
    local tabletka = {}
    tabletka = data
    return {tabletka}
end
 

BlackGoblin

Известный
Автор темы
519
215
Целью было заменить scores на 150? Так сработало
Lua:
local id = 0
local score = 150

function sampev.onUpdateScoresAndPings(data)
    print(data[0].score)
    --data[0].score = scores
    for k,v in pairs(data) do
        --sampAddChatMessage(string.format("id %d",k),drop_color)
        if k == id then
        --sampAddChatMessage(string.format("%d == %d",k,id),drop_color)
            data[k].score = score
            --v =
            break
        end
    end
    local tabletka = {}
    tabletka = data
    return {tabletka}
end
Не срабатывает, всё так же. Оно не воспринимает функцию return
 

ishi

Известный
493
110
В логе чисто, оно не записывает туда ничего. Скрипт работоспособный, раз выводит в консоль инфу
Ладно. Тогда покажи свои файлы из библиотеки samp в мунлоадере. Чем чёрт не шутит?
 

BlackGoblin

Известный
Автор темы
519
215
Ладно. Тогда покажи свои файлы из библиотеки samp в мунлоадере. Чем чёрт не шутит?
Не понял, эти?
39398
 

ishi

Известный
493
110
  • Нравится
Реакции: k0shaK

BlackGoblin

Известный
Автор темы
519
215
Меня смущает, что они у тебя имеют разную дату изменения. У меня везде одинаково. Может, у тебя файлы перезаписаны криво?
Понятия не имею, я эту либу сегодня переставлял с архива, который скачал на бласте
 

ishi

Известный
493
110
Понятия не имею, я эту либу сегодня переставлял с архива, который скачал на бласте
Не хотелось бы гонять тебя по очевидным операциям, но всё же попробуй переустановить автоматическим инсталлятором, который .exe, предварительно удалив всю lib, чтоб ничего лишнего не осталось
 

BlackGoblin

Известный
Автор темы
519
215
Не хотелось бы гонять тебя по очевидным операциям, но всё же попробуй переустановить автоматическим инсталлятором, который .exe, предварительно удалив всю libs, чтоб ничего лишнего не осталось
Кого обновить? Мунлоадер? Так я его сегодня тоже уже переустанавливал) Я хз как его не автоматическим установщиком ставить
 

ishi

Известный
493
110
Кого обновить? Мунлоадер? Так я его сегодня тоже уже переустанавливал) Я хз как его не автоматическим установщиком ставить
Аномалия у тебя какая-то, хоть болты бросай х)
Раньше мунлоадер стоял, работал?
 

BlackGoblin

Известный
Автор темы
519
215
Аномалия у тебя какая-то, хоть болты бросай х)
Раньше мунлоадер стоял, работал?
Хуй его знает, работать то работал, а про return не имею понятия. Ибо никогда не пытался что то подобное юзать, а return false работает исправно
 

ishi

Известный
493
110
Хуй его знает, работать то работал, а про return не имею понятия. Ибо никогда не пытался что то подобное юзать, а return false работает исправно
То-есть если отправляешь таблицу, то эффекта нету вообще никакого, будто скрипта нет?
 

ishi

Известный
493
110
Ну, выходит, что так
Хотя функции до этой отправки работают
> функция вызывает твой обработчик, передаёт аргумент с валидными данными
> данные успешно подменяются и при возврате валида отсутствуют изменения
> При возврате невалида происходит обработка

Это выглядит так, будто у тебя в библиотеке отсутствует участок кода, который срабатывает в случае валидности данных, то-есть когда есть что читать, и он работает вообще ничего в итоге никуда не отправляя

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