-
Posts
92 -
Joined
-
Last visited
-
Days Won
1
Everything posted by Developer.
-
Erro pickup de skin por acl dando erro
Developer. replied to Doongogar's topic in Programação em Lua
Bom vamos lá, na sua primeira linha de código há um argumento a mais... Você esta passando DUAS vezes a posição Z pickup2 = createPickup (1608.1341552734,-1685.9331054688,6.21875,6.21875, 3, 1275, 1000 ) isso esta impedindo do pickup ser gerado no mundo, ocasionando o erro na chamada do evento. Fora isso, acredito eu que tem maneiras melhores de você fazer esse código, métodos bem mais efetivos... tipo: implementação de um array, um loop, funções de retorno, etc... e dependendo do objetivo do mod, se caso não houver intenção de incluir um painel alterar esse eventHandler para um commandHandler, ou até juntar esse eventHandler com um sistema de bindkey para o player selecionar a skin, enfim e afins... varias maneiras bem bacanas de alteração -
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 MTA deve saber quantos faltam para ser iniciado. Observações: 1 - Eu já pensei em algumas ideias tipo um exports em cada resource que será ligado. Porém o meu intuito é uma automatização sem q eu precise mexer em cada resource do meu servidor. 2 - Teria como eu "simular" essa progress bar com isTransferBoxActive, mas não estou atrás disto. 3 - Sim eu sei que é possível um downloader próprio com a função downloadFile. Porém para o momento atual que eu me encontro, estou realmente sem tempo para estar fazendo um downloader. Já revirei a wiki, mas não consegui nada que me trouxeste o resultado q eu procuro, alguém teria como me ajudar nessa? Desde já agradeço a todos.
-
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)
-
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: SE a data da marker hitada é equivalente a data que esta dentro da sub-tabela(source, que no caso é a userdata) com index de ["StartMarker"] então faça: Abaixo o código, testado: veh = {}; markers = {}; for i=1,6 do veh[createVehicle(459, 1700.75781 + 3*i, -1806.09680, 13.54688, 0,0,0)] = true; createBlip(1700.75781, -1806.09680, 13.54688); end addEventHandler ( "onVehicleEnter", getRootElement(), function(thePlayer, seat) if not markers[thePlayer] then markers[thePlayer] = {}; end if veh[getPedOccupiedVehicle(thePlayer)] then markers[thePlayer]["StartMarker"] = createMarker(1683.57776, -1811.70239, 13.54688 - 0.8, "cylinder", 3, 255, 0, 0, 255, thePlayer); createMarker(1683.57776, -1811.70239 + 5, 13.54688 - 0.8, "cylinder", 3, 0, 255, 0, 255, thePlayer); createBlipAttachedTo(markers[thePlayer]["StartMarker"]); outputChatBox("marker table: "..tostring(markers[thePlayer]), thePlayer, 255, 255, 0); -- debug outputChatBox("marker data: "..tostring(markers[thePlayer]["StartMarker"]), thePlayer, 255, 255, 0); -- debug end end) addEventHandler("onPlayerMarkerHit", getRootElement(), function(marker, dim) if dim then outputChatBox("onHit: "..tostring(marker), source, 0, 255, 0); -- debug if marker ~= markers[source]["StartMarker"] then -- se for diferente outputChatBox("o marker é diferente", source, 255, 0, 0); else -- se for igual outputChatBox("o marker é igual", source, 0, 255, 0); end end end) addCommandHandler("teste", function(player) for index, value in pairs(markers) do -- se fizer com ipairs não irá funcionar, por causa do "StartMarker" outputChatBox(" #ff0000indexado: #ffffff"..tostring(index).." #ff0000tabela: #ffffff"..tostring(value).." #ff0000valorReal: #ffffff"..tostring(value["StartMarker"]),player, 255, 0, 255, true); end end ) Abaixo mais uma "prova" dessa explicação, agora com tudo declarado: test = { -- tabela nomeada test2 = { -- "sub-tabela" ["value"] = 10, -- index contendo o valor desejado. }, }; for i, v in pairs(test) do outputChatBox(tostring(v["value"])); end OBS (muito importante): Eu tenho absoluta certeza do que estou falando? R: Nem um pouco, provavelmente posso estar falando groselha, e se estiver quem souber melhor por favor comente xD. Porém os códigos acima foram testados e funcionou! @Angelo Pereira
-
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.
-
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, 1); end end end end bindKey("b", "both", building) function destroy(element) -- useful function if isElement(element) then -- if exists destroyElement(element) -- destroy end end
-
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 in ipairs (getElementsByType("player")) do if getElementData(player, "ID") == id then v = player break end end return v end getPlayerFromPartialName: function getPlayerFromPartialName (name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end cursorPosition: function cursorPosition(x, y, w, h) if (not isCursorShowing()) then return false end local mx, my = getCursorPosition() local fullx, fully = guiGetScreenSize() cursorx, cursory = mx*fullx, my*fully if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end -
@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 destroyElement( veh[jogador] ) veh[jogador] = nil end local x,y,z = getElementPosition(jogador) veh[jogador] = createVehicle(522, x,y,z) warpPedIntoVehicle (jogador, veh[jogador]) end addCommandHandler("moto", SpawnMoto) Seria legal você já pensar em usar os outros parâmetros tipo: local veh = {} function SpawnMoto (jogador, comando, id) if veh[jogador] and isElement( veh[jogador] ) then destroyElement( veh[jogador] ) veh[jogador] = nil end local x,y,z = getElementPosition(jogador) veh[jogador] = createVehicle(tonumber(id),x,y,z) warpPedIntoVehicle (jogador, veh[jogador]) end addCommandHandler("moto", SpawnMoto) 3 parâmetros o ultimo(id) seria o id do veiculo! Então vc iria digitar tipo /moto 522 ai apareceria a NRG, ou se vc digitasse /moto 462 aparecia outro veiculo e assim por diante... Teste e nos de um retorno se esta funcionando ou não.
-
@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 () local fullx,fully = guiGetScreenSize() cursorx,cursory = mx*fullx,my*fully if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end Exemplo Gui: function testeGui() botao = guiCreateButton(500, 500, 50, 32, "testeGui", false) -- guiSetAlpha(botao, 0) -- deixa o botão invisivel addEventHandler("onClientGUIClick", botao, testeGui2) end addEventHandler("onClientResourceStart", resourceRoot, testeGui) function testeGui2() outputChatBox("Teste gui bem-sucedido") end No exemplo do gui, vc criaria os botão embaixo das imagens. Então tipo a imagem é só algo realmente visual, o que importa é o botão onde o player clicou que estará invisível.
-
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 simplesmente digitando source, Exemplo Prático: local px, py, pz = getElementPosition(source) -- pegamos a posição do parâmetro nativo da função(source) warpPedIntoVehicle(source, VehCar) -- forçamos o player no veículo usando um parâmetro nativo da função(source) e uma variavel (VehCar) Obs: o SOURCE do addCommandHandler é o player que digitou o comando. -- Olhando para o seu script nós temos na linha 1 function -- function Indicamos que estamos iniciando uma função que ira executar algo SpawnMoto -- o nome desta função () -- e os parâmetros, ou seja a quem ela seja direcionada. Podemos perceber aqui que não existe nenhum parâmetro! Se não existe nenhum parâmetro DECLARADO, se formos olhar para a linha 4 player não existe, pois ele não foi declarado em nenhum momento. Obs: Não necessariamente você precisa escrever "player", eu posso colocar "ciranda_cirandinha" no lugar de "player" que irá funcionar normalmente. -- Na linha dois tem um outro erro: local px, py, pz = -- 3 váriaveis getElementPosition -- a função (getLocalPlayer()) -- o argumento Nós temos dois lados, o lado cliente e o lado servidor. Lado servidor é o que será executado na host, e o lado cliente é o executado no pc do player. Se você pesquisar por getLocalPlayer() na wiki você vai ver isto: http://prntscr.com/r7npad. Client-Side Only, ou seja somente lado cliente isto você pode identificar no meta.xml temos <script src="nomeDoArquivo" type="client"/> ou <script src="nomeDoArquivo" type="server"/> o type diz quais funções você pode usar naquele arquivo... Obs: temos também funções do tipo shared que funcionam tanto nos arquivos de lado client, quanto nos arquivos de lado server. Ex: http://prntscr.com/r7nr9j -- Basicamente é isso maninho esses foram os erros em seu script, use o código que o #Roots mandou e pesquise sobre "tabelas", é algo que vai ser muito essencial para você desenvolver seus próximos códigos :).
-
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 funcaoExemplo, vc pode criar funções proprias e automatizar seu script. -- em vez de eu colocar setElementModel em cada if/elseif, eu chamo a função que já faz isso por mim. function funcaoExemplo(playerSource, number) -- abaixo o setElementModel. -- se vc for na wiki essa função requer um player ou um ped (playerSource), e tambem o modelo no caso o (number) setElementModel(playerSource, number) end function hitarMarker(marker, dim) if dim then -- abaixo ele verifica se o marker hitado é equivalente ao index [1] valor [1] da tabela enterMarker, ou seja a marker criada 1. if marker == enterMarker[1][1] then outputChatBox("loja 1", source, 0, 255, 0) funcaoExemplo(source, 1) -- chamando a função criada por mim, setando ao source (player) a skin (1) elseif marker == enterMarker[2][1] then -- verificação no index [2] valor [1] outputChatBox("loja 2", source, 0, 255, 0) funcaoExemplo(source, 2) -- chamando a função criada por mim, setando ao source (player) a skin (2) elseif marker == enterMarker[3][1] then -- verificação no index [3] valor [1] outputChatBox("loja 3", source, 0, 255, 0) funcaoExemplo(source, 7) -- chamando a função criada por mim, setando ao source (player) a skin (7) end end end addEventHandler("onPlayerMarkerHit", getRootElement(), hitarMarker)
-
Comprado? Bom sem o código fica bem difícil lhe ajudar meu querido...
-
Ta ai, um sistema simples de Detran. local acl = "Detran" -- acl que tem permissão para efetuar os comandos /guinchar /soltar e pegar o carro do detran. local detran = { vtr = {}, last = {}, inUse = {}, guinchado = {}, }; function darCarro(jogador) if isPlayerInACL(jogador, acl) then if detran.inUse[jogador] ~= true then if detran.vtr[jogador] then destroyElement(detran.vtr[jogador]) detran.vtr[jogador] = nil end detran.vtr[jogador] = createVehicle(578, 1547.663, -2303.496, 13.545,-0, 0, 1.548) warpPedIntoVehicle(jogador, detran.vtr[jogador]) outputChatBox("#FFA500[Detran]:#FFFFFFVocê pegou carro do Detran", jogador, 255, 255, 255, true) else outputChatBox("#FFA500[Detran]:#FFFFFFVocê não pode pegar um novo carro do Detran", jogador, 255, 255, 255, true) end end end addEventHandler("onPickupHit", carro, darCarro) function salvar_Carro (vehicle, seat, jacked) if isPlayerInACL(source, acl) then detran.last[source] = vehicle end end addEventHandler('onPlayerVehicleEnter', getRootElement(), salvar_Carro) function guinVeh (jogador) if isPlayerInACL(jogador, acl) then local vtr = detran.vtr[jogador] local veh = detran.last[jogador] local vtrx, vtry, vtrz = getElementPosition(vtr) local vehx, vehy, vehz = getElementPosition(veh) local dist = getDistanceBetweenPoints3D(vtrx, vtry, vtrz, vehx, vehy, vehz) if (vtr) and (veh) then if dist < 5.5 then if not detran.inUse[jogador] then attachElements(veh, vtr, 0, -1, 1) detran.guinchado[jogador] = veh detran.inUse[jogador] = true outputChatBox("#FFA500[Detran]:#FFFFFFVeículo guinchado!", jogador, 255, 255, 255, true) else outputChatBox("#FFA500[Detran]:#FFFFFFVocê já guinchou um veículo!", jogador, 255, 255, 255, true) end else outputChatBox("#FFA500[Detran]:#FFFFFFAproxime o guincho do veículo!", jogador, 255, 255, 255, true) end end end end addCommandHandler("guinchar", guinVeh) function soltarVeh (jogador) if isPlayerInACL(jogador, acl) then local vtr = detran.vtr[jogador] local veh = detran.guinchado[jogador] local jogx, jogy, jogz = getElementPosition(jogador) local vtrx, vtry, vtrz = getElementPosition(vtr) local dist = getDistanceBetweenPoints3D(jogx, jogy, jogz, vtrx, vtry, vtrz) if (vtr) and (veh) then if dist < 3.5 then if detran.inUse[jogador] then detachElements(veh, vtr) detran.inUse[jogador] = false detran.guinchado[jogador] = nil outputChatBox("#FFA500[Detran]:#FFFFFFVeículo liberado!", jogador, 255, 255, 255, true) end else outputChatBox("#FFA500[Detran]:#FFFFFFAproxime-se do guincho!", jogador, 255, 255, 255, true) end end end end addCommandHandler("soltar", soltarVeh) function isPlayerInACL(player, acl) if isElement(player) and getElementType(player) == "player" and aclGetGroup(acl or "") and not isGuestAccount(getPlayerAccount(player)) then local account = getPlayerAccount(player) return isObjectInACLGroup( "user.".. getAccountName(account), aclGetGroup(acl) ) end return false end Se ocorrer algum erro, só estar comentando aqui. Não se esqueça de ativar seu debugscript (/debugscript 3). @zking0d
-
- Crie uma tabela - Insira o veículo dentro da tabela - Use onPlayerVehicleEnter como evento. local viatura = {} -- tabela criada function salvar_Carro (vehicle, seat, jacked) viatura[source] = vehicle -- veiculo inserido end addEventHandler('onPlayerVehicleEnter', getRootElement(), salvar_Carro) -- evento de ativação!
-
Preciso ajuda sistema ganhar xp ao terminar trabalho
Developer. replied to Duff1995's topic in Programação em Lua
Faça o seguinte. Nas linhas 436, 437, 439 e 440 troque player por source. Algumas dicas simples: - Antes de tudo, procure postar suas duvidas nesta seção, pois isto ajuda a manter a organização do fórum: https://forum.multitheftauto.com/forum/127-programação-em-Lua/ - Abaixo vou deixar um post explicando melhor como funciona este fórum: - Sempre que estiver mexendo com seus mods ative o debugscript 3, digitando /debugscript 3 no chat ( para desligar use /debugscript 0). Isto lhe ajuda a identificar o que esta dando erro! - Se você entende quase 0 de scripts de uma olhada nesses posts: Post por manawydan - Lógica de Programação Básica: Post por DNL291 - Informações úteis - Scripting/Configurações/Tutoriais para o MTA: Para finalizar, caso não funcione o script só estar comentando novamente, e por favor se puder informe o erro com uma print ou algo do tipo (não se esqueça de ativar o debugscript!). Facilita bastante a estar te ajudando. -
Sim, a tbm recomendo você mudar aquele getPlayerFromName() por getPlayerFromPartialName() isso muda a forma que vc tem q digitar exemplo se vc quiser me algemar com getPlayerFromName(), você teria que digitar /a eder já com getPlayerFromPartialName() você pode simplesmente digitar /a ede ou /a ed que a função já retorna o player. se não me engano o Jonas^ mandou essa function no seu outro post, da uma procurada lá.
-
tem duas formas de vc arrumar esse erro. 1 - em vez de passar direito, atribua uma variável ao getDistanceBetweenPoints3D e depois faz a verificação: local dist = getDistanceBetweenPoints3D(x1,y1,z1,x,y,z) if isPlayerPermission(hit) then if dist <= 20 then 2 - ou usar tonumber() no if: if tonumber(getDistanceBetweenPoints3D(x1,y1,z1,x,y,z)) <= 20 then
-
local posicoesCJ = { { 2488, -1670, 14 }, } local posicoesPraia = { { 324, -1779, 5 }, } local segundos = 5 -- tempo em segundos local tempo = {} -- tabela que salva o tempo. function PosicaoPlayer ( jogador, comando ) if getTickCount() - (tempo[jogador] or 0) >= segundos * 1000 then -- faz a contagem se já passou os 5 segundos para o player. local veh = getPedOccupiedVehicle(jogador) local nome = getPlayerName(jogador) if comando == "cj" then if (veh) then setElementPosition(veh, unpack(posicoesCJ[math.random(#posicoesCJ)])) else setElementPosition(jogador, unpack(posicoesCJ[math.random(#posicoesCJ )])) end tempo[jogador] = getTickCount() outputChatBox ('#FFFFFF[ #00FF00Tele#FFFFFF ]: #FFFFFF'..nome..' #828282Foi Para A Casa Do Cj #FFFFFF(#00FF00 /cj #FFFFFF)', root, 255, 255, 255, true) elseif comando == "praia" then if (veh) then setElementPosition(veh, unpack(posicoesPraia[math.random( #posicoesPraia )])) else setElementPosition(jogador, unpack(posicoesPraia[math.random(#posicoesPraia)])) end tempo[jogador] = getTickCount() outputChatBox ('#FFFFFF[ #00FF00Tele#FFFFFF ]: #FFFFFF'..nome..' #828282Foi Para A Praia #FFFFFF(#00FF00 /praia #FFFFFF)', root, 255, 255, 255, true) end else outputChatBox ('#FFFFFF[ #00FF00Anti-flood#FFFFFF ]: #FFFFFFAguarde Para utilizar o comando novamente!', jogador, 255, 255, 255, true) end end addCommandHandler("cj", PosicaoPlayer) addCommandHandler("praia", PosicaoPlayer) Testado! Pronto, arrumado. O erro estava nos Parênteses da linha 16 @SkillZNT
-
local posicoesCJ = { { 2488, -1670, 14 }, }; local posicoesPraia = { { 324, -1779, 5 }, }; local segundos = 5 -- tempo em segundos local tempo = {} -- tabela que salva o tempo do jogador. function PosicaoPlayer ( jogador, comando ) if (getTickCount() - tempo[jogador] or 0) >= segundos * 1000) then -- faz a contagem se já passou os 5 segundos para o jogador. local veh = getPedOccupiedVehicle(jogador) local nome = getPlayerName(jogador) if comando == "cj" then if (veh) then setElementPosition(veh, unpack(posicoesCJ[math.random(#posicoesCJ)])) else setElementPosition(jogador, unpack(posicoesCJ[math.random(#posicoesCJ )])) end tempo[jogador] = getTickCount() outputChatBox ('#FFFFFF[ #00FF00Tele#FFFFFF ]: #FFFFFF'..nome..' #828282Foi Para A Casa Do Cj #FFFFFF(#00FF00 /cj #FFFFFF)', root, 255, 255, 255, true) elseif comando == "praia" then if (veh) then setElementPosition(veh, unpack(posicoesPraia[math.random( #posicoesPraia )])) else setElementPosition(jogador, unpack(posicoesPraia[math.random(#posicoesPraia)])) end tempo[jogador] = getTickCount() outputChatBox ('#FFFFFF[ #00FF00Tele#FFFFFF ]: #FFFFFF'..nome..' #828282Foi Para A Praia #FFFFFF(#00FF00 /praia #FFFFFF)', root, 255, 255, 255, true) end else outputChatBox ('#FFFFFF[ #00FF00Anti-flood#FFFFFF ]: #FFFFFFAguarde Para utilizar o comando novamente!', jogador, 255, 255, 255, true) end end addCommandHandler("cj", PosicaoPlayer) addCommandHandler("praia", PosicaoPlayer) Obs: Não testado! Ligue primeiro seu debug ( /debugscript 3) e depois inicie o resource! 7 Caso de algum erro só mandar aqui que irei consertar. @SkillZNT
-
Olá novamente @vanessa, acabei deixando passar no outro post porém para ficar mais fácil de estarmos te ajudando, por favor poste o seu código corretamente clicando sobre o botão code <> Abaixo uma imagem ilustrativa do botão: Se você puder estar editando o seu tópico e fazendo desta maneira, ficara mais fácil para os membros lhe ajudar! Bom quanto ao seu problema você chegou a verificar seu /debugscript 3? Para ver se aparece algum erro quanto aos Resources? Qual o problema exato com a sua hud? Ela não liga? Ela liga, porém falta alguma coisa nela ou algo do tipo?
-
Disponha