Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,981
  • Joined

  • Last visited

  • Days Won

    181

Everything posted by Lord Henry

  1. @Sr. BruxoPara fazer com que os markers funcionem via ACL Group, faça o seguinte nas funções onde o jogador é teleportado: function MarkerHit (hitElement, matchingDimension, interior) if (hitElement and getElementType (hitElement) == "player") then -- Se o elemento que colidiu no marker existir e for um player, então: if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (hitElement)), aclGetGroup ("Admin"))) then -- Se o jogador está na ACL Group Admin, então: setElementPosition (hitElement, 2995.9343261719, -1968.4597167969, 11.06875038147) setElementDimension (hitElement, 0) setElementInterior (hitElement, 0) setElementRotation (hitElement, 0, 0, 0) else outputChatBox ("Acesso negado.", hitElement, 255, 0, 0) end end end addEventHandler ("onMarkerHit", Teleport1, MarkerHit)
  2. Aparece algum erro no Debugscript? Você está usando exatamente os mesmos arquivos que enviei?
  3. Como eu mencionei anteriormente, você usa o shader UV Scroll. Mas precisa saber configurar as coisas para que funcione. Depois de estudar bastante o shader, fiz o resource inteiro e também editei um Rhino para testar. Também vinculei a velocidade do veículo ao movimento da textura. client.lua uv_scroll.fx meta.xml rhino.dff rhino.txd
  4. local x, y = guiGetScreenSize() -- Obtém a resolução da tela do jogador. addEventHandler ("onClientRender", root, function () -- Executa essa função a cada frame. local theVehicle = getPedOccupiedVehicle (localPlayer) -- theVehicle recebe o veículo que o jogador está. if (isElement (theVehicle)) then -- Se o jogador está em algum veículo, então: local sx, sy, sz = getElementVelocity (theVehicle) -- Obtém a velocidade do veículo em X, Y e Z. local kmhs = math.floor(((sx^2 + sy^2 + sz^2)^(0.5)*(1.61))*100) -- Calcula a velocidade em km/h dxDrawText (tostring(kmhs), x-155, y-65, 80, 30, tocolor(255, 255, 255, 255), 0.7) -- Mostra essa velocidade no canto da tela. end end) Obs: Script client-side.
  5. Basicamente você pega a textura da esteira (vc precisa saber o nome dessa textura que está no TXD) e "movimenta" ela usando o shader.
  6. Não é recomendável. A própria Wiki do DGS também fala que é necessário muita memória de vídeo para manter o DGS funcionando.
  7. Sim, pesará mais no servidor do que adicioná-las sempre aos scripts. A função call (ou exports) é bem pesadinha de ser executada e completamente inviável a cada frame. Nota da Wiki: A função call pode gerar sobrecarga no desempenho. Elas não são equivalentes às funções chamadas no mesmo resource.
  8. Fica mais fácil também de deletar, copiar os dados depois. Uma vez q vc não vai precisar editar o banco de dados do servidor e sim apenas do resource. Se for feito na DB do servidor, fica muito mais difícil vc copiar os dados deste resource específico para outro servidor, por exemplo.
  9. Olá. Você consegue por meio de shaders. Em especial o exemplo do UV Scroll.
  10. Já verificou se o Multi Theft Auto Server e o proxy_sa estão habilitados no seu firewall?
  11. Olá. Deixe seu script no formato adequado clicando no botão <> do fórum.
  12. @zALVESx7Na próxima vez utilize o botão <> do fórum para postar o script. E sobre sua dúvida em si, só faltou vc pegar todos os jogadores e passar um loop por eles verificando quem tem permissão de ver e quem não tem. function BlipShow () BlipTeste = createBlip (985.97, -1310.37, 13.525, 30) -- Cria o blip. setElementVisibleTo (BlipTeste, root, false) -- Oculta o blip para todo mundo. local galera = getElementsByType ("player") -- Obtém todos os jogadores online no servidor. for i, player in pairs (galera) do -- Para cada jogador do servidor, faça: if (isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(player)), aclGetGroup ("Policial"))) then -- Se o jogador está na ACL Group "Policial", então: setElementVisibleTo (BlipTeste, player, true) -- Torna o blip visível para ele. end end end addEventHandler ("onResourceStart", resourceRoot, BlipShow) -- Executa essa função ao iniciar este resource. Obs: Não inclui quem logar no servidor depois. Não inclui quem entrar na ACL Group depois. Vc terá que programar essas outras situações também. Dai é com vc.
  13. Não utilize "mods externos". Tenha sempre total conhecimento de como funciona cada mod do seu servidor. Não aceite mods de terceiros compilados, etc. Em vez de se preocupar em restringir o funcionamento dos mods, preocupe-se em manter todos os seus mods funcionando de maneira otimizada da melhor maneira possível. Evite dores de cabeça, vá na raiz do problema em vez de tentar escondê-lo.
  14. @AyzrusPTO erro ocorreu pois você utilizou símbolos ilegais para definir uma variável. "default-bold" Não utilize símbolos, acentos nem espaços nos nomes das variáveis. Utilize somente letras ou números. (Ç é considerado letra com acentuação, então não pode tbm)
  15. @BruXo Isso ocorreu pois você gerou conflito de variáveis. No seu setTimer, você passa o element por parâmetro e usa ele mesmo dentro da função, mas dentro da função ele não existe. Apenas utilize outra variável dentro do setTimer que não seja igual aquela que você está passando. setTimer(function(theElement) -- 2) local theElement = element setElementData(theElement, "zombieTimer", getElementData(theElement)) -- 3) Use o theElement dentro do setTimer. end, 40000, 1, element) -- 1) Passou o element por parâmetro aqui.
  16. Ah, vc está usando dxDrawLine em vez de DxDrawRectangle... dai ele funciona diferente. O dxDrawRectangle vc especifica o tamanho X e Y, enquanto que o dxDrawLine você especifica a posição X,Y inicial e X,Y final. Dai é mais complexo de ser feito. --(Posição inicial)+((PosFinal-PosInicial)*(coisa/100)) (screenW * 0.7448) + ((screenW * 0.1307) * (armor/100)) -- Armor (screenW * 0.7312) + ((screenW * 0.1307) * (health/100)) -- Health Agora sim funciona. Já testei.
  17. (screenW * 0.8755) * (armor / 100) (screenW * 0.8620) * (health / 100)
  18. @Cabritopara salvar informações permanentes na conta dos jogadores você tem que salvar em um banco de dados. Comece por aqui: setAccountData
  19. Salve em um banco de dados. Você pode começar por aqui: ExecuteSQLQuery
  20. Olá. Utilize o createProjectile com o weaponType 21.
  21. Olá. Na próxima vez utilize o botão <> do fórum para colar códigos. Não cole direto no texto.
  22. Olá, na próxima vez utilize o botão <> do fórum para postar códigos. Não cole direto no texto.
  23. Abaixo da mensagem do usuário, no canto >>> Tem um ícone de coração cinza. Clique ali e selecione o "Thanks".
  24. Proteger legalmente é perda de tempo, ainda mais se tratando no Brasil que é uma terra sem leis. Proteja compilando seus resources e fazendo a melhor proteção possível (sem violar as regras). Uma vez vazado, já era. Mesmo que vc processe, a justiça vai rir da sua cara.
×
×
  • Create New...