Jump to content

MatheusNs

Members
  • Posts

    18
  • Joined

  • Last visited

Posts posted by MatheusNs

  1. Fala galera! Eu por aqui novamente...

    Estou testando funções básicas no GUI mas me deparei com um erro... Na verdade não é um erro, acredito que apenas não está acionando o evento pois no Debug não me apresenta erro nenhum.

     

    É um painel simples que deveria gerar apenas um veículo pra mim...

     

    Cliente

    addEventHandler("onClientResourceStart", resourceRoot,
        function()
            Janela = guiCreateWindow(0.33, 0.23, 0.32, 0.36, "Janela", true) -- Janela Window
            guiWindowSetSizable(Janela, false)
            guiSetVisible(Janela, false)
            GerarCarro = guiCreateButton(0.23, 0.26, 0.58, 0.43, "Gerar carro", true, Janela) -- Botão "Gerar Carro"
            addEventHandler("onClientGUIClick ", GerarCarro, ClicarBotao)   -- Evento para acionar "ClicarBotao" 
        end)
    
    function ClicarBotao(lado, state) -- Evento ao clicar no botão
        if (lado == "left") then  
            triggerServerEvent("GerarCarro", localPlayer)
        end
    end
    
    function AbrirPainel() -- Abrir/fechar painel com Bindkey
        local visivel = guiGetVisible(Janela)
        guiSetVisible(Janela, not visivel)
        showCursor(not visivel)
    end
    bindKey("F2", "down", AbrirPainel)

    Server

    function criarCarro() -- Criar carro
        local x, y, z = getElementPosition(source)
        createVehicle(518, x+1, y, z)
    end
    addEvent("GerarCarro", true)
    addEventHandler("GerarCarro", root, criarCarro)

     

    Conseguem me ajudar por gentileza? 

     

    O painel abre certinho, mas quando eu clico no botão "gerar carro" não acontece nada e o debug não me devolve nenhum tipo de mensagem....

     

     

    Obrigado galera!

  2. Fala galera! 

     

    Sou iniciante na programação como alguns sabem, e ando praticando bastante... 

     

    Gostaria de fazer um painel de login mas eu tenho noção totalmente 0 de como é.

     

    Onde armazenar as informações, como funciona etc

     

    Vocês tem algum script que eu posso estudar para depois fazer o meu próprio? Como funciona essa parte de salvar os dados/cadastrar. 

     

    Ou então se puderem me mandar todos os métodos que são utilizados também estudo...

     

    Obrigado! 

  3. Fala galera!

     

    Estou começando meus estudos em painel GUI, e estou com alguns erros...

     

    Um deles é a função "setClipBoard" que me retorna "nil" 

    Type = "server"
     

    function posicao()
        local x,y,z = getElementPosition(source)
            setClipboard(x, y, z)
    end
    addEvent("copiarPosicao", true)
    addEventHandler("copiarPosicao",root, posicao)

    Type = "client"

    function ClicarPosicao(button, state)
        if (button == "left") then
            triggerServerEvent("copiarPosicao", localPlayer)
        end 
    end

    O SetClipBoard não funciona do lado do server?

  4. Fala galera! 

    Em meus estudos em programação, para ser mais específico MTA. Me deparei com a seguinte situação:

     

    Este código simples de verificar o nome do carro ao entrar não funciona (Dá erro de boolean value)

    function vei(player)        
        nome = getVehicleName(player)
        outputChatBox("O nome do veículo atual é: "..nome)
    end
    addEventHandler("onVehicleEnter", getRootElement(), vei)

    Estava fazendo algumas pesquisas e vi que esse sim funciona.

    function vei(player)        
        nome = getVehicleName(player)
        outputChatBox("O nome do veículo atual é: "..nome)
    end
    addEventHandler("onPlayerVehicleEnter", getRootElement(), vei)

    Esse também funciona
     

    function vei(player)
        carro = getPedOccupiedVehicle(player)         
        nome = getVehicleName(carro)
        outputChatBox("O nome do veículo atual é: "..nome)
    end
    addEventHandler("onVehicleEnter", getRootElement(), vei)

    Mais uma vez, sou iniciante... Mas tenho essas dúvidas que gostaria de esclarecer para evoluir.

     

    Acredito que estou me perdendo muito no que usar dentro de "function ()"... 

    Também peco para saber qual a diferença entre type: server/client/shared (Sei que no MTA explica mas na hora de aplicar tenho dificuldade, até agora uso mais o type: server)

    Também acredito que erro muito em passar os parâmetros para os métodos, como getVehicleName devo indicar o parâmetro:  theVehicle


    Alguma dica ou exemplo para eu não me embananar mais nessas questões? Estou praticando todos os dias para ver se entra na cabeça! 

    Obrigado galera.

  5. 4 hours ago, _Ace said:

    * se quiser somar com o dinheiro que o player ja tem é tudo igual porem use givePlayerMoney

    Muitíssimo obrigado! 

    Sou muito grato pelo apoio de vocês! 

    Sei que vou aprender para futuramente ajudar outras pessoas. 

     

    Até lá vou ter bastante dúvidas (sou bem curioso também), conto com vocês! Obrigado a todos da comunidade.

  6. Galera, me desculpem pela pergunta "besta"... Mas eu to quebrando a cabeça com isso!!!! 

     

    Tem vez que eu faço o código e funciona e tem vez que não... É beeeeem simples, porém tá me dando uma boa dor de cabeça, e juro que não gostaria de abrir um tópico com algo assim...


    Tem vezes que adiciono esse comando bem simples mas não funciona: 

    function DarDinheiro(player)
        setPlayerMoney(player, 100)
    end 
    addCommandHandler("dar", DarDinheiro)

    Me retorna o seguinte erro: 

    expected bool at argument 2

    Mas por que o setPlayerMoney está aguardando um valor booleano no 2 argumento? Sendo que os elementos são: String player e Int quantidade? 

     

    Obrigado pelo help e desculpem a pergunta boba...

    Galera, eu vi que assim funciona: 

    function DarDinheiro()
        setPlayerMoney(11, true)
    end 
    addCommandHandler("dar", DarDinheiro)

    Mas por que ele foi sem eu setar o elemento? 

    Testei assim também (mas me deu erro dizendo algo sobre converter para string)

    function DarDinheiro(player)
        setPlayerMoney(player, 11)
    end 
    addCommandHandler("dar", DarDinheiro)

    E caso eu use essa function(player) o setPlayerMoney não funciona?

  7.  Fala galera! eu aqui novamente ....

     

    Como alguns já sabem mas outros não, sou iniciante aqui na programação.

     

    Estou tentando usar um loop para criar peds com ipairs. Lembrando que uma variável é criada em um arquivo separado chamado "editar.Lua"

     

    Declaração da variável no arquivo "editar.Lua" (Não vejo problema aqui, me corrijam se eu estiver errado)

    PedLoja = {0, 1398.5822753906, -1630.8250732422, 14.102245330811, 88} -- declaração da variável com a posição x,y,z e rotação z

    Código para criação de loop com ped

    for i, v in ipairs(PedLoja) do
    	ped = createPed(v[1], v[2], v[3], v[4], v[5])
    	setElementFrozen(PedLoja, true)
        setElementData(PedLoja, "TS:Blindado", true)
        local BlipLoja = createBlipAttachedTo(PedLoja, 17)
        local BlipLojaAssalta = createBlipAttachedTo(PedLoja, 18)
        setElementVisibleTo(BlipLojaAssalta, root, false)
    end

    Erro que me retorna ao executar o script: 

    tentativa de indexar 'v' local (um valor numérico)

     

    Estava estudando Lua e sinceramente não sei ou porque cometeu um erro. Deve ser sobre algum valor incorreto que "V" não entra? Como posso otimizar para que funcione?

     

    Obs: Nunca usei 

      para i , v em ipairs () do

     

  8. Onde e como eu usaria Lord?

    Tentei dessas formas: 

    function peds(player)
        local rx,ry,rz = getElementRotation(localPlayer)
        local px, py, pz = getElementPosition(localPlayer)
        setClipboard("{179 ,"..px..", "..py..", "..pz..", "..math.abs(rz).."};")
        outputChatBox("Todas as informações para adicionar o ped foram copiadas!")
    end
    addCommandHandler("localped", peds)
    

    E

    function peds(player)
        local rx,ry,rz = getElementRotation(localPlayer)
        local px, py, pz = getElementPosition(localPlayer)
        math.abs(rz)
        setClipboard("{179 ,"..px..", "..py..", "..pz..", "..rz.."};")
        outputChatBox("Todas as informações para adicionar o ped foram copiadas!")
    end
    addCommandHandler("localped", peds)


    Pesquisei em alguns fóruns como usa o math.abs mas não consegui entender, sou bem iniciante mesmo

     

    Obrigado pela ajuda

  9. Fala galera! 

    Gostaria de saber se é possível fazer uma otimização neste meu código (Ele funciona, mas gostaria de otimizar)

    function peds(player)
        local rx,ry,rz = getElementRotation(localPlayer)
        local px, py, pz = getElementPosition(localPlayer)
        setClipboard("{179 ,"..px..", "..py..", "..pz..", "..rz.."};")
        outputChatBox("Todas as informações para adicionar o ped foram copiadas!")
    end
    addCommandHandler("localped", peds)

    Criei esse comando para pegar todas as informações que preciso para criar meu ped, são elas: ID do Ped, Posição X, Posição Y, Posição Z, Rotação 

    Exemplo de retorno dessa função: {179 ,-2410.6901855469, -603.83367919922, 132.5625, 119.29634857178};

    Porém no valor "119.29634857178" eu só preciso do valor antes do ".", ou seja: 119

    Tem como otimizar o código para que ele me faça isso?

    Obrigado pelo help!!!

  10. Galera, há um tempo atrás estava com uma dúvida de como fazer verificar se o player tem "cnh" e caso não tenha desligar o carro. 

    Me ajudaram me enviando este código que funciona perfeitamente: 

    function desligarCarro(carro,assento)-- função que verifica se o player tem ou não CNH e desliga o carro
        if not getElementData(source, "cnh") and assento==0 then--se nao tiver elementdata cnh e estiver no banco do motorista (assento 0)
            setVehicleEngineState(carro, false)
        end
    end
    addEventHandler("onPlayerVehicleEnter" , getRootElement (), desligarCarro)

    Minha dúvida é... 

    Como que neste código ele sabe que "assento" é o assento que o player está ocupando no carro?

     

    E por que se eu utilizar na função "(player)" ele não funciona com "onPlayerVehicleEnter"? 

     

    Obs: Estou aprendendo, mas adoraria tirar essas dúvidas.

     

    Obrigado desde já!

  11. Galera, muito obrigado pela ajuda! Estou muito feliz em ver as coisas andando. 

     

    Grato pela ajuda de vocês! 

     

    Como que eu sei o que usar no "()"? Por exemplo source no lugar de "player"? 

     

    Devo abrir um novo tópico para isto?

    Outra coisa, na linha: 

    if not getElementData(source, "cnh") and assento==0 then--se nao tiver elementdata cnh e estiver no banco do motorista (assento 0)

    Como que o sistema sabe que "assento" é a posição do player no carro? 

  12. Fala galera, como vão? 

    Sou novo aqui no MTA e estou seguindo algumas dicas de praticar e estudar o Wiki-MTA.

     

    Como não tenho ninguém para me ensinar, estou tentando fazer um script que, ao verificar que o player não tem CNH desligue o carro.

    Meu código está assim:

     

    function obtercnh(player) -- Ele obtem CNH ao entrar no marker
        if getElementData(player, "cnh") == false then
            setElementData(player, "cnh", true)
            outputChatBox("Você obteve sua CNH!")
        end 
    end
    addEventHandler("onMarkerHit", mCnh, obtercnh)
    
    function jogarFora(player) -- Ele joga a CNH fora
        if getElementData(player, "cnh") == true then
            setElementData(player, "cnh", false)
            outputChatBox("Você jogou sua CNH fora!")
        else
            outputChatBox("Você não tem CNH para jogar fora!")
        end
    end
    addCommandHandler("jogar", jogarFora)
    
    function desligarCarro(player) -- Deveria desligar o carro que o player está caso ele não tenha CNH
        if getElementData(player, "cnh") == false then
            playerVehicle = getPedOccupiedVehicle(player)
            setVehicleEngineState(playerVehicle, false)
        end
    end
    addEventHandler("onPlayerVehicleEnter" , getRootElement (), desligarCarro)

    Alguém consegue me ajudar por gentileza? 

     

    Obs: Sou iniciante então deve ser algo bem simples mas estou a 2 dias e não consigo saber o que é pois não dá erro... Desculpem e obrigado.

×
×
  • Create New...