Jump to content

noonbr

Members
  • Posts

    79
  • Joined

  • Last visited

Everything posted by noonbr

  1. Você pode utilizar esse resource para ajudar a obter as rotações do ossos mais facilmente e implementá-las no seu código.
  2. Acredito que isso possa acontecer por causa do setTimer do lado do cliente. Depois de 500 milisegundos ele começa a renderizar as informações e às vezes não dá tempo do servidor calcular tudo e devolver para o cliente a informação mais atualizada. O que eu recomendo é remover o setTimer depois do jogador encostar no marker e colocar para renderizar dentro da função painel, veja: 1. Remover o setTimer dessa função: ------------------------------ MARKER PARA ABRIR O PAINEL --------------------------------------- local marker = createMarker(1715.93628, -1920.92944, 13.23579, "cylinder", 10.5, 255, 255, 255, 0) function onMarkerHit(hitElement, matchingDimension) local markerPosition = Vector3(1715.93628, -1920.92944, 13.23579) if hitElement and getElementType(hitElement) == "player" and matchingDimension and not rankingpanel then local playerPosition = Vector3(getElementPosition(hitElement)) triggerServerEvent("getRank", hitElement) -- setTimer removido daqui end end addEventHandler("onClientMarkerHit", marker, onMarkerHit) 2. Renderizar o painel só depois de receber as informações mais atualizadas possíveis: function painel(accounts, kills, deaths, ratio) if accounts then for i, v in ipairs (accounts) do function painel_kdr() kill1 = kills[1] or 0 kill2 = kills[2] or 0 kill3 = kills[3] or 0 kill4 = kills[4] or 0 kill5 = kills[5] or 0 conta1 = accounts[1] or "N/A" conta2 = accounts[2] or "N/A" conta3 = accounts[3] or "N/A" conta4 = accounts[4] or "N/A" conta5 = accounts[5] or "N/A" morte1 = deaths[1] or "N/A" morte2 = deaths[2] or "N/A" morte3 = deaths[3] or "N/A" morte4 = deaths[4] or "N/A" morte5 = deaths[5] or "N/A" dxDrawText("Pressione 'backspace' para fechar", screenW * 0.2281, screenH * 0.7549, screenW * 0.7586, screenH * 0.7949, tocolor(255, 255, 255, 255), 1.50, "default", "center", "center", false, false, false, false, false) dxDrawRoundedRectangle(screenW * 0.2281, screenH * 0.2490, screenW * 0.5312, screenH * 0.5068, tocolor(32, 32, 32, 255), 4) dxDrawText("Liders kills", screenW * 0.2641, screenH * 0.2568, screenW * 0.5258, screenH * 0.3086, tocolor(255, 255, 255, 255), 1.50, "default-bold", "left", "center", false, false, false, false, false) dxDrawRoundedRectangle(screenW * 0.2641, screenH * 0.3330, screenW * 0.4578, screenH * 0.3535, tocolor(38, 38, 38, 255), 9) dxDrawText("Jogador", screenW * 0.2641, screenH * 0.3320, screenW * 0.4602, screenH * 0.3760, tocolor(255, 255, 255, 255), 1.30, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("Kill", screenW * 0.4602, screenH * 0.3330, screenW * 0.5852, screenH * 0.3779, tocolor(255, 255, 255, 255), 1.30, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("Morte", screenW * 0.5852, screenH * 0.3330, screenW * 0.7219, screenH * 0.3779, tocolor(255, 255, 255, 255), 1.30, "default-bold", "center", "center", false, false, false, false, false) dxDrawRectangle(screenW * 0.2633, screenH * 0.3779, screenW * 0.4586, screenH * 0.0508, tocolor(32, 32, 32, 255), false) dxDrawRectangle(screenW * 0.2641, screenH * 0.4795, screenW * 0.4586, screenH * 0.0508, tocolor(32, 32, 32, 255), false) dxDrawRectangle(screenW * 0.2633, screenH * 0.5811, screenW * 0.4586, screenH * 0.0508, tocolor(32, 32, 32, 255), false) dxDrawText("1-", screenW * 0.2641, screenH * 0.3779, screenW * 0.2953, screenH * 0.4287, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("2-", screenW * 0.2641, screenH * 0.4287, screenW * 0.2953, screenH * 0.4785, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("3-", screenW * 0.2641, screenH * 0.4785, screenW * 0.2953, screenH * 0.5283, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("4-", screenW * 0.2641, screenH * 0.5283, screenW * 0.2953, screenH * 0.5811, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("5-", screenW * 0.2641, screenH * 0.5811, screenW * 0.2953, screenH * 0.6309, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..conta1, screenW * 0.2953, screenH * 0.3779, screenW * 0.4602, screenH * 0.4277, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..conta2, screenW * 0.2953, screenH * 0.4287, screenW * 0.4602, screenH * 0.4795, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..conta3, screenW * 0.2953, screenH * 0.4795, screenW * 0.4602, screenH * 0.5303, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..conta4, screenW * 0.2953, screenH * 0.5283, screenW * 0.4602, screenH * 0.5811, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..conta5, screenW * 0.2953, screenH * 0.5811, screenW * 0.4602, screenH * 0.6309, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("Você", screenW * 0.2953, screenH * 0.6357, screenW * 0.4602, screenH * 0.6865, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..kill1, screenW * 0.4602, screenH * 0.3760, screenW * 0.5852, screenH * 0.4277, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..kill2, screenW * 0.4602, screenH * 0.4277, screenW * 0.5852, screenH * 0.4795, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..kill3, screenW * 0.4602, screenH * 0.4795, screenW * 0.5852, screenH * 0.5312, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..kill4, screenW * 0.4602, screenH * 0.5303, screenW * 0.5852, screenH * 0.5820, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..kill5, screenW * 0.4602, screenH * 0.5811, screenW * 0.5852, screenH * 0.6328, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("N/A", screenW * 0.4602, screenH * 0.6357, screenW * 0.5852, screenH * 0.6875, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..morte1, screenW * 0.5852, screenH * 0.3770, screenW * 0.7219, screenH * 0.4277, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..morte2, screenW * 0.5852, screenH * 0.4287, screenW * 0.7219, screenH * 0.4795, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..morte3, screenW * 0.5852, screenH * 0.4795, screenW * 0.7219, screenH * 0.5303, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..morte4 , screenW * 0.5852, screenH * 0.5303, screenW * 0.7219, screenH * 0.5811, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) dxDrawText(""..morte5, screenW * 0.5852, screenH * 0.5820, screenW * 0.7219, screenH * 0.6328, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false) end end addEventHandler("onClientRender", root, painel_kdr) rankingpanel = true end end addEvent("showRank", true) addEventHandler("showRank", getRootElement(), painel) Percebo que dá pra fazer algumas melhoras no código na parte de contagem das estatísticas no servidor e cliente, se te interessar, devolva um feedback sobre o problema e o interesse em fazer essas melhoras. Valeu!
  3. Não tem como criar um script pra você completamente do zero, por vários motivos. O objetivo desse fórum é ajudar com problemas de código, ou seja, você primeiro precisa ter um código (de sua autoria) e dizer o que está enfrentando de problema com ele.
  4. O objetivo do fórum é ajudar pessoas que tenham interesse em fazer scripts. O erro é que esse resource está chamando uma função de um outro resource que não está iniciado/não existe.
  5. Estamos aqui pra te ajudar a criar seus scripts, diga o que você tentou e onde não consegue continuar/está com dúvida.
  6. O propósito do fórum é auxiliar desenvolvedores Lua que estão começando, com suas dúvidas sobre seus próprios scripts.
  7. O erro informa que o código está tentando obter um índice de guiData, mas o valor de guiData é nil.
  8. É importante que você formate o código utilizando a funcionalidade do fórum. Você diz que está dando erro em alguma linha, mas não diz qual é a linha e nem o erro.
  9. Você tentou alguma solução? Dificilmente receberá código de graça sem ter o objetivo de aprender.
  10. Dificilmente as pessoas conseguem ajuda com scripts que não são da sua autoria. Ajeite a sua postagem para a formatação Lua nas partes onde há código. 1. Clique no ícone que representa a abertura e fechamento de tag. 2. Coloque a linguagem de programação Lua e cole seu código na parte editável (branca), depois clique em Insert into post.
  11. A comunidade geralmente não dá suporte para scripts que não foram feitos por você. Se você criar um script e tiver dúvidas, a comunidade ficará feliz em poder te ajudar.
  12. Sempre que uma função como leveis2() é chamada, para cada iteração do loop as variáveis leveis e zones são sobrescritas. Imagine: local nomes = {"Jeferson", "Robervaldo", "César", "Carlos"} local currentName function getNames() for _, nome in ipairs(nomes) do currentName = nome print(currentName) --[[ 1ª iteração: Jeferson 2ª iteração: Robervaldo e assim por diante. ]] end return currentName end print(getNames()) --> Carlos | Perceba que é o último elemento da tabela "nomes". Isso deve explicar o problema:
  13. Você precisa de mais coisas aí pra poder chegar num resultado satisfatório. Você precisa alterar o código responsável pelo drop ou transferência do item implementando uma verificação, e com isso a remoção da arma caso não tenha mais, etc. Tem uma solução mais simples com timer, que eu não recomendo.
  14. Você precisa modificar o seu código, adicionando por exemplo algum modo de detectar que o jogador dropou ou transferiu a arma, por exemplo. Então você deve chamar uma função (exports) ou acionar um evento (trigger) da bandoleira para remover a arma.
  15. Para recorrer um banimento permanente aplicado pelo MTA, você precisa criar um tópico aqui explicando a situação. Escreva preferencialmente em inglês.
  16. Happy holidays everyone! Thanks for everything, MTA!
  17. Você precisará criar uma animação usando o 3DS Max (com Kam's Max Script) ou qualquer outro programa que lhe permita fazer isso, e salvar com a extensão ifp. Depois você precisará carregar a animação em um script com a função engineLoadIFP.
  18. Geralmente não se tem ajuda com códigos vazados ou de scripts que não são de sua autoria. Quando postar códigos, tente enviar formatado na linguagem Lua, só usar o ícone <> que tem na barra de ferramentas.
  19. Você está tentando criar e está com dúvidas? Poste a parte do erro/dúvida do código. Geralmente códigos prontos não são publicados aqui.
  20. Como você colocou a extensão MTA:SA Lua no VSCodium? Pra mim não aparece: https://prnt.sc/xz64uc | Obs.: no VSCode normal eu já tenho.
  21. function pegarVeiculo(hitElement) if getElementType(hitElement) == "player" then local vehicle = getPedOccupiedVehicle(hitElement) if not vehicle then local account = getPlayerAccount(hitElement) local accountName = getAccountName(account) if isObjectInACLGroup("user."..accountName, aclGetGroup("PF")) then if isElement(veh[hitElement]) then destroyElement(veh[hitElement]) end veh[hitElement] = createVehicle(490, 1220.6763916016, -1398.3157958984, 13.185880661011) warpPedIntoVehicle(hitElement, veh[hitElement]) else outputChatBox("Você não é membro da PF.", hitElement, 255,0,0) end end end end Você redefiniu source no seu script, naturalmente em onMarkerHit, source é o próprio elemento marker, e o primeiro parâmetro da função anexada ao evento "onMarkerHit" é o player que de fato entra no marker. Nem sempre source é o player.
  22. Estava eu, com meu FileZilla aberto para criar scripts, uso o Visual Studio Code como editor de código, entrei no MTA e boom! Não consigo entrar no meu servidor de testes para jogar por causa desse erro, o que pode ser? Vídeo: https://youtu.be/AglhRmclHc0 Edit: posted in wrong language, sorry.
  23. noonbr

    Error CC23

    I'm trying log in several servers and with success, but in one server, occured cc23 error. Sorry my english. Pastebin: https://pastebin.mtasa.com/533250378
  24. Se tentou, mostre seu código para vermos o que podemos alterar e te ajudar para conseguir fazer funcionar. Enviar códigos prontos não é um trabalho feito pela maioria.
×
×
  • Create New...