-
Content Count
91 -
Joined
-
Last visited
-
Days Won
1
Developer. last won the day on February 4 2020
Developer. had the most liked content!
Community Reputation
25 GoodAbout Developer.
-
Rank
Punk-@ss B*tch
- Birthday 19/12/1999
Recent Profile Visitors
620 profile views
-
Developer. started following KronoS Lettify
-
Developer. started following Duvida and Clonagem de Veiculo
-
Clonagem de Veiculo
Developer. replied to Mec.Love's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Bom, da para você mudar a TXD (textura) do veiculo com shaders, agora referente a DFF do veículo, até onde eu saiba a resposta é não. algumas palavras chaves sobre o assunto: texture replace shader texture paintJob Um resource lançado pelo dutchman em 2017: -
Olá a todos, iniciei um projeto recentemente de uma screen loading, a minha ideia é que nesta screen irá conter uma barra de progresso com uma porcentagem dos resources baixados, porém eu não sou muito familiarizado com essa parte de download do MTA. para eu estar fazendo esta conta eu preciso de dois valores, o valor total que eu já consegui obter, e o valor atual. É ai que me encontro sem saída, qual seria o melhor método de eu descobrir quantos resources faltam para serem baixados? Acredito eu que tem como, caso contrário não existiria a progress bar do MTA correto? De alguma forma o M
-
Olá, bom acredito eu que não tenha uma função específica de 'dar' objetos, o que eu conheço é você anexar um elemento a outro, isto é feito com a função: attachElements Exemplo de código abaixo: -- código de exemlo: código server-side. function anexarObjetoAoPlayer(jogador) local x,y,z = getElementPosition(jogador) -- pega a posição do jogador. local objeto = createObject(1337,x,y,z) -- cria o objeto de id 1337. attachElements(objeto, jogador, 0, 0, 2 ) -- anexa o objeto ao jogador. end addCommandHandler("anexar",anexarObjetoAoPlayer)
-
Developer. started following Ajuda para finalizar mod barbearia, Como acessar o valor de um array? and [Dúvida] onClientGUIClick
-
Bom questionamento, porém acredito eu que não. Pois no if eu estou comparando a "data" da marker hitada, com a "data" salva na tabela. Quando o gaimo salva a marker na tabela acredito eu que seja algo mais ou menos assim: markers = { -- a tabela nomeada userdata = { -- uma segunda tabela(sub-tabela), que seria a userdata ([thePlayer]) ["StartData"] = markerData -- e por fim ele salva a "data" do marker. }, }; Seguindo a lógica acima, o que me importa é a markerData, então quando eu faço assim: if marker == markers[source]["StartMarker"] then Eu to querendo dizer: S
-
troque o ponto ( . ) por colchetes ( [ ) markers[thePlayer]["StartMarker"] = createMarker(...) if marker == markers[source]["StartMarker"] then Três perguntas: Qual a finalidade do mod? Por que a necessidade de nomear "StartMarker"? Vai existir mais de uma marker para ser hitada?
-
De acordo com a descrição da wiki sobre este evento, o mesmo funciona em qualquer elemento-gui. wiki: "This event happens when any gui-element clicked."
-
@Gaimo bom isto acontece porque a sua variável valorAtual não reseta. Onde esta status == false após o then coloque "valorAtual = 1", que assim sempre que o painel for fechado ira atribuir-se o valor 1 a esta variável.
-
Developer. started following Criar uma painel simples com algumas funções and Building
-
local player = getLocalPlayer(); local build function building(key, state) if (key == "b") then -- check Key pressed if (state == "down") then -- check state destroy(build) -- useful local x, y, z = getElementPosition(player); build = createObject(3374, x, y, z, 0, 0, 0); setElementAlpha(build, 150); attachElements(build, player , 0, 3, -1, 0, 0, 0); elseif (state =="up") then -- check state if isElementAttached(build) then setElementAlpha(build, 255); detachElements(build, player); setTimer(function() destroy(build) end, 1500
-
Criar uma painel simples com algumas funções
Developer. replied to Sparta's topic in Programação em Lua
Funções, eventos e resource's que você vai necessitar para fazer esse script: Server-Side ( lado servidor) addCommandHandler getPlayerByID ou getPlayerFromPartialNick (as duas são funções úteis, mandarei logo abaixo.) givePlayerMoney addEvent addEventHandler Client-Side (lado cliente) guiEditor (resource útil, só clicar para ser redirecionado a community.) cursorPosition (função útil, mandarei logo abaixo.) triggerServerEvent onClientClick getPlayerByID: function getPlayerByID(id) v = false for i, player i -
@MesaDowN O state é um parâmetro do evento onClientClick (no caso o segundo parâmetro). o state ele verifica se o player Pressionou o botão ("down") ou se ele solto o botão ("up").
-
@+snts Bom a não ser que você queira mostrar alguma imagem/texto na tela do player é totalmente desnecessário a conexão entre server e client. Esse script em especifico pode ser somente server-side sem problemas, inclusive é o que eu recomendo. No caso o certo a se fazer seria você declarar o parâmetro e passar ele, só isto acho que já resolveria os erros function SpawnMoto (jogador) local x,y,z = getElementPosition(jogador) No caso do script do #Roots seria algo assim: local veh = {} function SpawnMoto (jogador) if veh[jogador] and isElement( veh[jogador] ) then dest
-
@Gaimo Bom tem duas formas, para dx em especifico tem a função util IsCursorOnElement ou você pode criar um botão com gui GuiCreateButton Exemplo Dx: local posX, posY, posW, posH = 500, 500, 200, 200 local painel = true function teste(button,state) if painel == true then if state == "down" then if isCursorOnElement(posX, posY, posW, posH ) then outPutChatBox("Teste Dx bem-sucedido") end end end end addEventHandler ("onClientClick", root, teste) -- função util function isCursorOnElement(x,y,w,h) local mx,my = getCursorPosition ()
-
Bom é assim, se formos traduzir o erro seria algo neste sentido: Esperado ped/player no argumento 1, recebeu valor nil (nil é um valor inexistente) Isto ocorreu porque você não declarou o parâmetro da sua função. Se você observar na wiki o evento (addCommandHandler), vai ver que em um trecho ele fala sobre playerSource e argumentos. Mais precisamente isto aqui que estou me referindo: http://prntscr.com/r7neut Para todas as funções no MTA, existe um SOURCE. Source é o nativo daquela função, é o objeto/player/marker em que a função tem como base. Podemos acionar este source simplesment
-
Bom eu faria desta forma, ao meu ver é mais fácil: enterMarker = { -- index valor [1] = {createMarker(1170.88306, -1489.64990, 22.75516 - 1, "cylinder", 2, 0, 20, 255, 160)}, -- marker 1 [2] = {createMarker(1147.24207, -1487.55115, 22.76903 - 1, "cylinder", 2, 0, 20, 255, 160)}, -- marker 2 [3] = {createMarker(1159.714, -1511.431, 22.748 - 1, "cylinder", 2, 0, 20, 255, 160)}, -- marker 3 }; for i=1, #enterMarker do createBlipAttachedTo(enterMarker[i][1], 45) -- mesma coisa do seu createMarker porém com blip e com um for diferente. end -- abaixo a funcao
-
Comprado? Bom sem o código fica bem difícil lhe ajudar meu querido...