-
Posts
3,980 -
Joined
-
Last visited
-
Days Won
181
Everything posted by Lord Henry
-
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.
-
Nao Consigo abrir painel Admin
Lord Henry replied to Hxnrickk's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Tente pelo comando /admin Se der certo, em seguida utilize: /bind p admin -
LOD (Level Of Detail) é um sistema que carrega os objetos em diferentes qualidades dependendo da distância que ele está da câmera do jogador. Tanto no GTA quanto no MTA, ele faz com que objetos mais distantes tenham qualidade menor, e portanto ficam mais leves de serem processados e renderizados, enquanto que os objetos mais próximos ficam com qualidade maior.
-
Pois não tem nenhum evento ativando ela. Vc só criou a função mas não está chamando ela em evento nenhum.
- 1 reply
-
- 1