Jump to content

Search the Community

Showing results for tags 'lua'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Multi Theft Auto: San Andreas 1.x
    • Support for MTA:SA 1.x
    • User Guides
    • Open Source Contributors
    • Suggestions
    • Ban appeals
  • General MTA
    • News
    • Media
    • Site/Forum/Discord/Mantis/Wiki related
    • MTA Chat
    • Other languages
  • MTA Community
    • Scripting
    • Maps
    • Resources
    • Other Creations & GTA modding
    • Competitive gameplay
    • Servers
  • Other
    • General
    • Multi Theft Auto 0.5r2
    • Third party GTA mods
  • Archive
    • Archived Items
    • Trash

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Gang


Location


Occupation


Interests

  1. getJobMarker = createMarker(872.03754, -29.07278, 62.3000, "cylinder", 1.0, 0, 255, 255, 255, getRootElement()) ped = createPed(159, 872.92389, -27.08743, 63.94565, 160) setPedFrozen(ped, true) blip = createBlipAttachedTo(getJobMarker, 56) function hitMarkerWindow() window = guiCreateWindow(0.35, 0.35, 0.35, 0.30, "wood job", true) memo = guiCreateMemo(0.10, 0.20, 0.80, 0.4, "this is wood cutting job", true, window) accept = guiCreateButton(0.10, 0.75, 0.22, 0.14, "Accept Job", true, window) leave = guiCreateButton(0.35, 0.75, 0.22, 0.14, "Leave Job", true, window) close = guiCreateButton(0.60, 0.75, 0.22, 0.14, "Close", true, window) showCursor(true) guiMemoSetReadOnly(memo, true) end addEventHandler("onClientMarkerHit", getJobMarker, hitMarkerWindow) function clientClick() if source == close then guiSetVisible(window, false) showCursor(false) triggerServerEvent("cancelButton", resourceRoot, localPlayer) elseif source == accept then guiSetVisible(window, false) showCursor(false) triggerServerEvent("acceptWoodJob", resourceRoot, localPlayer) elseif source == leave then guiSetVisible(window, false) showCursor(false) triggerServerEvent("leaveJob", resourceRoot, localPlayer) end end addEventHandler("onClientGUIClick", root, clientClick)
  2. function tpbloods(playerSource) if isObjectInACLGroup("user." ..getAccountName(getPlayerAccount(playerSource)), aclGetGroup("Staff")) then if getElementData(playerSource, "Expediente-STAFF") == "Sim" then if not Flying[playerSource] then Flying[playerSource] = true setElementAlpha(playerSource, 0) triggerClientEvent(playerSource, "onClientFlyToggle", playerSource) end setElementPosition(playerSource, 2219.984, -1143.273, 25.797) setElementRotation(playerSource, 0, 0, 353.328) showInfobox(playerSource, "Você teleportou na base Bloods", "success") else atendimento(playerSource) end end end addCommandHandler("tpbloods", tpbloods) function tpgrove(playerSource) if isObjectInACLGroup("user." ..getAccountName(getPlayerAccount(playerSource)), aclGetGroup("Staff")) then if getElementData(playerSource, "Expediente-STAFF") == "Sim" then if not Flying[playerSource] then Flying[playerSource] = true setElementAlpha(playerSource, 0) triggerClientEvent(playerSource, "onClientFlyToggle", playerSource) end setElementPosition(playerSource, 2463.633, -1659.423, 13.311) setElementRotation(playerSource, 0, 0, 88.373) showInfobox(playerSource, "Você teleportou na base da Grove", "success") else atendimento(playerSource) end end end addCommandHandler("tpgrove", tpgrove) function tpcrips(playerSource) if isObjectInACLGroup("user." ..getAccountName(getPlayerAccount(playerSource)), aclGetGroup("Staff")) then if getElementData(playerSource, "Expediente-STAFF") == "Sim" then if not Flying[playerSource] then Flying[playerSource] = true setElementAlpha(playerSource, 0) triggerClientEvent(playerSource, "onClientFlyToggle", playerSource) end setElementPosition(playerSource, 2183.58, -1761.268, 13.375) setElementRotation(playerSource, 0, 0, 359.602) showInfobox(playerSource, "Você teleportou na base Crips", "success") else atendimento(playerSource) end end end addCommandHandler("tpcrips", tpcrips) function tpsiliciana(playerSource) if isObjectInACLGroup("user." ..getAccountName(getPlayerAccount(playerSource)), aclGetGroup("Staff")) then if getElementData(playerSource, "Expediente-STAFF") == "Sim" then if not Flying[playerSource] then Flying[playerSource] = true setElementAlpha(playerSource, 0) triggerClientEvent(playerSource, "onClientFlyToggle", playerSource) end setElementPosition(playerSource, 2418.157, -2009.204, 13.396) setElementRotation(playerSource, 0, 0, 90.592) showInfobox(playerSource, "Você teleportou na base Siliciana", "success") else atendimento(playerSource) end end end addCommandHandler("tpsiliciana", tpsiliciana) ---------------------------------------------------------------------------------------------------------------------------- function showInfobox(element, message, tipo) exports["[HYPE]NOTIFY"]:addNotification(element, message, tipo) end atendimento = function (element) return triggerClientEvent(element, "HypeNotify", element, "Você não está em modo atendimento use /pro", "error") end Basicamente são vários comandos que executam basicamente a mesma função eu gostaria que fosse menor tipo executar o comando e o nome da base ai ele puxar a posição da base e teleportar pequeno exemplo abaixo bases = {{yakuza, 2418.157, -2009.204, 13.396 }, {bloods, 1234.09, -2029.24, 13.396 }}
  3. I am new to Mtasa scripting. May I know what is Root and Source and in what situations they are used?
  4. Nesse script abaixo se você arrastar o item do inventario chamado "chavedefenda" ele executa uma função eu gostaria q esse item roubasse cada pneu do carro ou seja o jogador chega perto do pneu e arrasta a chave de fenda pro carro ai ele começa a roubar o pneu do carro quando ele termina de roubar o pneu vai pro inventario e o pneu do carro some automaticamente o mesmo serve pra quando o jogador tem o pneu no inventario ai arrasta a chave de fenda pro carro fazendo assim ele coloca o pneu de volta no carro ou seja se ele tiver o pneu no inventario e o carro não tiver um ou mais pneus ele coloca o pneu no lugar e ele sai do inventario do jogador quem conseguir fazer pra mim elseif getElementType(target) == "vehicle" then --Interação com veículos if item == "toolbox" then --Reparar o veículos drop = false local health = getElementHealth(target) if health >= 1000 then sendNotification(player, "error", "O veículo não precisa de reparo.") return false end local result = takeItem(player, slot, "toolbox", 1) if result then closeInventory(player) setPedAnimation(player, "OTB", "betslp_loop", 0, true, true, false) toggleControl(player, "fire", false) toggleControl(player, "jump", false) setElementFrozen(target, true) toggleAllControls(player, false) playSound3D(target, "fix.mp3", 20) sendProgressbar(player, 15, "Reparando o veículo...") cooldown[player] = setTimer(function() setPedAnimation( player, "ped", "facanger", 0, false, false, false) toggleControl(player, "fire", true) toggleControl(player, "jump", true) setElementFrozen(target, false) toggleAllControls(player, true) setElementHealth(target, 1000) fixVehicle(target) cooldown[player] = nil sendNotification(player, "success", "Veículo reparado com sucesso.") end, 1000*15, 1) else sendNotification(player, "error", "Ocorreu um erro ao usar este item.") end elseif item == "chavedefenda" then drop = false local theVehicle = getPedOccupiedVehicle ( player ) if ( theVehicle ) then sendNotification(player, "error", "Desça do veiculo primeiro") return false end local result = takeItem(player, slot, "chavedefenda", 1) if result then closeInventory(player) setPedAnimation(player, "OTB", "betslp_loop", 0, true, true, false)--animação roubando toggleControl(player, "fire", false) toggleControl(player, "jump", false) setElementFrozen(target, true) toggleAllControls(player, false) sendProgressbar(player, 15, "Roubando o pneu...") cooldown[player] = setTimer(function() setPedAnimation( player, "ped", "facanger", 0, false, false, false) toggleControl(player, "fire", true) toggleControl(player, "jump", true) setElementFrozen(target, false) toggleAllControls(player, true) --setElementData(target, "Gasolina", gasolina + 25) cooldown[player] = nil sendNotification(player, "success", "você roubou o pneu do veiculo com sucesso") end, 1000*15, 1) else sendNotification(player, "error", "Ocorreu um erro ao usar este item") end end end
  5. Esses 2 helicópteros contem armas q meus players que forem pilotar eles vão querer usar em algum momento eu gostaria de bloquear esses armamentos do meu servidor como eu poderia fazer isso?
  6. EU SIMPLESMENTE GOSTARIA QUE QUEM TIVESSE NAS ACLS VIPS [ DIAMANTE, OURO, PRATA, BRONZE ] TIVESSE MAIS SLOTS NA GARAGEM O SCRIPT É ASSIM createEventHandler ("MST.onPlayerBuyVehicle", getRootElement (), function (player, selecionado, cor_1, cor_2, cor_3, cor_4) if selecionado then local accName = getAccountName (getPlayerAccount (player)) local result = dbPoll (dbQuery (db, "SELECT * FROM Veiculos WHERE Conta = ? AND Modelo = ?", accName, selecionado.model), -1) if #result == 0 then if getAllPlayerVehicles (player) >= config.gerais.veiculosmax then --eu sei q é aqui q impede que o jogador compre mais carros message (player, "Você já possui a quantidade máxima de veículos", "error") return end local money = getPlayerMoney (player) if money >= selecionado.price then local id = NovoID () local cor = cor_1..", "..cor_2..", "..cor_3..", "..cor_4 local t_1, t_2, t_3, t_4, t_5, t_6, t_7, t_8, t_9, t_10, t_11, t_12, t_13, t_14, t_15 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 local tunning = t_1..", "..t_2..", "..t_3..", "..t_4..", "..t_5..", "..t_6..", "..t_7..", "..t_8..", "..t_9..", "..t_10..", "..t_11..", "..t_12..", "..t_13..", "..t_14..", "..t_15 dbExec (db, "INSERT INTO Veiculos VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", accName, id, selecionado.name, selecionado.model, "Guardado", cor, tunning, "Não", 0, "SemPlaca", selecionado.price, 1000, 100) message (player, "Você comprou o veículo "..selecionado.name.." por R$"..convertNumber(selecionado.price)..",00.", "success") takePlayerMoney (player, selecionado.price) triggerClientEvent (player, "MST.onPlayerCloseEvents", player) else message (player, "Você não possui dinheiro suficiente.", "error") end else message (player, "Você já possui esse veículo.", "error") end else message (player, "Selecione algum veículo da lista.", "error") end end) --aqui é a função a cima q verifica os carros q o jogador tem na garagem function getAllPlayerVehicles (player) local accName = getAccountName (getPlayerAccount (player)) local result = dbPoll (dbQuery (db, "SELECT * FROM Veiculos WHERE Conta = ?", accName), -1) return #result end --aqui e no arquivo de configuração config = { gerais = { veiculosmax = 2, -- Veículos Máximos que o Jogador vai poder ter na Garagem. elementfuel = "Gasolina", -- Element Data de Gasolina do seu Servidor. elementid = "ID", -- Element Data de ID do seu Servidor. infobox = "addBox", -- Evento da sua Infobox. distancia = 30, -- Distancia do Player e do Veículo. (Guardar Veículo) velocitymax = 400, -- Velocidade Máximas de todos os Veículos. acls = {"Console"}, -- ACL's Administradoras do seu Servidor. },
  7. Estou com um erro em um codigo de colisão entre veiculos, podem me ajudar? Ele inicia tudo ok, os carros n se batem, mas ai passa uns minutos e da erro no setElementCollidableWith(vehicle, v, false) function ghostmode_on() local v = getPedOccupiedVehicle(localPlayer) -- Get her's Vehicle ID for index,vehicle in ipairs(getElementsByType("vehicle")) do --LOOP through all Vehicles setElementCollidableWith(vehicle, v, false) -- Set the Collison off with the Other vehicles. end end addEventHandler( "onClientResourceStart", root, ghostmode_on) Ai o erro:
  8. Hola, soy nuevo en el foro de mta. Vengo de pawno y me gustaría aprender lua para manejarlo con el mta, ¿algunas guias o paginas que me puedan proporcionar para aprenderlo orientado a mta? Se agradecería muchisimo, gracias (=
  9. Boa noite, seria possível criar um sistema de cobrar um valor de um jogador a ele entrar em um ônibus específico? Estou tentando fazer um sistema de transporte público onde terá um jogador que será o motorista e os outros jogadores que podem pegar o ônibus ao entrar em G seria cobrado a passagem do jogador. Por favor me ajudem a fazer.
  10. If you're an experienced Lua developer and are looking for work, feel free to send me a message. Details will be discussed privately. Best regards Vseven
  11. alguém sabe me dizer como faço a definição de uma variavel especifica pra 1 player só? e não para todos? POR EXEMPLO: local VARIAVEL1 = false VARIAVEL1(thePlayer) = true (quero q a variavel 1 fique apenas para 1 jogador e não todos do servidor como faço essa definição? (sou novo no script lua) SCRIPT: local PlayerJoin = false addEventHandler ("onPlayerJoin", root, function () PlayerJoin [thePlayer] = true outputChatBox("Player Entrou.") end ) function Verification() if PlayerJoin[thePlayer] == true then outputChatBox("VARIAVEL TRUE") else outputChatBox("VARIAVEL FALSE") end end addCommandHandler("teste", Verification) @Lord Henry
  12. Introdução O conteúdo deste tópico será separado por seções, ensinando passo-a-passo cada detalhe - desde criar um BOT no site do Discord Developers, até finalmente ligá-lo e executar os comandos, que serão enviados para o seu servidor MTA. Siga todos os passos para que tudo dê certo. Configurando o ambiente Bom, para que nós possamos iniciar, é necessário instalar duas coisas no seu computador: Node.js e Visual Studio Code. Só um adendo: não é estritamente necessário usar o VSCode, estou apenas sugerindo-o, e também é a IDE que irei utilizar neste tutorial. Após instalá-los, seguiremos a próxima seção. Como criar um BOT no Discord Developers Acesse este link: https://discord.com/developers/applications - se você não estiver com uma sessão do Discord aberta no navegador, faça o login para que você possa acessar as funcionalidades desse site. Provavelmente, após entrar numa sessão, uma página como esta irá surgir: Ignore as minhas aplicações. O seu estará vazio - eu acho. Para iniciarmos a criação de uma nova aplicação, clique no botão que está no canto superior direito: Escolha o nome que desejar, isso não importa muito para este tutorial. Uma vez criada, uma outra página aparecerá, com mais informações. Primeiramente, vá até a aba Bot. O botão fica ao lado esquerdo: Agora, para que criemos de fato o BOT, clique no botão ao lado direito: Um pop-up irá aparecer, basta clicar em Yes, do it! Mais uma vez, irá carregar, na mesma aba, mais informações, agora sobre o seu BOT. Não compartilhe nada do que estiver escrito na página, com ênfase no seu token, que faz o seu BOT ficar online. Agora, voltemos para a aba principal: Nessa aba, você possui o Client ID da sua aplicação. Esse ID não é o token, você não precisa se preocupar caso compartilhe com alguém: Copie-o e acesse este link para que possamos dar continuidade: https://discordapi.com/permissions.html. Nesse site, nós podemos gerar o link de convite, no qual você irá precisar para adicionar o BOT no seu servidor do Discord. Cole o ID que você copiou neste campo: Também, selecione a permissão de administrador, que fica logo acima: Feito todos os passos, copie o link, abra uma nova aba no seu navegador e acesse o link gerado. Ele é parecido com este: Assim que você acessar, selecione o servidor no qual você quer adicionar o BOT e confirme tudo o que é pedido. Caso você tenha feito corretamente, o seu BOT já está no seu servidor. Vamos a próxima seção. Clonando o repositório do BOT Optei por criar um repositório no GitHub para que fique mais fácil este tutorial. Se você não sabe o que é clonar, apenas clique no botão de baixar, ao invés de clonar. Ele é assim: Clique em Download ZIP. Uma vez que temos o repositório no computador, descompacte-o na área de trabalho mesmo. Feito isso, uma pasta será criada. Agora, abriremos o VSCode. Siga estas instruções: Você irá selecionar a sub-pasta, que está dentro do pasta descompactada. Preste atenção ao selecionar. Há uma outra pasta dentro daquela que extraímos, abra a pasta correta. O resultado deve ser este: Ignore os ícones, fonte, cor de fundo. São extensões que eu uso. Vamos a próxima seção. Como instalar os pacotes da aplicação Ainda no VSCode, pressione CTRL + ' (aspas simples). O terminal irá abrir. Com ele aberto, digite o comando npm install. Os pacotes serão instalados - uma nova pasta e arquivo serão gerados. Não se preocupe com isso, não faz parte deste tutorial. Próxima seção! Como habilitar o Modo Desenvolvedor no Discord Para que nós possamos avançar a próxima seção, nós precisamos habilitar o modo desenvolvedor, para obter os IDs de canais, servidor, usuário, cargos e outros. É simples. Acesse as configurações da sua conta, clique na aba Aparência, desça tudo e irá se deparar com isto: O meu já está ativado. Caso o seu não esteja, ative-o. Next... Configurando as variáveis do BOT Agora que nós já podemos copiar o ID de alguns elementos do Discord, iremos configurar os arquivos que estão dentro da pasta config, abra-a. Os arquivos são estes: Primeiramente, crie um canal no seu servidor do Discord e copie o ID dele. Basta clicar com o botão direito em cima e copiá-lo. Abra o arquivo channel.js e apenas altere o valor que está lá. Salve o arquivo e abra o próximo, guild.js. Para eu não me estender muito, você fará os mesmos passos acima, copiando o ID e substituindo. Para copiar o ID do seu servidor, basta clicar com o botão direito em cima do nome dele. Já no arquivo mta.js, você deve alterar as informações de acordo com o seu servidor. Veja a explicação abaixo. ip - do seu servidor. httpPort - a porta HTTP do seu servidor, você pode consultá-la aqui neste site. username - crie um usuário no seu servidor e dê permissões administrativas para ele. password - a senha que você colocou no usuário. ATENÇÃO: USE UM USUÁRIO E SENHA QUE NÃO SEJA FÁCIL DE DESCOBRIR, LOGO NÃO COMPARTILHE COM NINGUÉM. Em relação ao outro arquivo, prefix.js, é apenas o prefixo que você usará nos comandos, altere se quiser. O arquivo token.js fala por si só, você irá pegar o token de acesso do seu BOT, lá no site do Discord Developers e substituir dentro do arquivo. Acompanhe na imagem abaixo. Bom, já disse na seção passada que você não deve compartilhar o token. Seguiremos a próxima. Clonando o repositório do resource Assim como no repositório do BOT, o resource também está no GitHub. Baixe-o, da mesma forma do BOT, mas agora adicione no seu servidor MTA, na pasta resources. Lembrando que deve-se extrair e colocar a pasta correta, verifique bem a sub-pasta. Uma vez adicionado no seu servidor, use o comando refresh para atualizar a lista de resources e inicie-o. Ah, e também dê permissões administrativas para ele! Pronto. Já podemos prosseguir. Iniciando o BOT Estamos quase ao ponto de executar os comandos. Vamos iniciar o BOT. Agora no VSCode, naquele mesmo terminal, use o comando npm start. Se tudo foi feito corretamente, ele irá se iniciar sem erros e uma mensagem dizendo que o BOT foi ligado deve aparecer. Testando os comandos Lembra que nós criamos um canal para executar os comandos? Pois é agora que iremos utilizá-lo. Lembre-se: o seu servidor deve estar ligado - entre nele também para que você possa ver as mensagens no chat. Alguns comandos que eu fiz, apenas para exemplificar. Você pode adicionar mais comandos se quiser. Se você não alterou o prefixo, aqui estão os comandos que fiz. (Você deve ser ADMINISTRADOR do seu servidor para executá-los) $settime <hora> <minuto> - $settime 12 00 | Irá alterar o clima no servidor. $text <mensagem> - $text opa, jogadores, tudo bem? | A mensagem será enviada no chat do servidor. $status | Mostrará algumas informações do servidor no chat do Discord. $mute <jogador> - $mute andr0xy | O jogador ficará mutado até se reconectar. $givemoney <jogador> <quantia> - $givemoney andr0xy 15000 | Dá dinheiro ao jogador. $cgroup <nome> - $cgroup VIP | Cria um grupo na ACL. Apenas uma observação: é possível sim, nos comandos que envolvem jogadores, executá-los pelo ID. Basta você editar o resource - não irei explicar como faz isso, pois não tem relação ao tutorial. Agradecimento & Informações Muito obrigado por seguir o tutorial. Fiz com o ❤ para toda a comunidade. Espero que vocês evoluam ambos códigos e que isso se torne muito maior dentro do servidor de vocês. Lembre-se que tudo é possível no MTA, contribuam sempre de alguma forma para que outros também possam evoluir. A união é importante nessa área. Busquem conhecimento! Crédito ao autor da SDK, o que faz ser possível conectar-se ao servidor MTA. 4O4 - GitHub Edições neste tutorial 28.01.2021 - AVISO: renomeie o resource para discordapp. 29.01.2021 - CORREÇÃO: texto confuso na seção Clonando o repositório do BOT. 29.01.2021 - AVISO: código do resource refatorado, sendo mais fácil adicionar novos comandos.
  13. Queria saber como faz para bloquear uma bind em um setTimer
  14. function assaltarlojinha (source) armas = getPedWeapon (source) emcimamrk = getElementsWithinMarker(tabelafalsa[index]) if isElementWithinMarker ( source, tabelafalsa[index]) then if #emcimamrk == 1 then if not isElementVisibleTo(assaltarassaltado,source) == true then if armas == 22 or armas == 24 or armas == 25 or armas == 26 or armas == 27 or armas == 29 or armas == 30 or armas == 31 or armas == 32 or armas == 33 or armas == 34 then local accName = getAccountName ( getPlayerAccount ( source ) ) if not isObjectInACLGroup ("user."..accName, aclGetGroup ( police ) ) then setElementFrozen(source,true) setPedAnimation (source, "SHOP", "ROB_Loop_Threat", -1, true, false, true) triggerClientEvent ( root, "alarme3", root, source,value ) for _, Player in pairs(getElementsByType("player")) do local accName = getAccountName ( getPlayerAccount ( Player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( police ) ) then setElementVisibleTo(assaltarassaltado,Player,true) message(Player,"O alarme da loja "..value[11].." foi disparado em emergencia ","info") setTimer(function() setElementVisibleTo(assaltarassaltado,Player,false) end,tempopranew,1,Player) end end setTimer(function(source) setPedAnimation( source ) setElementFrozen(source,false) message(source,"Você assaltou a "..value[11].." e ganhou R$"..valoroubo.."","info") local next = exports.n3xt_inventario next:giveItem(source, "Dinheiro Sujo", valoroubo) end,tempodoassalto,1,source) local procurado = getPlayerWantedLevel( source ) if procurado < 6 then setPlayerWantedLevel ( source, procurado+1 ) else setPlayerWantedLevel(source,1) end setTimer(function(source) assaltada3 = false setElementVisibleTo(assaltarassaltado,source,false) setElementVisibleTo(assaltardessaltado,source,true) end,tempopranew,1,source) else message(source,"Policial não pode assaltar lojas!","error") end else message(source,"Você precisar estar com a arma equipada em mãos","error") end else message(source,"Está loja foi assaltada recentemente","error") end end end end addCommandHandler("assaltar",assaltarlojinha) end Fala Galera beleza? Gostaria de uma ajudinha para saber onde esta o erro que não me permite definir o boqueio de tempo para que o player volte a assaltar a lojinha em um determinado espaço de tempo.. já mexi e mexi no código que não fui eu o autor mas quem me passou disse estar configurado porém não funciona apenas esta funcção que define o tempo para voltar a assaltar a loja.
  15. it's working the way I hope there is no error, but I noticed that when checkingpedingQuery[1][status] == 2 it returns only 1 value from a row of the status column I can't make it read more columns with status 2 is only giving 1 line with status 2 function saqueBankMoney(thePlayer, money) local checkpedingQuery = dbPoll(dbQuery(sql, "SELECT * FROM dbt_withdraw WHERE user_id = ? AND status <> "..tonumber(5).." ORDER BY status DESC ", getElementData(thePlayer, "char:userid")), -1) local amount = string.format("%09.8f",checkpedingQuery[1]["amount"] or 0) local amount = tonumber(amount) local vip = getElementData(thePlayer, "char:vip") or 0 local Moedas = string.format("%09.8f", getElementData(thePlayer, "char:vip") or 0) local balance = Moedas - 0.00010000 local man = 10000 if checkpedingQuery[1]["status"] == 2 then if money == getElementData(thePlayer, "char:vip") or money <= getElementData(thePlayer, "char:vip") then if balance > amount then dbExec(sql, "UPDATE dbt_balance SET balance = ? WHERE user_id = ?",balance, getElementData(thePlayer, "char:userid")) setElementData(thePlayer, "char:bankexchange", string.format("%09d", getElementData(thePlayer, "char:bankexchange")) + man) exports.logs:logMessage("[SAQUE]: "..getPlayerName(thePlayer).." ID: "..getElementData(thePlayer, "acc:id").." sacou R$: "..money.." no banco Total: "..getElementData(thePlayer, "char:vip").."", 1) else exports.FR_DxMessages:addBox(thePlayer,"blocked funds", "error") exports.FR_DxMessages:addBox(thePlayer,"peding withdraw", "info") end else outputChatBox('#0071fe[TRANSFERIDOR] #FFFFFFVocê está sem dinheiro', thePlayer,255,255,255,true) end end if checkpedingQuery[1]["status"] == 1 then if money == getElementData(thePlayer, "char:vip") or money <= getElementData(thePlayer, "char:vip") then dbExec(sql, "UPDATE dbt_balance SET balance = ? WHERE user_id = ?",balance, getElementData(thePlayer, "char:userid")) setElementData(thePlayer, "char:bankexchange",string.format("%09d", getElementData(thePlayer, "char:bankexchange")) + man) exports.FR_DxMessages:addBox(thePlayer,"Você retirou "..money.." do banco da exchange! ", "sucess") else outputChatBox('#0071fe[TRANSFERIDOR] #FFFFFFVocê está sem dinheiro', thePlayer,255,255,255,true) end end end
  16. Hello friends, today I will share with you a very simple and under development hud. To get rid of FPS and screen pollution, it is enough to install and run the hud I made on your server. Download > Link
  17. Estou tentando por o addcommandhandler mas não consigo de forma nenhuma, se alguém tiver a solução para algum dos 3 scripts a baixo me avisa fznd o favor estou tentando abrir painel DX por comando ao em vez de por bindkey porem não consigo, já tentei de vários jeitos e formas porem nn vai, já pesquisei aqui no fórum, no YouTube porem nn vai function Pdx ( ) dxDrawRectangle(504, 197, 314, 397, tocolor(255, 0, 0, 100), false) dxDrawRectangle(554, 238, 218, 72, tocolor(255, 255, 255, 255), false) dxDrawRectangle(554, 347, 218, 72, tocolor(255, 255, 255, 255), false) dxDrawRectangle(554, 455, 218, 72, tocolor(255, 255, 255, 255), false) end function abrir (_,state) if painel == false then showCursor(true) addEventHandler("onClientRender", root, Pdx) painel = true else showCursor(false) removeEventHandler("onClientRender", root, Pdx) painel = false end end addCommandHandler("disappear", abrir) addCommandHandler("v", abrir) tabem tentei fazer uma versão para uma bussola: --2017 ~ Mark Gyori https://markgyori.eu/ --Contact: [email protected] local sx, sy = guiGetScreenSize() local top = 30 local font1 = dxCreateFont("font.otf", 11) local font2 = dxCreateFont("font.otf", 10) local exibir_bulssola = false local cords = { {0, "N"}, {15, 15}, {30, 30}, {45, "NE"}, {60, 60}, {75, 75}, {90, "E"}, {105, 105}, {120, 120}, {135, "SE"}, {150, 150}, {165, 165}, {170, "S"}, {195, 195}, {210, 210}, {225, "SW"}, {240, 240}, {255, 255}, {270, "W"}, {285, 285}, {300, 300}, {315, "NW"}, {330, 330}, {345, 345} } function draw ( ) local show = 15 local center = math.ceil(show / 2) - 1 local _, _, r = getElementRotation(getCamera()) local pos = math.floor(r / 15) local slotwidth = 40 local smooth = ((r - (pos * 15)) / 15) * slotwidth local left = sx / 2 - ((show + 2) * slotwidth)/2 for i=1, show do local id = i + pos - center if(id > #cords)then id = id - #cords end if(id <= 0)then id = #cords - math.abs(id) end if(cords[id])then local alpha = (tonumber(cords[id][2]) or 0 > 0) and 175 or 255 if(i < center)then alpha = alpha * (i/center) end if(i > center)then alpha = alpha * ((show-i)/center) end dxDrawRectangle(left + slotwidth * i - smooth + (slotwidth / 2 - 1) + 1, top + 10 + 1, 2, 10, tocolor(0, 0, 0, alpha * 0.5)) dxDrawRectangle(left + slotwidth * i - smooth + (slotwidth / 2 - 1), top + 10, 2, 10, tocolor(255, 255, 255, alpha)) dxDrawText(cords[id][2], left + slotwidth * i - smooth + 1, top + 20, left + slotwidth * (i+1) - smooth + 2, top + 40, tocolor(0, 0, 0, alpha * 0.5), 1, font2, "center", "center") dxDrawText(cords[id][2], left + slotwidth * i - smooth, top + 20, left + slotwidth * (i+1) - smooth, top + 40, tocolor(255, 255, 255, alpha), 1, font2, "center", "center") end end dxDrawText("➤", left + 4, top + 26 + 2, left + ((show + 3) * slotwidth) + 30, 0, tocolor(0, 0, 0, 160), 1, font1, "center", "top", false, false, false, false, false, 90) dxDrawText("➤", left, top + 26, left + ((show + 3) * slotwidth) + 30, 0, tocolor(255, 255, 255, 255), 1, font1, "center", "top", false, false, false, false, false, 90) end addCommandHandler("m1", function() if exibir_bulssola = false then addEventHandler("onClientRender", getRootElement(), draw) exibir_bulssola = true else removeEventHandler("onClientRender", getRootElement(), draw) exibir_bulssola = false end end) --->--->--->---> (inclusive tentei mudar a direção a qual ele gira não consegui se alguém souber como avisa)<---<---<---<--- e também tentei para ativar e desativar primeira pessoa na arma através de comando: function zoomarma (thePlayer) setWeaponProperty ( 30 , "poor" , "flag_aim_1st_person" , true ) setWeaponProperty ( 30 , "std" , "flag_aim_1st_person" , true ) setWeaponProperty ( 30 , "pro" , "flag_aim_1st_person" , true ) end addCommandHandeler ("m1", zoomarma ) esse addCommandHandeler não funciona de jeito nenhum
  18. Hello my friends I want the player near the car to use the CMD when the car breaks down(exploded) and the car to be repaired( respawnVehicle() ) Please help me in this matter?
  19. How i can make a inventory system !:)
  20. Hello guys I recently had ideas for setting up a server in MTA. I heard a bit about lua and its characteristics. I wanted to know what programming languages are needed to set up a game server in MTA and manage it from beginner to professional. thank you.?
  21. Olá pessoal tenho aqui um script de Trancar veiculo porem se eu sair do veiculo e deixar ele trancado e entrar noutro veiculo e trancar ficam os dois trancados e tenho acesso para destrancar os dois, mas todos os player tambem tenhem ou seja eles podem destrancar os veiculos que eu tranquei alguem pode ajudar? Client Side function processLockUnlock(vehicle) local locked = isVehicleLocked(vehicle) if isPedInVehicle(localPlayer) then if locked then playSounds("lockin") triggerServerEvent("vehicleLock", localPlayer,localPlayer, vehicle, false) else playSounds("lockin") triggerServerEvent("vehicleLock", localPlayer,localPlayer, vehicle, true) end else if locked then playSounds("lockout") triggerServerEvent("vehicleLock", localPlayer,localPlayer, vehicle, false) setVehicleOverrideLights ( vehicle, 2 ) setTimer ( setVehicleOverrideLights, 1000, 1, vehicle, 1 ) outputChatBox ( "\n#ff8c00✘ #ffffffINFO #ff8c00✘➺ #ffffffVeiculo Destrancado!\n", 255, 165, 0, true ) else playSounds("lockout") triggerServerEvent("vehicleLock", localPlayer,localPlayer, vehicle, true) setVehicleOverrideLights ( vehicle, 2 ) setTimer ( setVehicleOverrideLights, 1000, 1, vehicle, 1 ) setTimer ( setVehicleOverrideLights, 1500, 1, vehicle, 2 ) setTimer ( setVehicleOverrideLights, 2000, 1, vehicle, 1 ) outputChatBox ( "\n#ff8c00✘ #ffffffINFO #ff8c00✘➺ #ffffffVeiculo Trancado!\n", 255, 165, 0, true ) end end end local klikkTimer = false function setVehicleLockState() --Função trancar o carro if klikkTimer then return end if isTimer(klikkTimerRun) then return end klikkTimer = true klikkTimerRun = setTimer(function() klikkTimer = false end,500,1) local vehicle = getPedOccupiedVehicle ( localPlayer ) if vehicle then processLockUnlock(vehicle) else local int2 = getElementInterior(localPlayer) local dim2 = getElementDimension(localPlayer) local mx,my,mz = getElementPosition(localPlayer) for k,v in ipairs(getElementsByType("vehicle")) do local x,y,z = getElementPosition(v) local int = getElementInterior(v) local dim = getElementDimension(v) local dist = getDistanceBetweenPoints3D(x,y,z,mx,my,mz) if dist <= 10 and int2 == int and dim2 == dim then processLockUnlock(v) return end end end end bindKey("l", "down", setVehicleLockState)
  22. function cancel(source) local emprego = getElementData(source, "Emprego") if emprego == "Carnicero" then if isKeyBound(source, "fire", "down", cortarCarne) then hits[source] = nil tick[source] = nil removeEventHandler("onElementClicked", caixa[source], onClick) removeEventHandler("onPlayerQuit", source, reset) removeEventHandler("onPlayerWasted", source, reset) if isElement(carne[source]) then destroyElement(carne[source]) carne[source] = nil end if isElement(caixa[source]) then destroyElement(caixa[source]) caixa[source] = nil end if isTimer(timerEsteira[source]) then killTimer(timerEsteira[source]) timerEsteira[source] = nil end if isTimer(timerEntregar[source]) then killTimer(timerEntregar[source]) timerEntregar[source] = nil end toggleAllControls(source, true) unbindKey(source, "fire", "down", cortarCarne) setPedAnimation(source, "CARRY", "liftup", 0.0, false, false, false, false) setElementVisibleTo(empacotar, source, false) setElementVisibleTo(entregar, source, false) end end end addCommandHandler("cancelar", cancel) Do you have any idea why I get this waring, and how to solve it? Thank you very much gentlemen WARNING: Bad argument @ 'removeEventHandler' [Expected element at argument 2, got nil]
  23. Olá, estou tentando por uma animaçao para andar, já tirei os movimentos das pernas, mas o ped só fica girando no eixo, nao anda
×
×
  • Create New...