Jump to content

ber

Members
  • Posts

    167
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by ber

  1. Nem sabia que isso existia também kk, dei uma pesquisada básica e fora do MTA low LOD é utilizado para questões de desempenho aparentemente, mas no MTA não sei se tem essa mesma finalidade
  2. aclGroupAddObject(aclGetGroup("ACLDESEJADA"), "user."..getAccountName(getPlayerAccount(PLAYER))) Precisa dar permissão de admin no script para ele usar essa função!
  3. Não vou conseguir passar o código, mas vou explicar como fazer esse tipo de trabalho. Primeiro, ao spawnar o veículo do emprego, crie junto um colshape e use attachelement para grudá-lo no veículo na parte traseira. Depois, crie um evento para quando passar encima desse colshape criar uma escada e use novamente o attachelements para grudar a escada no player, configure a rotação da escada de maneira que ela fica um pouco na diagonal para o player conseguir subir. Depois, crie um bindKey para que quando o player apertar dar um detachElements na escada, aí ela irá ficar no chão na posição em que o player quiser, crie também um marker no local que o player apertou o E para que quando ele apertar novamente a escada seja guardada. Basicamente é assim que é feito um script de eletricista, infelizmente estou sem tempo para fazer o código, mas não é nada muito complicado não.
  4. Estou fazendo um sistema de celular com ligação, porém a cada ação realizada, como atender, desligar, receber ligação, etc. é preciso fazer um triggerServerEvent com a var do player que está na ligação e outro triggerClientEvent para que o celular dele seja atualizado dependendo da ação tomada pelo outro jogador. Com isso, o script ficou com alguns bugs e seu código está bem confuso para mexer e consertá-los. Então queria saber se esse é o único jeito de enviar informações para outro player pelo client-side ou há alguma forma mais simples?!
  5. Estou fazendo um sistema de inventario, porém no peso tem diversos itens com valores um pouco quebrados, e dependendo de quais e quantos itens você tem o valor exibido no inventario fica enorme, exemplo: 33,333333333. Gostaria de saber como posso estar fazendo pra converter essa string deixando apenas os 2 primeiros números visíveis. dxDrawText("Mochila • "..peso.." / 30kg", screenW * 0.2504, screenH * 0.2240, screenW * 0.7496, screenH * 0.2773, tocolor(255, 255, 255, 255), 1, fonte2, "center", "center", false, false, false, false, true) *A var 'peso' é apenas uma soma do peso de todos os itens que o player possui no inventario, não coloquei aqui pois é irrelevante.
  6. -----------------------/ LOJA ASSALTAR - AVISAR POLICIAL \----------------------- function Loja_Assaltada (source) setElementVisibleTo(Blip_Loja, root, false) setElementVisibleTo(Blip_Assaltada, root, true) for i, players in pairs(getElementsByType("player")) do if isObjectInACLGroup("user. "..getAccountName(getPlayerAccount(players)), aclGetGroup (Grupo_Acl_Policial)) then exports.a_infobox:addBox(players, "info", "O jogador "..getPlayerName(source).." Está assaltando A Loja #02 em Los Santos.") end setTimer(function() setElementVisibleTo(Blip_Loja, root, true) setElementVisibleTo(Blip_Assaltada, root, false) setElementData(source, "Zeed_Loja_Assaltada", false) end, Tempo_Recuperar_Loja*60000, 1) end end
  7. local arrow = createObject(1318, 0, 0, 0) attachElements(arrow, player, 0, 0, 2)
  8. Utilize variáveis para definir em qual página o usuário está. E no onClientRender coloque um: if page == "usuario" then [...] elseif page == "home" then [...] e assim por diante
  9. Se você configurar melhor a posição em que o player vai ser anexado fica melhor. A diferença é que na hora de andar o player não vai acompanhar perfeitamente os movimentos, mas isso é quase imperceptível e na minha opinião bem melhor do que um player reto sem animação
  10. Em triggerEvents e addEventHandler é sempre bom usar resourceRoot, pois aquele evento só será acionado pelo mesmo script. Aí você passa o player ou qualquer outra variável através de argumento.
  11. Para achar uma animação no MTA basta startar o gamemode freeroam no servidor local, apertar F1 e ir testando todas as animações até achar a desejada. É trabalhoso mas funciona
  12. timerVida = {} timerVida[source] = setTimer(function(source) local vida = getElementHealth(source) if vida >= 1 then setElementHealth(source, vida - 1) else killTimer(timerVida[source]) timerVida[source] = nil end end, 500, 0, source)
  13. function setLevel(playerSource, commandName, nick, level) local alvo = getPlayerFromName(nick) if isElement(alvo) then setElementData(alvo, "Level", level) else outputChatBox("Jogador informado não encontrado", playerSource) end end addCommmandHandler("setarnivel", setLevel) não testei mas creio que funcione, /setarnivel 'nick do jogador' 'level'
  14. O ativador foi declarado como thePlayer no parâmetro da função mas no getElementData (linha 7) está como source. Basta alterar esse source para thePlayer
  15. As teclas padrão do MTA você pode cancelar usando o guiSetInputEnable igual o Lord Henry disse ou um evento onClientKey junto com um cancelEvent. Mas os scripts não serão cancelados, pra fazer eles não abrirem no painel de login você precisa fazer uma verificação em todos os scripts usando not isGuestAccount
  16. É guiEditBox, acabei escrevendo errado no título... Então, eu já testei essas propriedades e ela muda a posição da edit box na tela e não o alinhamento do texto inserido
  17. Gostaria de realizar algumas alterações em uma editLabel, como por exemplo centralizar o texto que é escrito, alterar cor, etc. É possível? Tentei com o guiSetProperty mas não funcionou
  18. Use o resource bone attach, ele serve para "grudar" objetos em players.
  19. Sempre utilize resourceRoot no 3º argumento do addEventHandler quando for um evento customizado, se deixar como root qualquer script vai poder acessá-lo, podendo ocorrer problemas com scripts em conflito e perdendo desempenho no servidor. Para corrigir seu problema basta alterar essas 2 linhas: -- clientSide addEventHandler("OpenDxBike", resourceRoot, Open) -- serverSide triggerClientEvent(thePlayer, "OpenDxBike", resourceRoot)
  20. Queria colocar um efeito de fade (ir aumentando o alpha) de um painel quando abrir/fechar ele. Creio que deve existir uma function da comunidade ou um resource que já faça isso, porém vasculhei em tudo quanto é lugar e não achei. Se alguém puder tiver algo parecido vai me ajudar muito
  21. Entendi, pra facilitar minha vida vou só remover esse break então kkkk. Outra dúvida, como eu faria essa validação no outro script, algo mais ou menos assim: ?? if exports.[...] == true then
  22. Estou tentando fazer um sistema para outros scripts verificarem se eu possuo determinado item no meu inventário, até o momento pensei nessa função: function getItem(playerSource, item) for i, v in pairs(inventario[playerSource]) do if i == item then if inventario[playerSource][i] >= 1 then return true break else return false end end end end addEvent("Inventario:getItem", true) addEvent("Inventario:getItem", getRootElement(), getItem) Mas nem cheguei a testar pois imagino que esse return não irá retornar a 'resposta' para o script no qual ativou o export/trigger. Qual outro jeito que eu possa estar fazendo isso?
  23. function Sumido(thePlayer) for i, v in ipairs(getAttachedElements(thePlayer)) do if isElementVisibleTo(v, root) then setElementVisibleTo(v, root, false) else setElementVisibleTo(v, root, true) end end addCommandHandler("sumido", Sumido)
×
×
  • Create New...