-
Posts
4,010 -
Joined
-
Last visited
-
Days Won
184
Everything posted by Lord Henry
-
toggleControl ("next_weapon", false) toggleControl ("previous_weapon", false)
-
-
Aumentar/diminuir alpha de elemento DX gradualmente.
Lord Henry replied to ber's topic in Programação em Lua
Sim, é possível usar setTimer. Mas o setTimer depende do framerate. Ou seja, ele vai ser mais rápido em quem tem FPS maior. -
Se o objeto for criado no lado servidor e for movimentado no lado cliente, só o cliente verá ele na nova posição. Isso dará problema de sincronização cliente/servidor. Você deve mover o objeto pelo lado server se quiser que os outros jogadores também vejam o objeto na nova posição.
-
Código ilegível. Favor indente seu código.
-
Já leu a wiki do isObjectInACLGroup?
-
Não anexe o cilindro em objetos com física dinâmica. Eles irão bugar os markers pois o jogo não atualiza direito a posição da colisão dos markers. Em vez disso use um onClientRender (se o script for client-side) para ficar obtendo a posição do objeto e setando o marker nessa posição. Se for server-side, use setTimer para ficar atualizando a posição do marker de acordo com a posição do objeto.
-
local chamados = {} addCommandHandler ("samu", function (thePlayer, cmd) -- Comando pro jogador chamar o Samu. local name = getPlayerName (thePlayer) -- Name recebe o nick do jogador que executou o comando. if (chamados[name]) then -- Se já tem um chamado na table com esse nome, então: outputChatBox ("Você já tem um chamado em aberto. Aguarde mais tempo até alguém aceitar.", thePlayer, 255, 0, 0) else -- Se não tem nenhum chamado deste jogador na table, então: chamados[name] = true -- Adiciona ele na table. outputChatBox ("Você chamou um Samu. Aguarde alguém aceitar.", thePlayer, 0, 255, 0) end end) addCommandHandler ("aceitar", function (thePlayer, cmd, name) if (name) then -- Se o jogador que vai aceitar incluiu o nick do jogador, então: if (chamados[name]) then -- Se tem um chamado do jogador mencionado na table, então: chamados[name] = nil -- Fecha o chamado. outputChatBox ("Você aceitou o chamado de "..name, thePlayer, 0, 255, 0) -- Aqui é o código que cria o blip no jogador que chamou o socorro e que aparece somente pra quem aceitou. Essa parte é por sua conta. else -- Se não tem um chamado do jogador mencionado na table, então: outputChatBox ("O jogador "..name.." não tem nenhum chamado de Samu em aberto.", thePlayer, 255, 0, 0) end else -- Se o jogador que vai aceitar não informou o nick para o qual vai aceitar, então: outputChatBox ("Erro de sintaxe: /aceitar <nick>", thePlayer, 255, 255, 0) end end) Exemplo bem simples. Se o jogador trocar de nick ou sair do server já irá bugar o sistema. Mas serve pra vc usar de base.
-
É necessário criar uma table de chamados. Pois pode ocorrer de vários jogadores pedirem o Samu ao mesmo tempo e dai um pedido iria substituir o outro. Dai para aceitar o chamado, você poderia fazer com um segundo argumento opcional do nome do jogador que chamou. Ex: /aceitar Joaozinho123 "Você aceitou o chamado de socorro de Joaozinho123, a posição dele foi marcada no seu radar." (remove o Joaozinho123 da table de chamados)
-
Esse script é server-side ou client-side?
-
Procuro pessoas que saibam montar servidor de MTA Rp!
Lord Henry replied to Ruan33's topic in Offtopic
Tópico movido para Offtopic por se tratar de recrutamento de Staff para servidor. -
Apague-os do script broph.lua que está no gamemode play.
-
[AJUDA] Como consigo deixar a arma invisível ?
Lord Henry replied to joao2235's topic in Programação em Lua
Só trocando o modelo do CJ por outro sem cabeça. -
Aumentar/diminuir alpha de elemento DX gradualmente.
Lord Henry replied to ber's topic in Programação em Lua
Tem sim. Utilize GetTickCount para obter o momento do início do fade e salve numa variável. Depois durante o onClientRender utilize outro GetTickCount e salve em outra variável. Vc pode obter o tempo exato que se passou diminuindo o primeiro do segundo e assim calculando o alpha igual para todos. Exemplo maroto: local inicio = getTickCount() -- Marca o instante em que este resource iniciou. local screenX, screenY = guiGetScreenSize() -- Resolução do jogador. local duration = 2 -- Quantos segundos o efeito de fade deve demorar. function render () local agora = getTickCount() -- Marca o instante deste frame. local diferenca = agora - inicio -- Calcula quantos milisegundos se passaram desde o instante que este resource iniciou até o momento do frame atual. local alpha = diferenca / (4 * duration) -- Só pra não ficar rápido demais, caso contrário o efeito iria durar apenas 255 milisegundos. if (alpha > 255) then alpha = 255 -- Evita erros de valores acima do permitido no alpha. end dxDrawText ("TESTE", 0, 0, screenX, screenY, tocolor (255, 255, 255, math.abs (alpha)), 2, "default-bold", "center", "center") end addEventHandler ("onClientRender", root, render) -
Só ficar correndo em direção ao veículo que o jogador consegue empurrá-lo. Não há necessidade de quebrar a cabeça com isso.
-
Como fazer um setPedAnimation não ser cancelável pelo player?
Lord Henry replied to ber's topic in Programação em Lua
Freeroam cancela as animações ao tentar pular. Desligue-o ou edite o resource dele para não fazer isso. -
[COMO FAZER] Restrição de Skin por elementData...
Lord Henry replied to Otavio's topic in Programação em Lua
Tópico movido para a seção de Programação em Lua. Na próxima vez, crie seu tópico na área adequada. -
Tópico movido para a seção de Programação em Lua. Na próxima vez, poste na área adequada.
- 2 replies
-
- portuguese
- portugues
-
(and 1 more)
Tagged with:
-
Isso acontece pois vc não pode executar uma coisa no seu cliente (client-side) e esperar que os outros clientes executem também sem passar pelo servidor. Está faltando triggers aí.
-
Não. Os LODs dos veículos ficam junto do arquivo .DFF dele. Assim como a colisão dele. A malha do LOD chama-se "chassis_vlo" Na imagem, o chassis_vlo do veículo Camper, após ocultar todos os outros componentes.
