Fonseca_ Posted October 12, 2021 Share Posted October 12, 2021 Olá estou fazendo uma barra de busca em uma concessionaria para ficar mas fácil localizar os veiculos, porem não sei como fazer gostaria de fazer uma barra de busca igual quando vamos pegar um carro no painel P você digita "sa" ele filtra os veiculos que começam com "sa" Link to comment
Other Languages Moderators androksi Posted October 12, 2021 Other Languages Moderators Share Posted October 12, 2021 Olá! Para fazer isso, primeiro você precisa salvar a tabela original em cache. Pois, caso não haja valores com o filtro digitado pelo usuário, ela volta para a estaca zero (lista completa). Seria interessante nos dizer como você está tentando fazer, fica bem mais fácil pra gente te ajudar. Todavia, supondo que seja uma lista em GUI, junto com um campo pra digitar, dá pra fazer desta forma: Spoiler local list = {} -- tabela que será usada no filtro local cacheList = {} -- tabela que iremos salvar todos os dados, não haverá alteração nela -- já de cara, iremos salvar a tabela contendo todos os veículos do servidor (poderia ser qualquer tipo de dado) cacheList = getElementsByType("vehicle") local field = guiCreateEdit(300, 400, 100, 25, "", false, false) -- cria um campo pra digitar, em algum lugar da tela (não testei, então sei lá onde vai estar :P) -- definimos um evento para acionar sempre que houver alteração no campo addEventHandler("onClientGUIChanged", field, function() list = {} -- recria a tabela sempre que houver alteração, para que não ocorra duplicação local input = guiGetText(source) -- obtém o texto digitado no campo if input:gsub("%s", ""):len() == 0 then -- uma verificação pra ver se tem algo digitado no campo, nosso filtro list = cacheList -- ...caso não tenha, então deixaremos a tabela original, com todos os veículos else for i, v in pairs(cacheList) do -- um laço de repetição que irá percorrer todos os itens da nossa tabela-mãe, onde tem os veículos local vehicleName = getVehicleName(v) -- obtém o nome do veículo if string.find(vehicleName, input, 1, true) then -- checa, se no nome do veículo tem o nosso 'input', ou seja, se o nome do veículo for Infernus e nós digitarmos, 'inf', 'nus' ou 'rn', ele estará na lista table.insert(list, vehicleName) -- insere naquela tabela o nome do veículo encontrado pelo filtro end end end iprint(list) -- mostra no '/debugscript 3' a nossa lista filtrada end) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now