-
Posts
3,981 -
Joined
-
Last visited
-
Days Won
181
Everything posted by Lord Henry
-
@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)
-
Aparece algum erro no Debugscript? Você está usando exatamente os mesmos arquivos que enviei?
-
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
-
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.
-
Basicamente você pega a textura da esteira (vc precisa saber o nome dessa textura que está no TXD) e "movimenta" ela usando o shader.
-
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.
-
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.
-
Vantagem em utilizar db exclusiva em cada sistema
Lord Henry replied to ber's topic in Programação em Lua
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.- 1 reply
-
- 1
-
Olá. Você consegue por meio de shaders. Em especial o exemplo do UV Scroll.
-
meu radio esta bugado
Lord Henry replied to Bernardouo's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Já verificou se o Multi Theft Auto Server e o proxy_sa estão habilitados no seu firewall? -
meu radio esta bugado
Lord Henry replied to Bernardouo's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Quais as configurações do seu PC? -
Olá. Deixe seu script no formato adequado clicando no botão <> do fórum.
-
@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.
-
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.
-
@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)
-
@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.
-
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.
-
(screenW * 0.8755) * (armor / 100) (screenW * 0.8620) * (health / 100)
-
@Cabritopara salvar informações permanentes na conta dos jogadores você tem que salvar em um banco de dados. Comece por aqui: setAccountData
-
Como salvar a posição dos veículos no jogo
Lord Henry replied to CoringaBVL's topic in Programação em Lua
Salve em um banco de dados. Você pode começar por aqui: ExecuteSQLQuery -
Olá. Utilize o createProjectile com o weaponType 21.
-
Olá. Na próxima vez utilize o botão <> do fórum para colar códigos. Não cole direto no texto.
-
Olá, na próxima vez utilize o botão <> do fórum para postar códigos. Não cole direto no texto.
-
Colocar mensagem caso o comando não existir
Lord Henry replied to SnoW_'s topic in Programação em Lua
Abaixo da mensagem do usuário, no canto >>> Tem um ícone de coração cinza. Clique ali e selecione o "Thanks". -
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.
- 1 reply
-
- 2