Помогите сделать/исправить скрипт

Статус
В этой теме нельзя размещать новые ответы.

McR

Участник
Автор темы
278
14
Удаление темы с ответом
Суть скрипта в том, что бы он находил текст со скрина и отмечал дом, через команду /findihouse.
1701959161708.png




Вот код который мне помогли сделать, но он не работает, помогите его переделать или исправить.

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
if text:find('{.-}%s{.-} Вы действительно хотите приобрести разрешение на покупку {.-}.+ %((%d+)%){.-} %?') then
local number = text:match('{.-}%s{.-} Вы действительно хотите приобрести разрешение на покупку {.-}.+ %((%d+)%){.-} %?')
sampSendChat('/findihouse '..number)
end
end
 

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
Текст в коде и текст в диалоге отличаются.
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    text = text:gsub("{.-}", "")
    local houseId = text:match("%- Вы успешно приобрели разрешение на покупку Дома %((%d+)%)%!")
    if houseId then
        sampSendChat("/findhouse "..houseId)
    end
end
 
  • Нравится
Реакции: McR и chromiusj

McR

Участник
Автор темы
278
14
Текст в коде и текст в диалоге отличаются.
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    text = text:gsub("{.-}", "")
    local houseId = text:match("%- Вы успешно приобрели разрешение на покупку Дома %((%d+)%)%!")
    if houseId then
        sampSendChat("/findhouse "..houseId)
    end
end
к сожалению не работает

по сути скрипт работать должен вот так
 

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
к сожалению не работает

по сути скрипт работать должен вот так
Даже не знаю, если честно. Регулярка правильная, в компиляторе всё выводит.
Проверь ещё этот вариант и убедись в том, что кодировка скрипта – Windows 1251.
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    text = text:gsub("{.-}", "")
    local houseId = text:match("%- Вы успешно приобрели разрешение на покупку Дома %((%d+)%)%!")
    if houseId then
        lua_thread.create(function() wait(10)
            sampSendChat("/findhouse "..houseId)
        end)
    end
end
 

McR

Участник
Автор темы
278
14
Даже не знаю, если честно. Регулярка правильная, в компиляторе всё выводит.
Проверь ещё этот вариант и убедись в том, что кодировка скрипта – Windows 1251.
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    text = text:gsub("{.-}", "")
    local houseId = text:match("%- Вы успешно приобрели разрешение на покупку Дома %((%d+)%)%!")
    if houseId then
        lua_thread.create(function() wait(10)
            sampSendChat("/findhouse "..houseId)
        end)
    end
end
а local sampev = require("samp.events") надо?просто без этого скрипт ваще не загружается
 

McR

Участник
Автор темы
278
14
Даже не знаю, если честно. Регулярка правильная, в компиляторе всё выводит.
Проверь ещё этот вариант и убедись в том, что кодировка скрипта – Windows 1251.
Lua:
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    text = text:gsub("{.-}", "")
    local houseId = text:match("%- Вы успешно приобрели разрешение на покупку Дома %((%d+)%)%!")
    if houseId then
        lua_thread.create(function() wait(10)
            sampSendChat("/findhouse "..houseId)
        end)
    end
end
все равно не работает
 

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
скинь полностью файл, у меня ничего не происходит почему то
Выше и есть полный код почти, там лишь нет local sampev = require 'lib.samp.events'.
Lua:
local sampev = require "lib.samp.events"

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    text = text:gsub("{.-}", "")
    local houseId = text:match("%- Вы успешно приобрели разрешение на покупку Дома %((%d+)%)%!")
    if houseId then
        lua_thread.create(function() wait(10)
            sampSendChat("/findhouse "..houseId)
        end)
    end
end

Можно вот так сократить, если нужно.
Lua:
require("lib.samp.events").onShowDialog = function(dialogId, style, title, button1, button2, text)
    local houseId = text:gsub("{.-}", ""):match("%- Вы успешно приобрели разрешение на покупку Дома %((%d+)%)%!")
    if houseId then
        lua_thread.create(function() wait(10)
            sampSendChat("/findhouse "..houseId)
        end)
    end
end
 
Последнее редактирование:

McR

Участник
Автор темы
278
14
Выше и есть полный код почти, там лишь нет local sampev = require 'lib.samp.events'.
Lua:
local sampev = require "lib.samp.events"

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    text = text:gsub("{.-}", "")
    local houseId = text:match("%- Вы успешно приобрели разрешение на покупку Дома %((%d+)%)%!")
    if houseId then
        lua_thread.create(function() wait(10)
            sampSendChat("/findhouse "..houseId)
        end)
    end
end
пробывал этот код с локал, ничего не происходило вообще
 

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
пробывал этот код с локал, ничего не происходило вообще
Ну проблема не может быть коде, ибо у меня он работает.
Ты пробовал создавать отдельный файл с этим кодом? И кодировка скрипта точно стоит Windows 1251, а не UTF-8?
 

McR

Участник
Автор темы
278
14
Ну проблема не может быть коде, ибо у меня он работает.
Ты пробовал создавать отдельный файл с этим кодом? И кодировка скрипта точно стоит Windows 1251, а не UTF-8?
скинь полностью файл, я не знаю как проверить кодировку даже
 
Статус
В этой теме нельзя размещать новые ответы.