Games IA ChatGPT 3 visualizacoes

Teleporte Cross-Place com Persistência Segura de Dados

roblox luau lua teleportservice datastore seguranca multiplayer backend
ESCOPO

Este prompt cria um sistema avançado de teleporte entre places da mesma experiência Roblox, com preservação segura de dados como moedas, inventário, progresso, equipe e estado de sessão. Ele orienta a IA a integrar o código à arquitetura já existente do seu jogo, sem assumir nomes fixos de pastas, remotes ou módulos.

O resultado solicitado é um Script Luau de servidor pronto para colar no Roblox Studio, com persistência via DataStoreService, metadados temporários via TeleportData e validações contra tentativas de exploração. Também inclui tratamento de falhas, limites de requisição, recuperação no place de destino e um roteiro prático de testes em ambiente publicado.

É indicado para desenvolvedores que possuem experiências com lobby, mapas, dungeons, partidas, mundos separados ou qualquer fluxo que mova jogadores entre múltiplos places dentro do mesmo universe Roblox.

Conteudo
Prompt principal
Atue como um desenvolvedor Roblox Luau sênior, especializado em arquitetura multiplayer, DataStoreService e TeleportService. Crie um sistema de teleporte entre places da mesma experiência Roblox que preserve dados do jogador de modo confiável, seguro e compatível com produção. Antes de gerar o código, use o contexto técnico que fornecerei abaixo como fonte de verdade.

Meu contexto do jogo (preencherei ou ajustarei antes de enviar):
- PlaceId de destino: [COLE_O_PLACE_ID_DE_DESTINO]
- Nome/local do RemoteEvent usado para pedir teleporte, se já existir: [EX.: ReplicatedStorage.Remotes.RequestTeleport]
- Nome/local de RemoteEvent para feedback visual ao cliente, se já existir: [OPCIONAL]
- Sistema atual de dados: [EX.: ModuleScript ServerScriptService.Services.PlayerDataService / DataStore próprio / leaderstats / nenhum]
- Funções já existentes para ler e salvar dados: [EX.: GetProfile(player), SaveProfile(player), LoadProfile(player)]
- Estrutura dos dados a preservar: [EX.: Coins, Gems, Inventory, Level, QuestProgress, SelectedClass]
- Regras de acesso ao teleporte: [EX.: somente ao tocar em um portal; requer nível 10; todos podem usar]
- Objetos relevantes no Explorer e seus caminhos: [COLE AQUI]
- Há vários destinos? [SIM/NÃO; descreva IDs, nomes e regras]
- Comportamento desejado no destino: [EX.: spawnar em SpawnLocation chamado DungeonSpawn]

Gere UM Script de servidor completo em Luau, pronto para colar em ServerScriptService, com um nome sugerido como CrossPlaceTeleportService.server.lua. Caso meu contexto já possua um módulo central de dados, integre-se a ele por meio de uma camada adaptadora claramente identificada no início do script, sem duplicar DataStore nem substituir silenciosamente o sistema existente. Caso não exista sistema de dados, implemente uma persistência mínima com DataStoreService, usando uma chave baseada em UserId e um schema de dados serializável.

O script deve implementar estes requisitos técnicos:
1. Executar exclusivamente no servidor. O cliente pode apenas solicitar uma intenção de teleporte por RemoteEvent; o servidor deve validar player, destino permitido, estado da partida, cooldown, requisitos e proximidade/condição de acesso quando aplicável. Nunca aceite do cliente moedas, inventário, dano, permissões, PlaceId arbitrário ou dados a salvar.
2. Usar TeleportService:TeleportAsync() no servidor e TeleportOptions:SetTeleportData() para transportar apenas metadados mínimos, como versão do snapshot, requestId aleatório, destino lógico e timestamp. Não envie inventário completo ou dados sensíveis no TeleportData. Explique em comentários que TeleportData não substitui persistência no DataStore.
3. Antes do teleporte, obter um snapshot limpo dos dados no servidor, validar seus tipos, remover valores não serializáveis (Instances, funções, userdata e referências cíclicas), e salvá-lo de forma atômica com DataStoreService:UpdateAsync(). Inclua retries com backoff limitado para falhas transitórias, pcall e mensagens de diagnóstico via warn(). Não faça loops infinitos nem exceda limites de DataStore.
4. Salvar campos de controle no registro, incluindo schemaVersion, updatedAt, saveVersion e um identificador de transação/requestId. No place de destino, usar Player:GetJoinData() para ler TeleportData, validar rigorosamente tipo, timestamp, requestId e PlaceId/origem esperados. Em seguida, carregar os dados persistidos pelo UserId no DataStore ou pelo adaptador de dados existente; o DataStore deve ser a fonte de verdade, e TeleportData apenas serve para correlação e fluxo.
5. Proteger contra duplicação ou regressão de dados causada por tentativas repetidas, falha de teleporte ou chegada duplicada. Use saveVersion/requestId de modo documentado, nunca sobrescreva um registro mais novo com snapshot antigo e deixe claro nos comentários quais garantias são possíveis e quais dependem do serviço de dados já existente.
6. Tratar TeleportService.TeleportInitFailed, falhas de save e jogador saindo durante o processo. Implemente um bloqueio por jogador para impedir múltiplos teletransportes concorrentes, cooldown configurável, limpeza de conexões e restauração do estado caso o teleporte não seja iniciado. Não teleporte se o save obrigatório falhar.
7. Se houver RemoteEvent no contexto, conecte-o com OnServerEvent e aplique rate limit por jogador. Se não houver, deixe uma função pública/local bem documentada, como RequestTeleport(player, destinationKey), e mostre exatamente como outro Script de servidor deve chamá-la. Não crie LocalScript como solução principal.
8. Use task.wait, task.spawn e APIs modernas quando apropriado; evite APIs depreciadas. Inclua configurações concentradas no topo do arquivo, comentários explicativos em português e validação defensiva de todos os retornos de serviços Roblox.

Entregue primeiro uma breve lista de premissas adotadas e possíveis pontos que devo ajustar conforme o contexto enviado. Depois forneça o código INTEGRAL em um único bloco markdown identificado como ```lua. Não omita trechos com frases como "restante do código", "implemente aqui" ou pseudocódigo. Se uma integração depender de função inexistente no meu contexto, crie uma interface adaptadora funcional e marque apenas os pontos de mapeamento com comentários claros.

Após o código, escreva instruções objetivas para instalação no Explorer, configuração do PlaceId e RemoteEvent, permissões de API Services/DataStore no Roblox Studio, publicação dos dois places no mesmo universe, e um plano de testes. Inclua testes de sucesso, falha de DataStore, spam de RemoteEvent, teleporte duplicado, saída do jogador durante save e validação da recuperação dos dados no place de destino. Mantenha toda a resposta em português do Brasil.

Conteudo completo

Cabecalho, escopo, prompt principal, modulos, agentes

Visao completa do projeto

Teleporte Cross-Place com Persistência Segura de Dados

# www.prompthubai.com.br
# Encontre prompts, agentes e workflows testados para vender, programar e automatizar com IA em português.

# Teleporte Cross-Place com Persistência Segura de Dados

## Cabecalho
- Tipo: Conteudo
- Categoria: Games
- Modulos: 0
- Agentes: 0

## Escopo
Este prompt cria um sistema avançado de teleporte entre places da mesma experiência Roblox, com preservação segura de dados como moedas, inventário, progresso, equipe e estado de sessão. Ele orienta a IA a integrar o código à arquitetura já existente do seu jogo, sem assumir nomes fixos de pastas, remotes ou módulos.

O resultado solicitado é um Script Luau de servidor pronto para colar no Roblox Studio, com persistência via DataStoreService, metadados temporários via TeleportData e validações contra tentativas de exploração. Também inclui tratamento de falhas, limites de requisição, recuperação no place de destino e um roteiro prático de testes em ambiente publicado.

É indicado para desenvolvedores que possuem experiências com lobby, mapas, dungeons, partidas, mundos separados ou qualquer fluxo que mova jogadores entre múltiplos places dentro do mesmo universe Roblox.

## Prompt Principal
Atue como um desenvolvedor Roblox Luau sênior, especializado em arquitetura multiplayer, DataStoreService e TeleportService. Crie um sistema de teleporte entre places da mesma experiência Roblox que preserve dados do jogador de modo confiável, seguro e compatível com produção. Antes de gerar o código, use o contexto técnico que fornecerei abaixo como fonte de verdade.

Meu contexto do jogo (preencherei ou ajustarei antes de enviar):
- PlaceId de destino: [COLE_O_PLACE_ID_DE_DESTINO]
- Nome/local do RemoteEvent usado para pedir teleporte, se já existir: [EX.: ReplicatedStorage.Remotes.RequestTeleport]
- Nome/local de RemoteEvent para feedback visual ao cliente, se já existir: [OPCIONAL]
- Sistema atual de dados: [EX.: ModuleScript ServerScriptService.Services.PlayerDataService / DataStore próprio / leaderstats / nenhum]
- Funções já existentes para ler e salvar dados: [EX.: GetProfile(player), SaveProfile(player), LoadProfile(player)]
- Estrutura dos dados a preservar: [EX.: Coins, Gems, Inventory, Level, QuestProgress, SelectedClass]
- Regras de acesso ao teleporte: [EX.: somente ao tocar em um portal; requer nível 10; todos podem usar]
- Objetos relevantes no Explorer e seus caminhos: [COLE AQUI]
- Há vários destinos? [SIM/NÃO; descreva IDs, nomes e regras]
- Comportamento desejado no destino: [EX.: spawnar em SpawnLocation chamado DungeonSpawn]

Gere UM Script de servidor completo em Luau, pronto para colar em ServerScriptService, com um nome sugerido como CrossPlaceTeleportService.server.lua. Caso meu contexto já possua um módulo central de dados, integre-se a ele por meio de uma camada adaptadora claramente identificada no início do script, sem duplicar DataStore nem substituir silenciosamente o sistema existente. Caso não exista sistema de dados, implemente uma persistência mínima com DataStoreService, usando uma chave baseada em UserId e um schema de dados serializável.

O script deve implementar estes requisitos técnicos:
1. Executar exclusivamente no servidor. O cliente pode apenas solicitar uma intenção de teleporte por RemoteEvent; o servidor deve validar player, destino permitido, estado da partida, cooldown, requisitos e proximidade/condição de acesso quando aplicável. Nunca aceite do cliente moedas, inventário, dano, permissões, PlaceId arbitrário ou dados a salvar.
2. Usar TeleportService:TeleportAsync() no servidor e TeleportOptions:SetTeleportData() para transportar apenas metadados mínimos, como versão do snapshot, requestId aleatório, destino lógico e timestamp. Não envie inventário completo ou dados sensíveis no TeleportData. Explique em comentários que TeleportData não substitui persistência no DataStore.
3. Antes do teleporte, obter um snapshot limpo dos dados no servidor, validar seus tipos, remover valores não serializáveis (Instances, funções, userdata e referências cíclicas), e salvá-lo de forma atômica com DataStoreService:UpdateAsync(). Inclua retries com backoff limitado para falhas transitórias, pcall e mensagens de diagnóstico via warn(). Não faça loops infinitos nem exceda limites de DataStore.
4. Salvar campos de controle no registro, incluindo schemaVersion, updatedAt, saveVersion e um identificador de transação/requestId. No place de destino, usar Player:GetJoinData() para ler TeleportData, validar rigorosamente tipo, timestamp, requestId e PlaceId/origem esperados. Em seguida, carregar os dados persistidos pelo UserId no DataStore ou pelo adaptador de dados existente; o DataStore deve ser a fonte de verdade, e TeleportData apenas serve para correlação e fluxo.
5. Proteger contra duplicação ou regressão de dados causada por tentativas repetidas, falha de teleporte ou chegada duplicada. Use saveVersion/requestId de modo documentado, nunca sobrescreva um registro mais novo com snapshot antigo e deixe claro nos comentários quais garantias são possíveis e quais dependem do serviço de dados já existente.
6. Tratar TeleportService.TeleportInitFailed, falhas de save e jogador saindo durante o processo. Implemente um bloqueio por jogador para impedir múltiplos teletransportes concorrentes, cooldown configurável, limpeza de conexões e restauração do estado caso o teleporte não seja iniciado. Não teleporte se o save obrigatório falhar.
7. Se houver RemoteEvent no contexto, conecte-o com OnServerEvent e aplique rate limit por jogador. Se não houver, deixe uma função pública/local bem documentada, como RequestTeleport(player, destinationKey), e mostre exatamente como outro Script de servidor deve chamá-la. Não crie LocalScript como solução principal.
8. Use task.wait, task.spawn e APIs modernas quando apropriado; evite APIs depreciadas. Inclua configurações concentradas no topo do arquivo, comentários explicativos em português e validação defensiva de todos os retornos de serviços Roblox.

Entregue primeiro uma breve lista de premissas adotadas e possíveis pontos que devo ajustar conforme o contexto enviado. Depois forneça o código INTEGRAL em um único bloco markdown identificado como ```lua. Não omita trechos com frases como "restante do código", "implemente aqui" ou pseudocódigo. Se uma integração depender de função inexistente no meu contexto, crie uma interface adaptadora funcional e marque apenas os pontos de mapeamento com comentários claros.

Após o código, escreva instruções objetivas para instalação no Explorer, configuração do PlaceId e RemoteEvent, permissões de API Services/DataStore no Roblox Studio, publicação dos dois places no mesmo universe, e um plano de testes. Inclua testes de sucesso, falha de DataStore, spam de RemoteEvent, teleporte duplicado, saída do jogador durante save e validação da recuperação dos dados no place de destino. Mantenha toda a resposta em português do Brasil.

Todos os modulos

0 modulos deste projeto

Todos os agentes

0 agentes deste projeto

Prompts Relacionados

Combate Melee Seguro com Hitbox, Animação e Cooldown
Games ChatGPT
Prompt operacional Ideal para Builders e SaaS

Combate Melee Seguro com Hitbox, Animação e Cooldown

MVP, fluxo de produto e interface

Prompt avançado para gerar um sistema de combate corpo a corpo Roblox com hitbox via OverlapParams, dano validado no ser…

Economia: 1 sprint de base Entrega: prompt + estrutura Pronto para adaptar
Combate à Distância Server-Authoritative com Raycasting
Games ChatGPT
Prompt operacional Ideal para Times que querem aplicar IA

Combate à Distância Server-Authoritative com Raycasting

Entrega mais rápida com contexto real

Gere um Script Luau avançado para armas à distância com projéteis simulados no servidor, raycasting contínuo, dano valid…

Economia: menos tentativa e erro Entrega: prompt + contexto Pronto para adaptar
Sistema de Vida, Escudo e Feedback de Dano Roblox
Games ChatGPT
Prompt operacional Ideal para Times que querem aplicar IA

Sistema de Vida, Escudo e Feedback de Dano Roblox

Entrega mais rápida com contexto real

Prompt avançado para gerar um sistema Luau seguro de vida, regeneração, escudo absorvente e efeitos visuais de dano, com…

Economia: menos tentativa e erro Entrega: prompt + contexto Pronto para adaptar
Habilidade Roblox com Mana, Cooldown e Segurança Server-Side
Games ChatGPT
Prompt operacional Ideal para Times que querem aplicar IA

Habilidade Roblox com Mana, Cooldown e Segurança Server-Side

Entrega mais rápida com contexto real

Prompt avançado para gerar uma habilidade especial em Luau com ativação no cliente, validação autoritativa no servidor, …

Economia: menos tentativa e erro Entrega: prompt + contexto Pronto para adaptar