-
Posts
78 -
Registro em
-
Última visita
-
Dias Ganhos
12
Tipo de Conteúdo
Fóruns
Downloads
Loja Virtual
Galeria
Perfis
Serviços
Videos
Rifas
Tudo que renildomarcio postou
-
Visualizar Arquivos Física offroad realista O script Física Offroad Realista foi desenvolvido especialmente para servidores FiveM com o objetivo de transformar a experiência de condução em terrenos acidentados e desafiadores. Este script é ideal para quem busca uma simulação mais imersiva ao dirigir veículos offroad, replicando as condições de condução em estradas não pavimentadas, trilhas, montanhas e terrenos arenosos com uma física mais próxima da realidade. Funcionalidades: 1 Simulação de Terrenos Diversificados: O script ajusta o comportamento dos veículos dependendo do tipo de terreno, tornando a condução em areia, lama, neve e pedras mais realista. Cada superfície tem suas próprias propriedades físicas, fazendo com que o veículo responda de maneira diferente em relação à tração, velocidade e aderência. 2 Ajustes de Suspensão Dinâmica: O sistema modifica a suspensão dos veículos de acordo com a movimentação e o impacto das irregularidades do solo. Isso cria uma sensação de instabilidade em superfícies rochosas e saltos suaves em terrenos mais macios, proporcionando uma direção mais autêntica. 3 Tração e Aderência Reais: O script simula a perda de tração em terrenos escorregadios e uma maior resistência ao movimento em locais mais densos, como lama e neve. Isso obriga os motoristas a ajustar sua velocidade e controle para evitar derrapagens ou atolamentos, semelhante à física real de veículos offroad. 4 Desgaste do Veículo: Ao dirigir em terrenos difíceis por longos períodos, o script pode simular o desgaste gradual do veículo, resultando em danos no motor, suspensão ou pneus. Esta funcionalidade pode ser configurada para tornar a jogabilidade ainda mais desafiadora. 5 Modificações em Tempo Real: O script também permite ajustar as características do veículo em tempo real, possibilitando a modificação da suspensão, tração e pneus para se adaptar melhor ao terreno atual. Isso dá aos jogadores mais controle sobre a performance dos veículos offroad. 6 Suporte a Múltiplos Veículos: Compatível com uma ampla gama de veículos, o script ajusta a física conforme o tipo de veículo utilizado, seja um jipe, caminhonete ou qualquer outro modelo projetado para terrenos acidentados. Cada veículo recebe parâmetros físicos específicos que refletem seu peso, potência e suspensão. 7 Integração com Clima e Condições Ambientais: O comportamento dos veículos também é influenciado por condições climáticas, como chuva e nevoeiro. A aderência dos pneus será reduzida em pistas molhadas e o controle dos veículos ficará mais difícil, especialmente em declives ou curvas acentuadas. 8 Compatibilidade com outros scripts: O script Física Offroad Realista é altamente compatível com outros sistemas do servidor, como scripts de veículos personalizados, sistemas de meteorologia e mods de ambiente, garantindo uma integração suave sem conflitos. Benefícios: Imersão Total: Oferece uma experiência de condução muito mais envolvente e desafiadora para os jogadores que gostam de explorar áreas remotas ou participar de eventos de trilhas offroad. Customização Completa: Administradores podem ajustar as configurações do script para equilibrar a jogabilidade de acordo com o perfil do servidor, aumentando ou diminuindo o nível de realismo. Aprimoramento de Eventos Offroad: Excelente para servidores que realizam competições de rally ou eventos de aventura, proporcionando um nível de desafio adicional aos motoristas. Este script é perfeito para quem deseja adicionar um elemento de realismo e desafio à condução de veículos em terrenos adversos dentro do FiveM, trazendo mais profundidade e diversão para os jogadores. Autor renildomarcio Enviado 05/10/2024 Categoria FiveM Scripts & Sistemas Tipo STANDALONE (TODOS) Encriptado NÃO Créditos RenildoMarcio Exclusivo FivemDEV
-
Versão 5.0.0 Downloads 7 Tamanho 14.17 kBO script Física Offroad Realista foi desenvolvido especialmente para servidores FiveM com o objetivo de transformar a experiência de condução em terrenos acidentados e desafiadores. Este script é ideal para quem busca uma simulação mais imersiva ao dirigir veículos offroad, replicando as condições de condução em estradas não pavimentadas, trilhas, montanhas e terrenos arenosos com uma física mais próxima da realidade. Funcionalidades: 1 Simulação de Terrenos Diversificados: O script ajusta o comportamento dos veículos dependendo do tipo de terreno, tornando a condução em areia, lama, neve e pedras mais realista. Cada superfície tem suas próprias propriedades físicas, fazendo com que o veículo responda de maneira diferente em relação à tração, velocidade e aderência. 2 Ajustes de Suspensão Dinâmica: O sistema modifica a suspensão dos veículos de acordo com a movimentação e o impacto das irregularidades do solo. Isso cria uma sensação de instabilidade em superfícies rochosas e saltos suaves em terrenos mais macios, proporcionando uma direção mais autêntica. 3 Tração e Aderência Reais: O script simula a perda de tração em terrenos escorregadios e uma maior resistência ao movimento em locais mais densos, como lama e neve. Isso obriga os motoristas a ajustar sua velocidade e controle para evitar derrapagens ou atolamentos, semelhante à física real de veículos offroad. 4 Desgaste do Veículo: Ao dirigir em terrenos difíceis por longos períodos, o script pode simular o desgaste gradual do veículo, resultando em danos no motor, suspensão ou pneus. Esta funcionalidade pode ser configurada para tornar a jogabilidade ainda mais desafiadora. 5 Modificações em Tempo Real: O script também permite ajustar as características do veículo em tempo real, possibilitando a modificação da suspensão, tração e pneus para se adaptar melhor ao terreno atual. Isso dá aos jogadores mais controle sobre a performance dos veículos offroad. 6 Suporte a Múltiplos Veículos: Compatível com uma ampla gama de veículos, o script ajusta a física conforme o tipo de veículo utilizado, seja um jipe, caminhonete ou qualquer outro modelo projetado para terrenos acidentados. Cada veículo recebe parâmetros físicos específicos que refletem seu peso, potência e suspensão. 7 Integração com Clima e Condições Ambientais: O comportamento dos veículos também é influenciado por condições climáticas, como chuva e nevoeiro. A aderência dos pneus será reduzida em pistas molhadas e o controle dos veículos ficará mais difícil, especialmente em declives ou curvas acentuadas. 8 Compatibilidade com outros scripts: O script Física Offroad Realista é altamente compatível com outros sistemas do servidor, como scripts de veículos personalizados, sistemas de meteorologia e mods de ambiente, garantindo uma integração suave sem conflitos. Benefícios: Imersão Total: Oferece uma experiência de condução muito mais envolvente e desafiadora para os jogadores que gostam de explorar áreas remotas ou participar de eventos de trilhas offroad. Customização Completa: Administradores podem ajustar as configurações do script para equilibrar a jogabilidade de acordo com o perfil do servidor, aumentando ou diminuindo o nível de realismo. Aprimoramento de Eventos Offroad: Excelente para servidores que realizam competições de rally ou eventos de aventura, proporcionando um nível de desafio adicional aos motoristas. Este script é perfeito para quem deseja adicionar um elemento de realismo e desafio à condução de veículos em terrenos adversos dentro do FiveM, trazendo mais profundidade e diversão para os jogadores.
-
BASE/DUMPBase completa da LOTUS GROUP SERVEFILES/BASE HAVANArenildomarcio respondeu ao tópico de Hideki em Dumps & Bases
arquivos do servidor. Mods Completos do Server [Conteúdo oculto] -
BASE/DUMPBase completa da LOTUS GROUP SERVEFILES/BASE HAVANArenildomarcio respondeu ao tópico de Hideki em Dumps & Bases
Um script para esta base. 1. Criação da tabela no banco de dados Primeiro, crie a tabela no banco de dados MySQL para armazenar o tempo do VIP: CREATE TABLE vip_users ( user_id INT NOT NULL, group_name VARCHAR(50), expire_time BIGINT, PRIMARY KEY (user_id, group_name) ); 2. Arquivo vrp_fanho/server.lua Agora, aqui está o código do vrp_fanho, incluindo as funções para salvar o tempo de VIP, carregá-lo e aplicar o tempo quando necessário. -- vrp_fanho/server.lua -- Função para salvar o tempo do VIP no banco de dados function saveVipTime(user_id, group, time) -- Tempo atual em timestamp Unix local currentTime = os.time() -- Calcular o tempo de expiração local expireTime = currentTime + time -- Inserir ou atualizar o tempo de VIP no banco de dados MySQL.Async.execute('REPLACE INTO vip_users (user_id, group_name, expire_time) VALUES (@user_id, @group_name, @expire_time)', { ['@user_id'] = user_id, ['@group_name'] = group, ['@expire_time'] = expireTime }, function(affectedRows) if affectedRows > 0 then print("Tempo de VIP salvo com sucesso para o usuário: " .. user_id) end end) end -- Função para criar um comando temporário de grupo VIP function createCommand(command, user_id, group, time) if command == "ungroup" then -- Adicionar o grupo ao usuário vRP.addUserGroup(user_id, group) -- Salvar o tempo do VIP no banco de dados saveVipTime(user_id, group, time) -- Definir um tempo para remover o grupo SetTimeout(time * 1000, function() -- Verificar se o jogador ainda está online if vRP.getUserSource(user_id) then vRP.removeUserGroup(user_id, group) print("Grupo removido após " .. time .. " segundos.") end end) end end -- Função para carregar o tempo de VIP ao entrar no servidor function loadVipTime(user_id) -- Buscar o tempo de VIP no banco de dados MySQL.Async.fetchAll('SELECT * FROM vip_users WHERE user_id = @user_id', { ['@user_id'] = user_id }, function(rows) for i, row in ipairs(rows) do local currentTime = os.time() -- Verificar se o VIP ainda está ativo if row.expire_time > currentTime then -- Adicionar o jogador ao grupo VIP novamente vRP.addUserGroup(user_id, row.group_name) -- Definir o tempo restante para remover o grupo local timeRemaining = row.expire_time - currentTime SetTimeout(timeRemaining * 1000, function() if vRP.getUserSource(user_id) then vRP.removeUserGroup(user_id, row.group_name) end end) else -- Remover o VIP se já tiver expirado vRP.removeUserGroup(user_id, row.group_name) end end end) end -- Chamar a função ao jogador entrar no servidor AddEventHandler("vRP:playerSpawn", function(user_id, source, first_spawn) loadVipTime(user_id) end) -- Exportando a função createCommand exports('createCommand', createCommand) 3. Arquivo fxmanifest.lua No fxmanifest.lua do recurso vrp_fanho, certifique-se de exportar a função createCommand: -- fxmanifest.lua fx_version 'bodacious' game 'gta5' description 'vrp_fanho' server_scripts { 'server.lua' } -- Exportando a função exports { 'createCommand' } 4. Uso no havana_box Aqui está como o havana_box pode chamar essa função para salvar o tempo de VIP ao adicionar o jogador ao grupo: { crate_index = 4, -- ordem name = 'LENDARIA', icon = '[Conteúdo oculto]', iconOpened = '[Conteúdo oculto]', coins = 10000, itens = { { name = "rgbcar", type = 'OTHERS', -- ITEM/VEHICLE/OTHERS spawn = 'rbg', amount = 4, maxAmount = 4, rarity = 'EPIC', -- COMUM, SPECIAL, EPIC, LEGENDARY func = function(source, user_id, amount) if GetResourceState('vrp_fanho') ~= 'started' then return end vRP._addUserGroup(user_id, 'rgb') exports["vrp_fanho"]:createCommand("ungroup", user_id, 'rgb', amount * 86400) -- Salva e aplica o VIP por X dias end, }, } }, isto valer para outros codigos que estao no script. Explicação: Função saveVipTime: Esta função salva o tempo de expiração do VIP no banco de dados. Ela usa os.time() para calcular o timestamp de expiração e armazena o valor. Função createCommand: Ao adicionar um grupo de VIP ao jogador, a função também salva o tempo no banco de dados e define um temporizador para remover o grupo após o tempo acabar. Função loadVipTime: Esta função verifica o banco de dados quando o jogador entra no servidor para ver se ele tem algum VIP ativo. Se tiver, ele é adicionado de volta ao grupo e o tempo restante é monitorado. Persistência: Como o tempo de VIP é salvo no banco de dados, ele não será perdido em caso de reinício do servidor. Essa implementação garante que o VIP seja persistido no banco de dados e que o tempo seja devidamente restaurado sempre que o jogador entrar no servidor. -
APK do Fórum - Versão de Teste Disponível
renildomarcio postou um tópico no fórum em Assuntos gerais
Estamos lançando a versão de teste do APK do nosso fórum! Baixe agora e experimente todas as funcionalidades diretamente no seu dispositivo Android. Participe do teste, envie seu feedback e ajude-nos a melhorar ainda mais a experiência da comunidade. Observação: esta é uma versão de teste e pode conter bugs ou limitações. Prints: FiveMDEV_1_1.0.apk -
ele teria que esta na base do servidor pq com ele chama o evento quando o player esta no mapa. ser tive discord para vc mostra como esta fazendo seria muito bom 🙂
-
VRPEXCONTAGEM DE PLAYER FAKE PARA CIDADES INICIANTES /STATUS - FIVEMrenildomarcio respondeu ao tópico de Hideki em Tutoriais
Aqui está a versão melhorada do código com algumas otimizações e ajustes, mantendo a funcionalidade e clareza. Código Melhorado: -------------------------------------------------------------------------------- -- ______ _______ ________ __ __ _____ ________ __ -- | ____|_ _\ \ / / ____| \/ | __ \| ____\ \ / / -- | |__ | | \ \ / /| |__ | \ / | | | | |__ \ \ / / -- | __| | | \ \/ / | __| | |\/| | | | | __| \ \/ / -- | | _| |_ \ / | |____| | | | |__| | |____ \ / -- |_| |_____| \/ |______|_| |_|_____/|______| \/ -- FIVEMDEV.ORG A MAIOR COMUNIDADE PARA DESENVOLVEDORES DO BRASIL! -------------------------------------------------------------------------------- RegisterCommand('status', function(source, args, rawCommand) local user_id = vRP.getUserId(source) local onlinePlayers = GetNumPlayerIndices() -- Recupera os jogadores por permissão local policia = vRP.getUsersByPermission("policia.permissao") local paramedico = vRP.getUsersByPermission("paramedico.permissao") local staff = vRP.getUsersByPermission("suporte.permissao") local mecanico = vRP.getUsersByPermission("mecanico.permissao") local ilegal = vRP.getUsersByPermission("ilegal.permissao") -- Ajusta os valores conforme a soma de 300 para ilegal e total de jogadores local ilegalComSoma = #ilegal + 300 local totalComSoma = onlinePlayers + 300 -- Verifica a permissão para enviar a notificação -- if vRP.hasPermission(user_id, "suporte.permissao") then TriggerClientEvent("Notify", source, "importante", string.format( "<bold><b>Jogadores</b>: <b>%d</b><br>" .. "<b>Administração</b>: <b>%d</b><br>" .. "<b>Policiais</b>: <b>%d</b><br>" .. "<b>Paramédicos</b>: <b>%d</b><br>" .. "<b>Mecanicos</b>: <b>%d</b><br>" .. "<b>Ilegal</b>: <b>%d</b></bold>", totalComSoma, #staff, #policia, #paramedico, #mecanico, ilegalComSoma )) -- end end) Melhorias: Uso do string.format: Melhora a legibilidade e mantém o código mais limpo para formatar strings longas. Estrutura Simples e Clara: Mantive a lógica do cálculo, mas a estrutura está mais clara e direta, com o uso de variáveis mais explicativas. Preparação para Ativação de Permissões: A condição if vRP.hasPermission(user_id, "suporte.permissao") then está comentada, mas pronta para uso, caso precise reativar. Esse código mantém o mesmo comportamento do original, somando 300 ao número de jogadores "ilegais" e ao número total de jogadores, enquanto exibe as informações de status via notificação. -
Desenvolver uma cidade no FiveM exige planejamento cuidadoso e um investimento significativo de tempo e recursos. Além dos custos com correções de bugs, implementação e criação de sistemas, é importante considerar o tempo dedicado ao desenvolvimento, que pode levar até dois anos, dependendo da equipe e da disponibilidade. Também é essencial equilibrar os compromissos pessoais, como família e amigos, pois o processo de criação de uma cidade pode impactar diretamente sua vida social e familiar. Conhecimentos em programação, hospedagem e marketing são fundamentais para o sucesso do projeto.
-
FIVEM NATIVESNÃO COLOCAR/REMOVER CAPACETE AO SUBIR NA MOTO GTA RP FIVEMrenildomarcio respondeu ao tópico de Hideki em Tutoriais
Quero agradecer por compartilhar seu código neste tópico. Sua contribuição é muito apreciada e será de grande ajuda para a comunidade! Fiz um aqui tambem: local helmetEnabled = true -- Define se o capacete deve ser removido ou não local savedHelmet = nil local savedHelmetTexture = nil -- Função para gerenciar o capacete local function manageHelmet() local playerPed = PlayerPedId() if IsPedInAnyVehicle(playerPed, false) then local vehicle = GetVehiclePedIsIn(playerPed, false) local vehicleClass = GetVehicleClass(vehicle) if vehicleClass == 8 then -- Classe 8 corresponde a motos if helmetEnabled then savedHelmet = GetPedPropIndex(playerPed, 0) savedHelmetTexture = GetPedPropTextureIndex(playerPed, 0) ClearPedProp(playerPed, 0) -- Remove o capacete end end else -- Se o jogador não estiver em um veículo, remover o capacete if savedHelmet then SetPedPropIndex(playerPed, 0, savedHelmet, savedHelmetTexture, true) savedHelmet = nil -- Reseta a variável savedHelmetTexture = nil -- Reseta a variável end end end -- Thread para gerenciar o capacete continuamente Citizen.CreateThread(function() while true do Citizen.Wait(500) -- Ajuste o tempo de espera conforme necessário manageHelmet() end end) -- Comando para ativar/desativar manualmente o capacete RegisterCommand("helmet", function(source, args, rawCommand) if args[1] == "off" then helmetEnabled = false -- Desativa o capacete local playerPed = PlayerPedId() savedHelmet = GetPedPropIndex(playerPed, 0) savedHelmetTexture = GetPedPropTextureIndex(playerPed, 0) ClearPedProp(playerPed, 0) TriggerEvent('chatMessage', "Capacete removido com sucesso.") elseif args[1] == "on" then helmetEnabled = true -- Ativa o capacete local playerPed = PlayerPedId() if savedHelmet then SetPedPropIndex(playerPed, 0, savedHelmet, savedHelmetTexture, true) savedHelmet = nil savedHelmetTexture = nil end TriggerEvent('chatMessage', "Capacete reequipador com sucesso.") else TriggerEvent('chatMessage', "Uso: /helmet [on/off]") end end, false) -- false permite que todos executem o comando -
STANDALONEDELETAR LINHAS DE VRP_MULTAS AO AO PAGAR PELO SMARTPHONE GTA RP FIVEMrenildomarcio respondeu ao tópico de Hideki em Tutoriais
Quero agradecer por compartilhar seu código neste tópico. Sua contribuição é muito apreciada e será de grande ajuda para a comunidade! -
Aqui está uma versão melhorada do seu código para o comando /nc no FiveM, incluindo o tratamento de erros e melhorias na legibilidade e na lógica: SERVER-SIDE -- SERVER-SIDE RegisterCommand('nc', function(source, args, rawCommand) local user_id = vRP.getUserId(source) -- Verifica se o usuário tem permissão if vRP.hasPermission(user_id, "admin.permissao") then vRPclient.toggleNoclip(source) -- Ativa ou desativa o noclip TriggerClientEvent('efeitinhocruz', source) -- Aciona o efeito de partículas no cliente else TriggerClientEvent('chatMessage', source, "^1Você não tem permissão para usar este comando.") end end) CLIENT-SIDE --- CLIENT-SIDE RegisterNetEvent('efeitinhocruz') AddEventHandler('efeitinhocruz', function() local playerPed = GetPlayerPed(-1) local x, y, z = table.unpack(GetEntityCoords(playerPed)) local particleDictionary = "scr_rcbarry2" local particleName = "scr_clown_death" -- Solicita o dicionário de partículas RequestNamedPtfxAsset(particleDictionary) while not HasNamedPtfxAssetLoaded(particleDictionary) do Citizen.Wait(0) end -- Define o próximo efeito de partículas SetPtfxAssetNextCall(particleDictionary) local effect = StartParticleFxLoopedOnPedBone( particleName, playerPed, -- Utiliza o ped do jogador 0.0, 0.0, -0.6, -- Posição do efeito 0.0, 0.0, 20.0, -- Rotação do efeito GetPedBoneIndex(playerPed, 11816), -- Índice do osso onde o efeito será aplicado 2.0, false, false, false -- Parâmetros do efeito ) end) Melhorias Feitas: Verificação de Permissões: Adicionei uma mensagem que notifica o jogador se ele não tiver permissão para usar o comando. Claridade no Código: O código foi formatado para melhor legibilidade, com comentários explicativos que detalham cada parte do código. Uso de Variáveis Descritivas: Alterei v para playerPed no lado do cliente para tornar mais claro que a variável representa o personagem do jogador. Remoção de Variáveis Desnecessárias: Removi a variável particleName, que não estava sendo utilizada. Consistência nas Mensagens: As mensagens de erro e sucesso foram padronizadas e melhoradas para oferecer uma melhor experiência ao usuário. Essas melhorias tornam o código mais robusto, fácil de entender e manter. Sinta-se à vontade para personalizar conforme necessário!
-
voce fez isto: TriggerEvent("whitelist:open") -- evento para triggar para abrir a nui e fazer a verificacão
-
Aqui está uma versão melhorada do seu código para o comando /fps no FiveM. Fiz algumas melhorias, como validação de argumentos e mensagens de feedback mais informativas: ------------------------------------------------------------------------------------------------------------------------ --------[ COMANDO /FPS ON & OFF ]--------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------ RegisterCommand("fps", function(source, args) if not args[1] then exports['dopeNotify2']:Alert("ERRO", "Uso incorreto. Use: /fps [on/off].", 5000, 'error') return end local command = string.lower(args[1]) -- Converte a entrada para minúsculas para simplificar as comparações if command == "on" then SetTimecycleModifier("cinema") exports['dopeNotify2']:Alert("SUCESSO", "<span style='color:#c7c7c7'> Boost de fps <span style='color:#069a19'><b> LIGADO! </b></span>", 5000, 'success') elseif command == "off" then SetTimecycleModifier("default") exports['dopeNotify2']:Alert("SUCESSO", "<span style='color:#c7c7c7'> Boost de fps <span style='color:#069a19'><b> DESLIGADO! </b></span>", 5000, 'success') else exports['dopeNotify2']:Alert("ERRO", "Comando desconhecido. Use: /fps [on/off].", 5000, 'error') end end) Melhorias Feitas: Validação de Argumentos: Adicionei uma verificação inicial para garantir que um argumento foi passado. Caso contrário, uma mensagem de erro é exibida. Conversão para Minúsculas: Usei string.lower para simplificar a comparação, eliminando a necessidade de verificar tanto "on" quanto "OFF". Isso torna o código mais limpo e fácil de manter. Mensagem de Erro para Comandos Desconhecidos: Adicionei um tratamento para casos em que o usuário passa um argumento que não é "on" ou "off", exibindo uma mensagem de erro apropriada. Consistência nas Mensagens: As mensagens de sucesso e erro agora são consistentes e informativas, ajudando o usuário a entender o que está acontecendo. Essas mudanças tornam o comando mais robusto e amigável ao usuário, melhorando a experiência geral. Sinta-se à vontade para ajustar conforme necessário!
-
vrpexSCRIPT/ COMANDO PARA RESETAR O PERSONAGEM NO FIVEMrenildomarcio respondeu ao tópico de Hideki em FiveM Scripts
Melhorando o codigo 🙂 --- RESET RegisterCommand('resetar', function(source, args, rawCommand) local user_id = vRP.getUserId(source) -- Verifica se o usuário está autenticado if not user_id then TriggerClientEvent("Notify", source, "erro", "Você precisa estar logado para usar este comando.", 5000) return end -- Verifica permissões if not vRP.hasPermission(user_id, "admin.permissao") then TriggerClientEvent("Notify", source, "erro", "Você não tem permissão para usar este comando.", 5000) return end -- Verifica se o ID do jogador foi passado if not args[1] then TriggerClientEvent("Notify", source, "erro", "Uso incorreto. Use: /resetar [ID do jogador].", 5000) return end local target_id = parseInt(args[1]) local nplayer = vRP.getUserSource(target_id) -- Verifica se o jogador existe if not nplayer then TriggerClientEvent("Notify", source, "erro", "Jogador não encontrado com o ID: " .. vRP.format(target_id) .. ".", 5000) return end local id = vRP.getUserId(nplayer) if id then vRP.setUData(id, "vRP:spawnController", json.encode(1)) -- Notifica o usuário sobre o reset TriggerClientEvent("Notify", source, "sucesso", "Você <b>resetou</b> o personagem do passaporte <b>" .. vRP.format(target_id) .. "</b>.", 5000) -- Desconecta o jogador resetado DropPlayer(nplayer, "Você foi resetado e removido da cidade.") else TriggerClientEvent("Notify", source, "erro", "Erro ao tentar resetar o jogador. Tente novamente.", 5000) end end) Melhorias Feitas: Verificação de Login: Adicionei uma verificação inicial para garantir que o usuário esteja logado antes de prosseguir. Mensagens de Erro Mais Informativas: Agora, as mensagens de erro informam ao usuário se ele não está logado, se não tem permissão, se não passou um ID válido ou se o jogador não foi encontrado. Verificação da Existência do Jogador: O código agora verifica se o jogador existe antes de tentar resetá-lo, o que evita possíveis erros. Formatação e Clareza: O código foi formatado para facilitar a leitura e a manutenção futura. Essas mudanças ajudam a tornar o comando mais robusto e a melhorar a experiência do usuário ao lidar com erros. Sinta-se à vontade para personalizar as mensagens conforme necessário! -
Script para pegar o ip de alguém - FIVEM
renildomarcio respondeu ao tópico de Hideki em FiveM Scripts
Uma melhoria no codigo 🙂 RegisterCommand('pegarip', function(source, args, rawCommand) local user_id = vRP.getUserId(source) -- Verifica se o usuário tem permissão if not vRP.hasPermission(user_id, "admin.permissao") then TriggerClientEvent('chatMessage', source, "^1Você não tem permissão para usar este comando.") return end -- Verifica se o argumento está presente if not args[1] then TriggerClientEvent('chatMessage', source, "^1Uso incorreto. Use: /pegarip [ID do usuário].") return end local target_id = parseInt(args[1]) local tplayer = vRP.getUserSource(target_id) -- Verifica se o jogador existe if tplayer then local player_ip = GetPlayerEndpoint(tplayer) TriggerClientEvent('chatMessage', source, "^2IP do Usuário: " .. player_ip) else TriggerClientEvent('chatMessage', source, "^1Usuário não encontrado.") end end) -
Volkswagen ID4 [Add-On] Características do carro: Velocímetro personalizado. Vidro quebrável. Interior detalhado. Espelhos refletivos. Todas as luzes funcionam. Volante funcional. Carroçaria pintável. Mãos no volante. A pasta idx vai para: gtav/mods/update/x64/dlcpacks Editar dlclist.xml mods/update/update.rpf/common/data Adicionar a linha <Item>dlcpacks:/idx/</Item> à dlclist e salvar, depois sair. SPAZ: idx Volkswagen ID4.rar
-
FIVEMComo Criar um Launcher de FiveM com Limpeza de Cache e Logs Usando Electron e Bootstraprenildomarcio postou um tópico no fórum em Tutoriais
Neste tutorial, vou mostrar como criar um launcher básico para o FiveM usando Electron e Bootstrap. O launcher inclui as seguintes funcionalidades: Conectar automaticamente ao servidor FiveM com um clique. Limpar o cache e os logs do FiveM. Exibir informações do servidor, como o número de jogadores online. Este projeto é ideal para quem quer simplificar o acesso ao servidor de FiveM e manter o cache e logs do cliente sempre limpos. Requisitos: Node.js (versão 14 ou superior) Conhecimento básico em JavaScript, Node.js e HTML/CSS Passo a Passo: 1. Estrutura do Projeto Crie a seguinte estrutura de diretórios: / ├── node_modules/ ├── main.js ├── preload.js ├── renderer.js ├── index.html ├── styles.css └── package.json 2. Arquivo package.json No diretório raiz, crie o arquivo package.json com o seguinte conteúdo: { "name": "fivem-launcher", "version": "1.0.0", "description": "Launcher de FiveM com limpeza de cache/logs e exibição de informações do servidor", "main": "main.js", "scripts": { "start": "electron ." }, "author": "Renildo Marcio", "license": "MIT", "dependencies": { "axios": "^1.4.0", "electron": "^25.0.1" } } 3. Arquivo main.js Esse arquivo é o coração da aplicação Electron. Ele gerencia a janela principal e executa as ações, como limpar o cache e conectar ao servidor. const { app, BrowserWindow, ipcMain } = require('electron'); const { exec } = require('child_process'); const path = require('path'); const fs = require('fs'); const os = require('os'); const axios = require('axios'); let win; function createWindow() { win = new BrowserWindow({ width: 800, height: 600, webPreferences: { preload: path.join(__dirname, 'preload.js'), nodeIntegration: true, contextIsolation: false } }); win.loadFile('index.html'); } // Função para limpar logs e cache do FiveM ipcMain.handle('clear-cache', async () => { const userHome = os.homedir(); const fivemPath = path.join(userHome, 'AppData', 'Local', 'FiveM'); const logDir = path.join(fivemPath, 'logs'); const cacheDir = path.join(fivemPath, 'data', 'cache'); try { if (fs.existsSync(logDir)) { fs.rmSync(logDir, { recursive: true, force: true }); } if (fs.existsSync(cacheDir)) { fs.rmSync(cacheDir, { recursive: true, force: true }); } return { success: true }; } catch (error) { return { success: false, message: error.message }; } }); // Função para conectar no servidor automaticamente ipcMain.handle('connect-server', async () => { const serverIp = 'IP_DO_SEU_SERVIDOR_AQUI'; exec(`start fivem://connect/${serverIp}`, (error) => { if (error) { console.error(`Erro ao tentar conectar no servidor: ${error}`); } }); }); // Função para obter informações do servidor ipcMain.handle('get-server-info', async () => { const serverIp = 'IP_DO_SEU_SERVIDOR_AQUI'; const serverPort = 'PORTA_DO_SERVIDOR'; try { const playersResponse = await axios.get(`[Conteúdo oculto]`); const serverInfoResponse = await axios.get(`[Conteúdo oculto]`); const players = playersResponse.data; const serverInfo = serverInfoResponse.data; return { success: true, playersCount: players.length, maxPlayers: serverInfo.vars.sv_maxClients, serverName: serverInfo.vars.sv_projectName, serverTagline: serverInfo.vars.sv_projectDesc, players: players }; } catch (error) { return { success: false, message: error.message }; } }); app.whenReady().then(() => { createWindow(); app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) createWindow(); }); }); app.on('window-all-closed', () => { if (process.platform !== 'darwin') app.quit(); }); 4. Arquivo preload.js O preload.js expõe as funções do backend para serem usadas no frontend. const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('electronAPI', { clearCache: () => ipcRenderer.invoke('clear-cache'), connectServer: () => ipcRenderer.invoke('connect-server'), getServerInfo: () => ipcRenderer.invoke('get-server-info') }); 5. Arquivo renderer.js Este arquivo controla a lógica do frontend, permitindo que o usuário se conecte ao servidor, limpe o cache e veja as informações do servidor. document.getElementById('connect-btn').addEventListener('click', () => { window.electronAPI.connectServer(); document.getElementById('feedback').innerText = `Conectando ao servidor...`; }); document.getElementById('clear-cache-btn').addEventListener('click', async () => { const result = await window.electronAPI.clearCache(); if (result.success) { document.getElementById('feedback').innerText = 'Cache e logs limpos com sucesso!'; } else { document.getElementById('feedback').innerText = `Erro ao limpar cache e logs: ${result.message}`; } }); document.getElementById('server-info-btn').addEventListener('click', async () => { const result = await window.electronAPI.getServerInfo(); if (result.success) { document.getElementById('feedback').innerHTML = ` <p>Nome do Servidor: ${result.serverName}</p> <p>Descrição: ${result.serverTagline}</p> <p>Jogadores Online: ${result.playersCount}/${result.maxPlayers}</p> `; const playersList = result.players.map(player => `<li>${player.name}</li>`).join(''); document.getElementById('players-list').innerHTML = `<ul>${playersList}</ul>`; } else { document.getElementById('feedback').innerText = `Erro ao obter informações do servidor: ${result.message}`; } }); 6. Arquivo index.html A interface do launcher é simples e utiliza Bootstrap para estilização. <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>FiveM Launcher</title> <link href="[Conteúdo oculto]" rel="stylesheet"> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="container mt-5"> <h1 class="text-center">FiveM Launcher</h1> <div class="text-center"> <button class="btn btn-primary" id="connect-btn">Conectar ao Servidor</button> <button class="btn btn-danger" id="clear-cache-btn">Limpar Cache & Logs</button> <button class="btn btn-info" id="server-info-btn">Mostrar Informações do Servidor</button> </div> <div id="feedback" class="mt-4 text-center"></div> <div id="players-list" class="mt-4"></div> </div> <script src="renderer.js"></script> </body> </html> 7. Arquivo styles.css (opcional) Você pode adicionar alguns estilos básicos para melhorar a aparência do launcher. body { background-color: #f8f9fa; } h1 { margin-bottom: 30px; } button { margin: 10px; } Conclusão: Agora você tem um launcher funcional para FiveM que conecta ao servidor automaticamente, limpa os arquivos de cache e logs, e exibe informações importantes do servidor, como o número de jogadores online. Você pode personalizá-lo e integrá-lo ao seu servidor conforme necessário. Se tiver dúvidas ou sugestões, deixe seu comentário no fórum! Créditos Tutorial criado por Renildo Marcio- 2 respostas
-
- HTML
- JAVASCRIPT
-
(e 1 mais)
Tags:
-
Limpador de Cache do FiveM usando Electron e Bootstrap, que limpa as pastas de cache, logs, e crashes do FiveM. Estrutura do Projeto limpador-fivem/ ├── index.html ├── main.js ├── package.json ├── preload.js └── renderer.js 1. package.json Este arquivo define as dependências e o ponto de entrada do aplicativo: { "name": "limpador-fivem", "version": "1.0.0", "description": "Limpador de cache do FiveM", "main": "main.js", "scripts": { "start": "electron ." }, "dependencies": { "electron": "^26.0.0" } } 2. main.js Aqui está o código para o arquivo principal, que cria a janela do Electron e lida com a remoção das pastas de cache, logs, e crashes. const { app, BrowserWindow, ipcMain } = require('electron'); const path = require('path'); const fs = require('fs'); const os = require('os'); // Caminho principal para a pasta do FiveM const fivemPath = path.join(os.homedir(), 'AppData', 'Local', 'FiveM', 'FiveM.app', 'data'); // Subpastas que precisam ser limpas (cache, logs, crashes) const foldersToClean = ['cache', 'logs', 'crashes']; function createWindow() { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { preload: path.join(__dirname, 'preload.js'), nodeIntegration: true, contextIsolation: false, } }); win.loadFile('index.html'); } app.whenReady().then(() => { createWindow(); app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow(); } }); }); app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit(); } }); ipcMain.handle('clear-cache', () => { let message = 'Cache, logs e crashes limpos com sucesso!'; try { // Limpa todas as subpastas relevantes foldersToClean.forEach(folder => { const folderPath = path.join(fivemPath, folder); if (fs.existsSync(folderPath)) { fs.rmSync(folderPath, { recursive: true, force: true }); } }); } catch (error) { message = `Erro ao limpar pastas: ${error.message}`; } return message; }); 3. preload.js Esse arquivo expõe a função de limpeza ao frontend usando a API do Electron. const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('electronAPI', { clearCache: () => ipcRenderer.invoke('clear-cache') }); 4. index.html Este é o arquivo HTML que utiliza Bootstrap para fornecer uma interface simples com um botão para limpar o cache. <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Limpador de Cache FiveM</title> <link href="[Conteúdo oculto]" rel="stylesheet"> </head> <body> <div class="container mt-5"> <h1 class="text-center">Limpador de Cache do FiveM</h1> <div class="text-center mt-4"> <button id="clearCacheBtn" class="btn btn-danger">Limpar Cache</button> </div> <div id="statusMessage" class="text-center mt-3"></div> </div> <script src="renderer.js"></script> </body> </html> 5. renderer.js Este arquivo JavaScript lida com o clique no botão e atualiza a interface com o status da limpeza. const clearCacheBtn = document.getElementById('clearCacheBtn'); const statusMessage = document.getElementById('statusMessage'); clearCacheBtn.addEventListener('click', async () => { const message = await window.electronAPI.clearCache(); statusMessage.innerText = message; }); Como Executar o Projeto No diretório do projeto, instale as dependências: npm install Execute o aplicativo com: npm start Resultado Quando o usuário clicar no botão "Limpar Cache", o aplicativo vai remover as pastas de cache, logs e crashes do FiveM. O status da operação será mostrado abaixo do botão, indicando se a limpeza foi bem-sucedida ou se ocorreu algum erro.
-
Bem-vindo ao Launcher Mod! Este launcher foi projetado para facilitar o acesso e o gerenciamento de mods e DLCs para seus jogos favoritos. Funcionalidades Sistema de Login e Cadastro Faça login ou crie uma conta para acessar todas as funcionalidades do launcher. Downloads de Mods e DLCs Navegue e baixe uma ampla variedade de mods e DLCs para seus jogos. Mantenha seus jogos sempre atualizados e aproveite novas experiências! Lista de Servidores Visualize servidores disponíveis e entre neles com um simples clique. Conecte-se rapidamente e jogue com seus amigos ou com a comunidade! Como Usar Download: Baixe o launcher em launchermod/release. Instalação: Siga as instruções de instalação. Cadastro: Crie sua conta ou faça login. Navegue: Explore os mods e DLCs disponíveis. Conecte-se: Clique nos links dos servidores para entrar em jogos. Contribuição Contribuições são bem-vindas! Se você deseja ajudar a melhorar o Launcher Mod, sinta-se à vontade para enviar um pull request ou abrir uma issue. Contato Para dúvidas ou sugestões, entre em contato: Email: [email protected] Aproveite o seu tempo jogando e explore novos mundos com o Launcher Mod! PRTSCRS OBS: ele pode ser modificado para qualquer outro jogo etc 🙂
-
Renildo Marcio Idade: 42 anos Experiência: Mais de 10 anos como programador de sistemas Sobre Mim Sou um programador com vasta experiência em desenvolvimento de sistemas, especializado na criação de scripts e soluções para servidores FiveM. Ao longo dos anos, adquiri habilidades em diversas áreas da programação, incluindo a criação de scripts personalizados, otimização de servidores, e desenvolvimento de funcionalidades completas para diferentes tipos de servidores. Habilidades Programação em linguagens como Lua, JavaScript, PHP, e HTML/CSS. Desenvolvimento de scripts e plugins personalizados para FiveM. Gerenciamento e otimização de servidores de jogos. Integração de APIs e sistemas externos. Criação de sistemas de pagamento, inventário, e outros módulos para servidores FiveM. Manutenção de servidores e suporte técnico. Experiência Profissional NexaRP Cloud Função: Programador e Desenvolvedor Full Stack Período: 2022 a 2023 Desenvolvimento de scripts exclusivos para servidores FiveM. Implementação de sistemas de banco de dados para gerenciamento de jogadores. Criação de sistemas de inventário, missões, e integrações externas. Principais Projetos Servidor RP Criação de um sistema completo de missões para um servidor RP, com recompensas dinâmicas e integração com o inventário dos jogadores. Sistema de Pagamento PIX para Servidores FiveM Integração da API Mercado Pago para facilitar pagamentos via PIX dentro de servidores de roleplay. WP Discord Post Plus Plugin Plugin WordPress que envia notificações para Discord quando novas postagens são publicadas. Contato E-mail: [email protected]
- ESX
- QBCore
- HTML
- Javascript
- CSS
- PHP
- Banco de dados
- Design
-
NOME: RENILDO MARCIO IDADE: 42 TEMPO DE RP: 9 ANOS E 8 MESES TEMPO DISPONIVEL POR DIA EM HORAS: DE 6 ATE 8 HORAS QUAL VAGA VOCÊ ESTÁ SE CANDIDATANDO: QUALQUER VAGA. OBS: SOU PROGRAMADOR, DESIGN. ESPERO RESPOSTA 🙂
-
Daria para criar assim tbm. -- Configuração de conexão direta ao banco de dados local dbConfig = { host = "ip_do_banco_remoto", -- IP do banco de dados remoto user = "usuario_remoto", -- Usuário do banco de dados password = "senha_remota", -- Senha do banco de dados database = "nome_do_banco" -- Nome do banco de dados } -- Função para obter o IP da máquina PerformHttpRequest('[Conteúdo oculto]', function(errorCode, resultData, resultHeaders) if errorCode == 200 then local ipAtual = tostring(resultData) -- Conexão com o banco de dados MySQL MySQL.Async.fetchScalar('SELECT ip FROM ips_autorizados WHERE ip = @ip', { ['@ip'] = ipAtual }, function(result) if result then print("IP autorizado") else print("IP não autorizado") print("Servidor Desligando...") Wait(10000) -- Espera 10 segundos os.execute("taskkill /f /im FXServer.exe") -- Fecha o servidor end end) else print("Erro ao obter o IP da máquina") end end) Banco de dados CREATE TABLE ips_autorizados ( id INT AUTO_INCREMENT PRIMARY KEY, ip VARCHAR(45) NOT NULL );
-
nice