FelipeMallmann
Members-
Posts
168 -
Joined
-
Last visited
Everything posted by FelipeMallmann
-
Você pode usar o math.random para gerar um valor aleatorio entre 2 numeros e depois if e else para definir o que acontece em cada caso. GUIEditor = { window = {}, staticimage = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.window[1] = guiCreateWindow(0.63, 0.21, 0.25, 0.34, "", true) guiWindowSetSizable(GUIEditor.window[1], false) local random = math.random(1,3) local a = 0.14 local b = 0.21 if (random == 2) then a = 0.44 end if (random == 3) then a = 0.15 b = 0.57 end GUIEditor.staticimage[1] = guiCreateStaticImage(a, b, 0.25, 0.28, ":guieditor/client/colorpicker/palette.png", true, GUIEditor.window[1]) end )
-
Eai pessoal, estou com umas duvidas aqui. Minha ideia é criar alguns itens nos quais precisaria salva-los para os players não perderem ao deslogarem. Por exemplo, se eu usar simplesmente um setElementData(getLocalPlayer(), "Item 1", 10) o player vai permanecer com essa propriedade até sair do jogo, mas eu quero salvar esse "Item 1". Minha duvida é qual a melhor opção de fazer isso, devo usar o executeSQLQuery e salvar dentro do registry.db, criar uma nova db ou alguma outra opção? Eu nao consigo imaginar a relação entre getElementData/setElementData e um banco de dados. Eu crio um banco de dado com as tabelas que eu preciso, ai durante todo o processo do jogo eu só vou modificando com getElementData/setElementData e quando o jogador sair do jogo eu atualizo o banco de dados, é mais ou menos assim? Obrigado.
-
Desculpa me meter no topico, mas tava lendo e me surgiu uma duvida. n3wage, no momento que você passa o nick do player como parâmetro para o lado cliente triggerClientEvent(root, "limparchat", root, getPlayerName( player ) ) Por que ele recebe esse parâmetro na função abrirchat? Eu nao poderia escolher em qual funçao pegar esse parâmetro?
-
bump
-
setMapName("Map") This function is used to set a map name that will be visible in the server browser. but map name does not appear in server list. All it shows is: Name | Players | Ping | Gamemode
-
I need to tell some information to players while in mta server list, is there a way I can do that? can I change addon or mode name?
-
Hey guys, is there a way to automatically change server name ? I tryed to find it out at mta wiki but didnt see a function to do that. @EDIT: I mean a command to change server name, without needing to open mtaserver.cfg and change it manually. Thanks.
-
RESOLVIDO | AREA PROTETORA BUG TELEPORT
FelipeMallmann replied to Stronger's topic in Programação em Lua
Ta dando isso porque você ta dentro da safezone, com comandos bloqueados, e saindo dela com comando, sem chamar o evento onColShapeLeave, as soluções seriam, ou você sai da safezone apé e após sair dela usa o comando para voltar, ou então no comando de teleporte responsavel por fazer o player voltar você libera os comandos dele toggleControl (source, "fire", true) toggleControl (source, "aim_weapon", true) Ou seja, no comando que vai pra la, ele deve bloquear. Em todos os outros deve liberar o player. -
RESOLVIDO | AREA PROTETORA BUG TELEPORT
FelipeMallmann replied to Stronger's topic in Programação em Lua
Nao consegui entender, você tem dois comandos de teleporte, um pra ir do Hospital para o CJ e do CJ para o hospital, isso? Mas aonde entra AREA PROTETORA nisso? -
RESOLVIDO | AREA PROTETORA BUG TELEPORT
FelipeMallmann replied to Stronger's topic in Programação em Lua
Isso acontece porque esse evento "onMarkerHit" addEventHandler ("onMarkerHit", PraiaProtegida261, Protect142) é o que está sendo responsavel por bloquear voce de atirar quando voce entrar na area. Mas como você está indo para a area atraves de comando, o player nao chama esse evento, quando voce sai e entra novamente, ai sim o onMarkerHit é chamado e bloqueia o player de atirar. Voce pode no proprio codigo do teleporte adicionar esse bloqueio, ou seja, quando o player digitasse o comando de teleportar ele seria bloqueado de atirar e iria para o local. Sempre que usasse o comando seria bloqueado, mas ele estaria indo para um area de bloqueio mesmo, e quando saisse, ia chamar o onMarkerLeave que iria desbloquear a função de atirar dele. colocando isso no codigo do teleporte: toggleControl (source, "fire", false) toggleControl (source, "aim_weapon", false) Creio que tambem daria para fazer um timer verificando se um player está la dentro e se estivesse bloqueasse a função dele, mas adicionar direto no comando de teleporte seria melhor. -
Hmm entendi! Eu ja imaginava usar um getElementData para ir comparando eles, mas nao sabia desse table.sort. Eu ia criar uma variavel e passar o kills do primeiro player pra ela e depois ir comparando ela com os kills de todos os outros da tabela, se nenhum fosse maior retornaria o primeiro, senao retornaria o maior. Mas esse jeito parece ser muito mais pratico. Mais uma vez, muito obrigado! edit: Esse return dentro do table.sort retorna eles ordenados para a tabela né?
-
Eai galera, estou com uma duvida. Nao sei como são os comandos em tables, mais especificamente tenho essa table teste, no qual passei para ela todos os jogadores online. function pegaTodosOnline() local Teste= {} for _,player in ipairs(getElementsByType("player")) do table.insert(Teste, player) end return Teste end Entao sempre que chamar a função terei um retorno com uma table com todos players online, certo? Agora preciso guardar em uma variavel o primeiro elemento dessa player, ou seja, o primeiro player, pois minha meta é ir comparando esse primeiro player com todos os demais até pegar o que possui mais kills, para entao exibir o top killer. Meu pensamento está correto? e como eu pego o primeiro elemento da table Teste? #Edit: tambem gostaria de saber o que é o #, exemplo #Teste, é para pegar o tamanho da table ou algo assim? Obrigado!
-
He is probably using a non-default map
-
Are you doing this at client or server side? You set the visibleDistance to 1000, so in F11 it'll just appear for players that inside this distance.
-
Obrigado.
-
Estou com uma duvida no break end. Se eu tenho i=1, e ele vai fazer o for até 10 por exemplo e ele der um break end quando i for 2, esse break end só cancela o i sendo 2 e passa para o i sendo 3, ou ele sai do for todo ?? Exemplo for i = 1,10 do if i == 2 then break end chat("numero "..i) end Esse codigo exibiria: 1,3,4,5,6,7,8,9,10 ou somente o 1? Obrigado
-
Sim mas caso eu colocasse o comando giveWeapon e algo no parametro que nao seja um elemento (e nesse caso um jogador), ele nao deveria vir no erro got boolean por exemplo, caso fosse uma boolean? Só quero entender por que em alguns casos ele nao da esses got + type
-
Fala galera, estou com uma duvida e acredito ser uma coisa simples, é para questão de entendimento mesmo.. Tenho alguns warnings que são assim: WARNING: Bad argument @ 'setPedSkin' [Expected element at argument 1, got number '73'] Mas tem uns que são assim: WARNING: Bad argument @ 'giveWeapon' [Expected element at argument 1] No exemplo do primeiro warning o console fala o que ta sendo passado por parametro e eu consigo arrumar, mas nesse segundo warning, ele só avisa que esperava um element, nao fala se ta recebendo nil, boolean, number. Creio que ele não esteja recebendo nada, mas ai nao deveria ser nil? Obrigado!
-
Certo irei dar uma pensada aqui! Muito obrigado, mais uma vez!
-
Na verdade minha ideia não deu certo, preciso fazer justamente o contrario, impedir os players de logar no server enquanto nao estiverem com todas resources baixadas. Atualmente eles conseguem jogar enquanto baixa, o que torna meu server vulneravel. É possivel bloquear? Obrigado
-
Consegui entender e fazer o que precisava! Mais uma vez, muito obrigado n3wage
-
Eai galera, estou com uma duvida aqui, pode parecer bem boba, mas como não tenho certeza da resposta venho aqui perguntar. Quando o player loga em um servidor, ele começa a baixar as resources, mapas, arquivos de texturas e tudo o que estiver configurado para ele baixar, mas como é feita a ordem desse download? É sequencial pela ordem que foi posta no server.cnf, é por ordem alfabetica do nome das resources, como que é feito essa download? Muito obrigado.
-
FECHADO | Rainbow Car | Lado Server
FelipeMallmann replied to Stronger's topic in Programação em Lua
local Tempo2 = setTimer ( function() for _, carro in ipairs ( getElementsByType ( "vehicle" ) ) do setVehicleColor ( carro, math.random ( 255 ), math.random ( 255 ), math.random ( 255 ) ) end end , 1000, 0 ) killTimer ( Tempo2 ) Será que assim nao da? n3wage, lendo esse topico fiquei com uma duvida basica, quando se faz esse loop com for, o que faz a "variavel" _? Poderia me explicar pq o pessoal usa isso? Obrigado -
Eu jogo GTA SA há uns 8 anos, comecei com SAMP mas há uns 3 anos vim pro MTA e me juntei a essa comunidade nesse mesmo periodo e nao foi com intuito de criar um servidor e muito menos aprender essa linguagem de programação, era apenas um player com conta no forum para ver as atualizações. Ai as coisas foram mudando, eu começei a me interessar e a pedir ajuda no forum, sempre preferi usar a área em ingles pois aqui era parado de mais. Hoje em dia já não entro mais na area inglesa pois aqui é muito mais rapido e tambem as respostas são melhores. Sou apenas mais um membro aqui, nao sou moderador, nao sou da staff e nao quero ser nada alem de um membro, tudo o que eu quis foi aprender um pouco de lua e isso concerteza eu aprendi! Quero dizer à vocês que, com a minha opnião de um membro, essa comunidade melhorou, diferente do que li em muitos comentarios de vocês. Acho que vocês estão brigando átoa, não é um titulo de moderador que vai tornar uma pessoa melhor, já tive muita ajuda do DNL291 mas tambem tive muita ajuda de outros como o StanleySathler e o n3wage e nunca os vi pedindo para ser moderador. Quem quer o bem da comunidade ajuda sem ficar pedindo algo em troca! Mas é isso ae, graças a esse pessoal essa comunidade me ajudou e tem me ajudado e para mim ela está crescendo sim!! Quanto a retirada do Cadu, nem sei quem ele é, mas como foi falado aqui: a moderação global não sabe falar portugues, entao esse tópico tem sido inutil..
-
Impossibilitar ele de atirar toggleControl ( player, "fire", false ) Impossibilitar ele de mirar toggleControl ( player, "aim_weapon", false ) Impossibilitar ele de trocar de arma toggleControl ( player, "next_weapon", false ) toggleControl ( player, "previous_weapon", false ) Remover um ou todas as armas takeWeapon ( player, ID DA ARMA ) takeAllWeapons ( player )
