Удалить строчку из диалога

Daniel Garden

Известный
Автор темы
12
12
Версия MoonLoader
.026-beta
Помогите пожалуйста удалить первую строчку из диалога автоматически, чтоб случайно не купить, id окна 16
sa-mp-020.png
 
Решение
Lua:
require "lib.moonloader"
local on = require "lib.samp.events"
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do wait(0)
    end
end
function on.onShowDialog(did, style, title, b1, b2, text)
    lua_thread.create(function()
        if title:find('Магазин 24/7') and did == 16 and text:find('Номер телефона(.+)[$(%d+)]') then
            tet = text:gsub('Номер телефона(%c+)%[$(%d+)%]\n','')
            sampShowDialog(17, title, tet, b1, b2, style)
            while sampIsDialogActive(17) do wait(100) end
            local result, button, list, input = sampHasDialogRespond(17)
            if button == 1 then sampSendDialogResponse(16, 1...

Hideme Flow

Известный
573
199
Помогите пожалуйста удалить первую строчку из диалога автоматически, чтоб случайно не купить, id окна 16
Посмотреть вложение 125030
Нелзя, если удалишь первую строчку, то если допустим ты купишь телефонную книгу, то купится номер
если купишь удочку, то купится фотоапарат
 

meowprd

Тот самый Котовский
Проверенный
1,278
721
Человек выше говорит правильно, смысла удалять с LISTITEM строку нет смысла
Даже если ты ее удалишь и первым будет "Телефонная книга", то при нажатии на нее все равно купится номер телефона.
Единственное что здесь можно сделать - во время показа этого диалога подкинуть свой диалог и обрабатывать нажатия уже в нем
 

qdIbp

Автор темы
Проверенный
1,439
1,181
Помогите пожалуйста удалить первую строчку из диалога автоматически, чтоб случайно не купить, id окна 16
Посмотреть вложение 125030
Lua:
require "lib.moonloader"
local on = require "lib.samp.events"
sms = sampAddChatMessage

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
        
    while true do wait(0)
    end
end
function on.onShowDialog(did, style, title, b1, b2, text)
    lua_thread.create(function()
        if title:find('Магазин 24/7') and did == 16 and text:find('Номер телефона(.+)[$(%d+)]') then
            tet = text:gsub('Номер телефона(%c+)%[$(%d+)%]\n','')
            sampShowDialog(17, title, tet, b1, b2, style)
            while sampIsDialogActive(17) do wait(100) end
            local result, button, list, input = sampHasDialogRespond(17)
            
                if list == 1 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 2,nil)  end
                if list == 2 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 3,nil)  end
                if list == 3 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 4,nil)  end
                if list == 4 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 5,nil)  end
                if list == 5 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 6,nil)  end
                if list == 6 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 7,nil)  end
                if list == 7 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 8,nil)  end
                if list == 8 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 9,nil)  end
                if list == 9 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 10,nil)  end
                if list == 10 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 11,nil)  end
                if list == 11 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 12,nil)  end
                if list == 12 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 13,nil)  end
                if list == 13 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 14,nil)  end

        end
    end)
    if title:find('Магазин 24/7') and did == 16 then
        return false
    end
end
 
  • Нравится
Реакции: Daniel Garden

meowprd

Тот самый Котовский
Проверенный
1,278
721
Lua:
require "lib.moonloader"
local on = require "lib.samp.events"
sms = sampAddChatMessage

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
      
    while true do wait(0)
    end
end
function on.onShowDialog(did, style, title, b1, b2, text)
    lua_thread.create(function()
        if title:find('Магазин 24/7') and did == 16 and text:find('Номер телефона(.+)[$(%d+)]') then
            tet = text:gsub('Номер телефона(%c+)%[$(%d+)%]\n','')
            sampShowDialog(17, title, tet, b1, b2, style)
            while sampIsDialogActive(17) do wait(100) end
            local result, button, list, input = sampHasDialogRespond(17)
          
                if list == 1 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 2,nil)  end
                if list == 2 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 3,nil)  end
                if list == 3 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 4,nil)  end
                if list == 4 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 5,nil)  end
                if list == 5 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 6,nil)  end
                if list == 6 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 7,nil)  end
                if list == 7 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 8,nil)  end
                if list == 8 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 9,nil)  end
                if list == 9 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 10,nil)  end
                if list == 10 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 11,nil)  end
                if list == 11 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 12,nil)  end
                if list == 12 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 13,nil)  end
                if list == 13 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 14,nil)  end

        end
    end)
    if title:find('Магазин 24/7') and did == 16 then
        return false
    end
end
фуфуфу, это че такое
Lua:
if list == 1 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 2,nil)  end
if list == 2 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 3,nil)  end
if list == 3 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 4,nil)  end
if list == 4 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 5,nil)  end
if list == 5 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 6,nil)  end
if list == 6 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 7,nil)  end
if list == 7 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 8,nil)  end
if list == 8 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 9,nil)  end
if list == 9 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 10,nil)  end
if list == 10 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 11,nil)  end
if list == 11 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 12,nil)  end
if list == 12 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 13,nil)  end
if list == 13 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 14,nil)  end

можно в одну строку ведь
Lua:
if button == 1 then sampSendDialogResponse(16, 1, list+1, _) end
и зачем тут setGameKeyState()?

(я точно не помню, но вроде listitem в sampSendDialogResponse считаются от 0)
 
  • Нравится
Реакции: Daniel Garden

qdIbp

Автор темы
Проверенный
1,439
1,181
Lua:
require "lib.moonloader"
local on = require "lib.samp.events"
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do wait(0)
    end
end
function on.onShowDialog(did, style, title, b1, b2, text)
    lua_thread.create(function()
        if title:find('Магазин 24/7') and did == 16 and text:find('Номер телефона(.+)[$(%d+)]') then
            tet = text:gsub('Номер телефона(%c+)%[$(%d+)%]\n','')
            sampShowDialog(17, title, tet, b1, b2, style)
            while sampIsDialogActive(17) do wait(100) end
            local result, button, list, input = sampHasDialogRespond(17)
            if button == 1 then sampSendDialogResponse(16, 1, list+1, _) end
        end
    end)
    if title:find('Магазин 24/7') and did == 16 then
        return false
    end
end
Lua:
if button == 1 then sampSendDialogResponse(16, 1, list+1, _) end
Оо великий критик вам пойдет такой коТ

=====================================================================================================
фуфуфу, это че такое
Lua:
if list == 1 and button == 1 then setGameKeyState(15, 64) sampSendDialogResponse(16,1, 2,nil)  end

можно в одну строку ведь
Lua:
if button == 1 then sampSendDialogResponse(16, 1, list+1, _) end
и зачем тут setGameKeyState()?

(я точно не помню, но вроде listitem в sampSendDialogResponse считаются от 0)
:\\\
Бывает, у каждого свои идеи
и зачем тут setGameKeyState()?

(я точно не помню, но вроде listitem в sampSendDialogResponse считаются от 0)
Тестил С setGameKeyState и без, по итогу забыл удалить
(я точно не помню, но вроде listitem в sampSendDialogResponse считаются от 0)
так 1 строчку же удалили/убрали
 
Последнее редактирование:
  • Нравится
Реакции: Daniel Garden и meowprd

meowprd

Тот самый Котовский
Проверенный
1,278
721
:\\\
Бывает, у каждого свои идеи

Тестил С setGameKeyState и без, по итогу забыл удалить

так 1 строчку же удалили/убрали

=====================================================================================================
Lua:
require "lib.moonloader"
local on = require "lib.samp.events"
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do wait(0)
    end
end
function on.onShowDialog(did, style, title, b1, b2, text)
    lua_thread.create(function()
        if title:find('Магазин 24/7') and did == 16 and text:find('Номер телефона(.+)[$(%d+)]') then
            tet = text:gsub('Номер телефона(%c+)%[$(%d+)%]\n','')
            sampShowDialog(17, title, tet, b1, b2, style)
            while sampIsDialogActive(17) do wait(100) end
            local result, button, list, input = sampHasDialogRespond(17)
            if button == 1 then sampSendDialogResponse(16, 1, list+1, _) end
        end
    end)
    if title:find('Магазин 24/7') and did == 16 then
        return false
    end
end

Оо великий критик вам пойдет такой коТ
Блин, не называй меня так, я просто слишком перфекционист =(
 
  • Вау
Реакции: qdIbp