ragedrugg

Известный
Автор темы
147
175
UPDATE: убран говнокод, работа скрипта переписана под inicfg и команды, добавлено игнорирование строчки "Последнее место выхода"
 

Vespan

Чешский луашер
Проверенный
2,118
1,715
как вариант
Lua:
sampev = require 'samp.events'
function sampev.onShowDialog(id, style, caption, b1, b2, text)     
    if caption:find('%{BFBBBA%}Выбор места спавна') and style == 2 then
        local setSpawnADDVIP = {}
        local f = 'Дом №405' -- тут пишите дом-организация-трейлер
        local c = -1
        for l in text:gmatch('[^\n]+') do
            c = c + 1
            l = string.gsub(l,'{......}','')
            if l:find(f) then
                setSpawnADDVIP = {id=id,c=c,clock=os.clock()}
            end
        end
        lua_thread.create(function()
            while true do wait(0)
                if os.clock()-setSpawnADDVIP.clock > 5 then -- спустя 5 секунд,если вы не выбрали ничего,скрипт выберет спавн.
                    if sampIsDialogActive() then
                        sampSendDialogResponse(setSpawnADDVIP.id,1,setSpawnADDVIP.c,nil)
                    end
                    break;
                end
            end
        end)
    end
end
 
  • Bug
Реакции: ragedrugg и neverlane

ragedrugg

Известный
Автор темы
147
175
как вариант
Lua:
sampev = require 'samp.events'
function sampev.onShowDialog(id, style, caption, b1, b2, text)    
    if caption:find('%{BFBBBA%}Выбор места спавна') and style == 2 then
        local setSpawnADDVIP = {}
        local f = 'Дом №405' -- тут пишите дом-организация-трейлер
        local c = -1
        for l in text:gmatch('[^\n]+') do
            c = c + 1
            l = string.gsub(l,'{......}','')
            if l:find(f) then
                setSpawnADDVIP = {id=id,c=c,clock=os.clock()}
            end
        end
        lua_thread.create(function()
            while true do wait(0)
                if os.clock()-setSpawnADDVIP.clock > 5 then -- спустя 5 секунд,если вы не выбрали ничего,скрипт выберет спавн.
                    if sampIsDialogActive() then
                        sampSendDialogResponse(setSpawnADDVIP.id,1,setSpawnADDVIP.c,nil)
                    end
                    break;
                end
            end
        end)
    end
end
по команде намного проще и лучше, а если тебе нужно, чтобы ты сам мог выбрать — добавь задержку.
и вообще, если тебе нужно вручную выбрать спавн — пропиши /setsp и ты выключишь скрипт.
 

RedRoom

Известный
350
48
При /rec и новом заходе в игру, что-то исчезает по типу выхода, а может и появится, может лучше сделать выбор строчки по словам? Чтобы всегда выбиралась сохранённая точка, какой бы цифры строчка не была
 

ragedrugg

Известный
Автор темы
147
175
При /rec и новом заходе в игру, что-то исчезает по типу выхода, а может и появится, может лучше сделать выбор строчки по словам? Чтобы всегда выбиралась сохранённая точка, какой бы цифры строчка не была
так стоит проверка на последнее место выхода, все отлично работает, br
только что проверил на работоспособность, все работает
если скрипт видит строчку с текстом "место выхода", то он ее игнорирует
1662378330005.png
 
  • Нравится
Реакции: RedRoom

Ernesto_Toregsossa

Участник
56
6
так стоит проверка на последнее место выхода, все отлично работает, br
только что проверил на работоспособность, все работает
если скрипт видит строчку с текстом "место выхода", то он ее игнорирует
Посмотреть вложение 167122
а как наоборот сделать чтоб оно выбирала последнее место выхода
 

RedRoom

Известный
350
48
скрипт не предназначен для этого, если ты собираешься выбирать последнее место спавна, то просто выключи скрипт.
а можешь сделать отдельно, или добавить как-то специально для последнего места? в рр лавку ловить появляясь возле нее це гениально)) но надо чтобы максимально фастом было, вот

ну типа, если есть последний выход, берет его, если нет, берет сохраненную точку
 
Последнее редактирование:
  • Нравится
Реакции: Ernesto_Toregsossa

HelpPlease

Новичок
1
0
Как сделать так, чтобы по дефолту изначально скрипт работал по введенному ранее /setspawn? Без ввода команды /setsp ?

То есть мне нужно полное игнорирование этой таблички. Либо автоматом выбор по /setspawn
 

ragedrugg

Известный
Автор темы
147
175
а можешь сделать отдельно, или добавить как-то специально для последнего места? в рр лавку ловить появляясь возле нее це гениально)) но надо чтобы максимально фастом было, вот

ну типа, если есть последний выход, берет его, если нет, берет сохраненную точку
чуть позже займусь этим обновлением, так что в планах