Jump to content

Sistema de Prisao


Recommended Posts

--------------- EDIT ---------------

Edit = {
    {"Policial"}, --- Acl
    {1531.79126, -1671.59375, 13.38281}, --- Posição Marker
    {255, 255, 255, 255}, --- Cor Marker
    {"Torne-se um policial para ter acesso a este local"}, --- Mensagem Erro
    {"Painel de apreensão aberto com sucesso"}, --- Mensagem Sucesso
    ["Artigos"] = {
        {"Porte Ilegal - Art. 16°", 20}, --- Artigo, Tempo
        {"Furto - Art. 155°", 20}, --- Artigo, Tempo
        {"Roubo a Mão Armada - Art. 157°", 20}, --- Artigo, Tempo
        {"Trafico de Armas - Art.87°", 20}, --- Artigo, Tempo
        {"Formação de Quadrilha - Art. 288°", 20}, --- Artigo, Tempo
        {"Negociação de Armas - Art. 180°", 20}, --- Artigo, Tempo
        {"Trafico de Drogas - Art. 33°", 20}, --- Artigo, Tempo
        {"Ameaça - Art. 147°", 20}, --- Artigo, Tempo
        {"Suborno - Art. 333°", 20}, --- Artigo, Tempo
        {"Alta Velocidade - Art. 218°", 20}, --- Artigo, Tempo
        {"Tentativa de Fuga - Art. 329°", 20}, --- Artigo, Tempo
        {"Direção Perigosa - Art. 175°", 20}, --- Artigo, Tempo
        {"Corrida Ilegal - Art. 173°", 20}, --- Artigo, Tempo
        {"Obstrução de Via Publica - Art. 246°", 20}, --- Artigo, Tempo
        {"Agressão - Art. 129°", 20}, --- Artigo, Tempo
        {"Sequestro - Art. 148°", 20}, --- Artigo, Tempo
        {"Tentativa de Homicídio - Art. 131°", 20}, --- Artigo, Tempo
        {"Homicídio Culposo - Art. 121°", 20}, --- Artigo, Tempo
        {"Cumplicidade - Art. 27°", 20}, --- Artigo, Tempo
        {"Desobediência - Art. 195°", 20}, --- Artigo, Tempo
        {"Corrupção - Art. 317°", 20}, --- Artigo, Tempo
        {"Vandalismo - Art. 163°", 20}, --- Artigo, Tempo
        {"Abuso de Autoridade - Art. 4°", 20}, --- Artigo, Tempo
        {"Apoligia ao Crime - Art. 287°", 20}, --- Artigo, Tempo
        {"Extorsão - Art. 158°", 20}, --- Artigo, Tempo
        {"Calunia - Art. 138°", 20}, --- Artigo, Tempo
        {"Foragido - Art. 410°", 20}, --- Artigo, Tempo
    }
}


---------- Client ----------- (Irei encurtar o codigo para voces apenas verem como é)

local screenW, screenH = guiGetScreenSize()
local x, y = (screenW/1360), (screenH/768)

local infinity = {
Fonte01 = dxCreateFont("fonts/fonte.ttf", y*16),
}

local DID = createElement("ID")

Opcao1 = 1
Opcao2 = 2
Opcao3 = 3
Opcao4 = 4
Opcao5 = 5
Opcao6 = 6

--==================================== Painel DX ====================================--

function PanelPrision()

    dxDrawRoundedRectangle(x*464, y*308, x*410, y*216, tocolor(28, 28, 28, 255), 3) --- Apenas o fundo do painel
  
  dxDrawText("Nome: "..Nome, x*475, y*436.2, x*16, y*16, tocolor(255, 255, 255, 255), 0.45, infinity.Fonte01, "left", "top", false, false, false, false, false) --- Nome (Oque eu realmente quero que apereça quando colocar o ID da pessoas)
    dxDrawText("Idade: ", x*475, y*448.2, x*16, y*16, tocolor(255, 255, 255, 255), 0.45, infinity.Fonte01, "left", "top", false, false, false, false, false) --- Idade (Oque eu realmente quero que apereça quando colocar o ID da pessoas)
    dxDrawText("Passaporte: ", x*475, y*460.2, x*16, y*16, tocolor(255, 255, 255, 255), 0.45, infinity.Fonte01, "left", "top", false, false, false, false, false) --- Passaporte (Oque eu realmente quero que apereça quando colocar o ID da pessoas)
    dxDrawText("Sexo: ", x*475, y*472.2, x*16, y*16, tocolor(255, 255, 255, 255), 0.45, infinity.Fonte01, "left", "top", false, false, false, true, false) --- Sexo (Oque eu realmente quero que apereça quando colocar o ID da pessoas)
  
  for i = 1,#Pos do
            if #Edit["Artigos"] >= Pos[i][1] then
                local Index = Pos[i][1]
                if Selecionado == Index then
                dxDrawRoundedRectangle(x*Pos[i][2],y*Pos[i][3],x*Pos[i][4],y*Pos[i][5], tocolor(64, 105, 225, 255), 2) --- Fundo Artigos
            else
                dxDrawRoundedRectangle(x*Pos[i][2],y*Pos[i][3],x*Pos[i][4],y*Pos[i][5], tocolor(54, 54, 54, 255), 2) --- Fundo Artigos
            end
        end
    end

    dxDrawText(""..Edit["Artigos"][Opcao1][1].."", x*1400, y*384, x*16, y*16, tocolor(255, 255, 255, 255), 0.50, infinity.Fonte01, "center", "top", false, false, false, false, false) --- Artigo
    dxDrawText(""..Edit["Artigos"][Opcao2][1].."", x*1400, y*364, x*16, y*16, tocolor(255, 255, 255, 255), 0.50, infinity.Fonte01, "center", "top", false, false, false, false, false) --- Artigo
    dxDrawText(""..Edit["Artigos"][Opcao3][1].."", x*1400, y*404, x*16, y*16, tocolor(255, 255, 255, 255), 0.50, infinity.Fonte01, "center", "top", false, false, false, false, false) --- Artigo
    dxDrawText(""..Edit["Artigos"][Opcao4][1].."", x*1400, y*424, x*16, y*16, tocolor(255, 255, 255, 255), 0.50, infinity.Fonte01, "center", "top", false, false, false, false, false) --- Artigo
    dxDrawText(""..Edit["Artigos"][Opcao5][1].."", x*1400, y*444, x*16, y*16, tocolor(255, 255, 255, 255), 0.50, infinity.Fonte01, "center", "top", false, false, false, false, false) --- Artigo
    dxDrawText(""..Edit["Artigos"][Opcao6][1].."", x*1400, y*464, x*16, y*16, tocolor(255, 255, 255, 255), 0.50, infinity.Fonte01, "center", "top", false, false, false, false, false) --- Artigo
  
    dxDrawRoundedRectangle(x*595, y*320, x*100, y*20, tocolor(54, 54, 54, 255), 2) --- Escrever ID
    
    dxDrawEditBox("", x*616, y*319, x*100, y*20, false, 5, DID) -- Local para escrever o ID
end


----- Função de abrir o painel -------

Painel = false

function OpenPanel()
    if Painel == false then
        addEventHandler("onClientRender", root, PanelPrision)
        Painel = true
        showCursor(true)
        Pos = {
            [1] = {1,595, 362, 230, 20},
            [2] = {2,595, 382, 230, 20},
            [3] = {3,595, 402, 230, 20},
            [4] = {4,595, 422, 230, 20},
            [5] = {5,595, 442, 230, 20},
            [6] = {6,595, 462, 230, 20},
        }
        Selecionado = 0
    end
end
addEvent("Prison", true)
addEventHandler("Prison", root, OpenPanel)

function Close()
    if Painel == true then
        if cursorPosition(x*858.4, y*308, x*16, y*16) then
            removeEventHandler("onClientRender", root, PanelPrision)
            Painel = false
            showCursor(false)
        end
    end
end
addEventHandler("onClientClick", root, Close)


-------- Oque habilita escrever no local -------


function ClickButton (button, state)
    if Painel == true then
        if button == "left" and state == "down" then
            if cursorPosition(x*616, y*318.5, x*100, y*20) then
                setElementData(DID, "state", true)
            end
        end
    end
end
addEventHandler("onClientClick", root, ClickButton)

------ Abaixo tem o sistema de scroll, não tem motivo de eu mmostrar ------




------------- Server --------------

function OpenPanel(thePlayer)
    if isObjectInACLGroup ( "user." ..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup (Edit[1][1])) then
        triggerClientEvent(thePlayer, "Prison", thePlayer)
        exports['infinity_infobox']:showInfobox(thePlayer, Edit[5][1], "success")
    else
        exports['infinity_infobox']:showInfobox(thePlayer, Edit[4][1], "error")
    end
end
addEventHandler("onMarkerHit", marker, OpenPanel)

Olá eu irei explicar melhor nesse post oque estou precisando sobre minha duvida.
Encurtei meu script para vocês terem uma noção do que realmente precisa, eu estou fazendo um painel de prender pessoas, e não tera como selecionar a pessoa (https://prnt.sc/110xyna), terá que escrever o ID dela no painel, e ira aparecer em um local o Nome, Idade, etc.
Mas não ira aparecer nada até escrever o ID da pessoa, após escrever o ID da pessoa ira aparecer as informações faladas, soque sou novo nessa área de script e estou procurando ajuda sobre isso, caso alguem consiga me ajudar e me explicar como ou em que tenho que me basear para fazer, eu iria ficar muito grato pois estou a tempos tentando fazer isso e não consigo, Obrigado a todos que me ajudarem.

Link to comment
  • 3 weeks later...

A função onClientRender (como vc provavelmente sabe) fica sempre sendo executada (enquanto o evento estiver ativo)

voce pode criar um dxEditBox pra verificar a caixinha de edit, vc usa condições dentro do onClientRender pra isso, ex:

 

local pID = createElement("Augusto.playerId")

addEventHandler("onClientRender", getRootElement(), function()
local playerID = getElementData(pID, "text2") or "" --text2 e o elemento padrão de texto do dxEditBox

if getPlayerID(tonumber(playerId)) then
--Nesta condição, o script encontrou o id especificado na caixinha do dxEditBox

else
--Aqui não encontrou as informações 
dxDrawText("Não Encontrado", w, h, x, y) 
	end
end)

Espero que tenha conseguido entender : )

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...