-
Posts
4,005 -
Joined
-
Last visited
-
Days Won
184
Everything posted by Lord Henry
-
Você não pode deixar funções dxDraw junto com guiCreate na mesma função. Pois os dxDraw precisam ser chamados a cada frame, enquanto que os guiCreate somente uma vez.
-
Remova aquele source da linha 1. Não se usa source como parâmetro de função.
-
Ele está dizendo que os botões porte e glock não existem.
-
Qual erro aparece no /debugscript 3?
-
Mostre como está sua declaração SELECT.
-
Já tentei fazer isso uma vez mas deu errado. Aparentemente a colisão do marker não pode ser anexada em outros elementos (você vê o marker anexado mas a colisão dele fica no lugar que estava). A solução que encontrei foi anexar um colShape esférico da mesma forma que o marker. Dai o marker fica aparecendo só pra bonito, mas o script usa a colisão do colShape em vez disso. createColSphere
-
@juaosilv a função getPlayerSkin já está obsoleta. Use getElementModel em vez disso. E tome cuidado com a indentação, está bem errada.
-
Você está errando 2x aí. Primeiro que vc está criando os botões local e dai não consegue mais acessar eles fora daquela função onde foram criados. Logo, somente a função de fechar funciona, pois é a única que está dentro do escopo da função botoes. Crie os botões sem o local. Segundo que você oculta os botões ao fechar o painel, mas quando abre o painel você cria novos botões. Isso faz com que vários botões invisíveis vão sendo criados e acumulados a medida que você abre e fecha o painel. Na função de fechar o painel, destrua os botões em vez disso. addEventHandler ("onClientGUIClick", botonfechar, function() removeEventHandler ("onClientRender", root, panel) destroyElement (botonfechar) destroyElement (porte) destroyElement (glock) botonfechar = nil porte = nil glock = nil showCursor (false) end) Você teria percebido isso se usasse /debugscript 3. Ele iria avisar que o botão não foi encontrado.
-
Não precisa criar um log novo para isso. Usando a função outputServerLog, já faz o texto ser registrado no arquivo server.log do servidor. local conta = getAccountName (getPlayerAccount (source)) local serial = getPlayerSerial (source) outputServerLog ("CHAT: [CHAT-TWITTER] "..jogador.." (login: "..conta..")".." ("..serial..")"..": "..MessagemANS) Obs: Você não deveria usar source dessa maneira. Apesar de funcionar.
-
Como fazer para o carro não explodir ao capotar
Lord Henry replied to Nalicos's topic in Programação em Lua
Tópico movido para a seção correta de Programação em Lua. @Nalicos da próxima vez, veja as regras do fórum: -
Encerrar o server local de maneira errada, fazendo com que ele não salve os dados antes de desligar. (é como se você tirasse o PC da tomada pra desligar o PC e perdesse todo seu trabalho que ainda não havia sido salvo). Para encerrar corretamente o servidor local, vc deve usar o comando shutdown no Server Console (aquele que parece um prompt de comando) ou usar Ctrl+C nele.
-
Abrir portas no roteador, ou modem
Lord Henry replied to EW1611's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Nos dois. -
Resolvido. if (seat <= 1) then -- Se o assento for 0 ou 1, então:
-
O valor do isCursorOnElement está dando nil
Lord Henry replied to V1RU5's topic in Programação em Lua
isCursorOnElement é uma função útil, você precisa declarar o código-fonte dela pra funcionar. -
Também acho desnecessário fazer de graça pra você. Mas se alguém quiser, fique a vontade.
-
setAccountData getAccountData onPlayerLogin onPlayerLogout onPlayerQuit
-
Contrate um scripter.
-
Você esqueceu disso: E disso: E você criou o setTimer com 100 milisegundos. Meio segundo é 500 e não 100. E seu tocolor também está errado. Era pra usar 0 e não 255 no segundo e terceiro valor.
-
Eu fiz um que salva no instante que o jogador fecha o painel de gerenciamento de veículos. Ele pega os estados de ativação e desativação que o jogador deixou no painel e salva na conta dele no formato JSON (por se tratar de uma table de valores, é obrigatório converter a table em uma string JSON para poder salvar lá, pois não tem como salvar uma table em banco de dados.) A propósito, fiz um vídeo demo do meu sistema, se quiser dar uma olhada ta ae: Painel VehMods - Demo MTA
-
Então sua lógica é a seguinte: Cria uma variável chamada red (pode ser qualquer coisa, estou exemplificando) com valor 0. Inicia o render do painel (onClientRender) No dxDraw do painel, onde vc quer que ocorra a alternância, use tocolor (red, 0, 0, 255) (esse 255 é o alpha, você pode continuar usando o valor que já estava) O painel vai começar sendo renderizado como preto, pois red tem valor 0. Inicia um setTimer que deverá estar numa variável, com duração de meio segundo (500 milisegundos) e com infinitas repetições (0). Dentro desse timer, verifica se o valor de red == 0. Se for, então red = 255. Fazendo com que o painel fique vermelho a partir deste instante. Senão, red = 0. Fazendo com que o painel fique preto a partir deste instante. Por ser um timer infinito, ele vai ficar fazendo essa verificação a cada meio segundo, alternando o valor de red de 0 para 255 e vice-versa. Quando parar de renderizar o painel (por algum motivo, o player fechar o painel, etc), então deve-se dar killTimer naquele setTimer criado para a cor.
-
Mas pelo que entendi, vc quer que seu painel fique alternando entre preto e vermelho. Mas qual velocidade vc espera fazer isso? 1 cor a cada frame? 1 cor a cada segundo?
-
Piscar é uma coisa. Alternância de cores é outra.
-
[DUVIDA]] Objeto invisivel para outro jogador
Lord Henry replied to +[T]rakin's topic in Programação em Lua
Pensei em fazer. Mas fiquei com mais preguiça do que a preguiça do cara do post em tentar por conta própria. -
Se refere ao último assento da viatura? A função warpPedIntoVehicle possui um parâmetro opcional para vc declarar qual o assento teleportar o jogador. 0: Frontal-Esquerdo (motorista) 1: Frontal-Direito 2: Traseiro-Esquerdo 3: Traseiro-Direito Para verificar se já existe um jogador sentado no último assento (no 3º), use getVehicleOccupant e informe o assento 3. Essa função retornará false se o assento estiver vazio ou não existir no veículo.