Почему lua скрипт работает только после перезагрузки через CTRL+R?

Peresvet

Известный
Автор темы
375
127
Здравствуйте, господа! Возникла проблема, что скрипт работает только после перезагрузки скриптов в игре. При заходе в игру он не активируется. В чём может быть причина?
 
Решение
Можешь написать рабочий отредактированный код, если не тяжело?


Lua:
local as_action = require('moonloader').audiostream_state
local sampev = require('lib.samp.events')

function main()
    while not isSampAvailable() do wait(100) end
    dirMusic = loadAudioStream('moonloader/nevern.mp3')
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if text:find('Неверный код!') and dirMusic ~= nil then
        setAudioStreamState(dirMusic, as_action.PLAY)
        setAudioStreamVolume(dirMusic, 50)
    end
end

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,920
1,292
Здравствуйте, господа! Возникла проблема, что скрипт работает только после перезагрузки скриптов в игре. При заходе в игру он не активируется. В чём может быть причина?
Пытаешься использовать самповские функции до загрузки самого сампа?
 

Peresvet

Известный
Автор темы
375
127
Пытаешься использовать самповские функции до загрузки самого сампа?
Lua:
local as_action = require('moonloader').audiostream_state
local sampev = require('lib.samp.events')
local dirMusic = loadAudioStream('moonloader/nevern.mp3')


function sampev.onServerMessage(color, text)
    if text:find('Неверный код!') and dirMusic ~= nil then
        setAudioStreamState(dirMusic, as_action.PLAY)
        setAudioStreamVolume(dirMusic, 50)
    end
end
 

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,920
1,292
Lua:
local as_action = require('moonloader').audiostream_state
local sampev = require('lib.samp.events')
local dirMusic = loadAudioStream('moonloader/nevern.mp3')


function sampev.onServerMessage(color, text)
    if text:find('Неверный код!') and dirMusic ~= nil then
        setAudioStreamState(dirMusic, as_action.PLAY)
        setAudioStreamVolume(dirMusic, 50)
    end
end
Попробуй в мейне устанавливать значение, после загрузки сампа
 

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,920
1,292
Можешь расшифровать "для тупых"?)
Lua:
local as_action = require('moonloader').audiostream_state
local sampev = require('lib.samp.events')

function main()
 if not isSampfuncsLoaded() or not isSampLoaded() then return end
 while not isSampAvailable() do wait(100) end
 local dirMusic = loadAudioStream('moonloader/nevern.mp3')
 while true do
  wait(-1)
 end
end

function sampev.onServerMessage(color, text)
    if text:find('Неверный код!') and dirMusic ~= nil then
        setAudioStreamState(dirMusic, as_action.PLAY)
        setAudioStreamVolume(dirMusic, 50)
    end
end
 
  • Нравится
Реакции: Peresvet

Azller Lollison

ещкере
Друг
1,350
2,310
Lua:
local as_action = require('moonloader').audiostream_state
local sampev = require('lib.samp.events')

function main()
 if not isSampfuncsLoaded() or not isSampLoaded() then return end
 while not isSampAvailable() do wait(100) end
 local dirMusic = loadAudioStream('moonloader/nevern.mp3')
 while true do
  wait(-1)
 end
end

function sampev.onServerMessage(color, text)
    if text:find('Неверный код!') and dirMusic ~= nil then
        setAudioStreamState(dirMusic, as_action.PLAY)
        setAudioStreamVolume(dirMusic, 50)
    end
end
хуйню скинул, нихуя работать не будет как минимум потому что ты сделал dirMusic локальным для main`а, а onServerMessage по просту не увидит эту переменную

вынеси ее из мейна и не делай локальной в мейне
 

Peresvet

Известный
Автор темы
375
127
хуйню скинул, нихуя работать не будет как минимум потому что ты сделал dirMusic локальным для main`а, а onServerMessage по просту не увидит эту переменную

вынеси ее из мейна и не делай локальной в мейне
Можешь написать рабочий отредактированный код, если не тяжело?
 

sᴀxᴏɴ

саксофон
Всефорумный модератор
791
853
Можешь написать рабочий отредактированный код, если не тяжело?


Lua:
local as_action = require('moonloader').audiostream_state
local sampev = require('lib.samp.events')

function main()
    while not isSampAvailable() do wait(100) end
    dirMusic = loadAudioStream('moonloader/nevern.mp3')
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if text:find('Неверный код!') and dirMusic ~= nil then
        setAudioStreamState(dirMusic, as_action.PLAY)
        setAudioStreamVolume(dirMusic, 50)
    end
end
 
  • Нравится
Реакции: cheremuxa и Peresvet

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,323
а нахуй вы тут ждёте загрузки сампа если аудиострим от него не зависит? просто в мэйн засуньте это вот всё. мейн вызывается после загрузки всех структур игры которой аудиострим и является. а. ну и wait(-1) тоже не нужен т.к. скрипт не выгрузится из-за хука.