хелп с CEF

SigmaProHacker228Amogus

Участник
Автор темы
27
2
Версия MoonLoader
.026-beta
почему то у меня не появляется сообщение test при проверки работает ли указанный диалог с нпс:

script:
local hook = require('samp.events')
local event = require('arizona-events')
local farm = false
-- answer.npcDialog|1
-- window.executeEvent('event.setActiveView', `["NpcDialog"]`);
function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('farm',function ()
        farm = not farm
        if farm then
            lua_thread.create(function ()
                while true do
                    wait(0)
                    function event.onArizonaDisplay(packet)
                        if packet.text:find('window.executeEvent("event.setActiveView", `["NpcDialog"]`);') then
                            sampAddChatMessage('test', -1)
                        end
                    end
                end
            end)
        end
    end)
    wait(-1)
end
 

Fellespe.

Участник
81
19
Lua:
local hook = require('samp.events')
local event = require('arizona-events')
local farm = false
-- answer.npcDialog|1
-- window.executeEvent('event.setActiveView', `["NpcDialog"]`);
function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('farm',function ()
        farm = not farm
    end)
    wait(-1)
end

function event.onArizonaDisplay(packet)
    if packet.text:find('window.executeEvent%("event.setActiveView", `%["NpcDialog"%]`%);') and farm then
        sampAddChatMessage('test', -1)
    end
end
 
  • Нравится
Реакции: wojciech?

wojciech?

Известный
Проверенный
458
417
Lua:
local hook = require('samp.events')
local event = require('arizona-events')
local farm = false
-- answer.npcDialog|1
-- window.executeEvent('event.setActiveView', `["NpcDialog"]`);
function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('farm',function ()
        farm = not farm
    end)
    wait(-1)
end

function event.onArizonaDisplay(packet)
    if packet.text:find('window.executeEvent%("event.setActiveView", `["NpcDialog"]`%);') and farm then
        sampAddChatMessage('test', -1)
    end
end
[] тоже надо экранировать
 
  • Нравится
Реакции: Fellespe.

wojciech?

Известный
Проверенный
458
417
А регулярка вообще имеет смысл? Она не имеет вариативности. Тогда уж можно тупо строки сравнивать
Использовать find оверкилл, но я не думаю, что автора заботят вопросы оптимизации (если судить по изначальному коду). Да и что равенство, что .find выполняться очень быстро, чтобы стать какой-то проблемой тут
 

Tema05

Известный
1,603
526
Использовать find оверкилл, но я не думаю, что автора заботят вопросы оптимизации (если судить по изначальному коду). Да и что равенство, что .find выполняться очень быстро, чтобы стать какой-то проблемой тут
А я не с точки зрения оптимизации, а чтоб подобных проблем не было)