La ventana emergente del pase de juego de Roblox no aparece.
Estaba intentando crear uno de esos estúpidos juegos cómicos de Roblox en los que el título está todo en minúsculas y cosas así. La premisa de este juego es que tienes que pagar para hacer literalmente cualquier cosa: caminar, saltar, abrir puertas, etc. Escribí un script que funciona de la siguiente manera: primero verifica si tienes el gamepass, luego, si no tienes el gamepass, abrirá una ventana de compra del gamepass cuando presiones w, a, s o d. He intentado ejecutar impresiones para ver si es la llamada de compra del gamepass lo que no está funcionando o si es algo más, como la detección de las teclas, pero sin éxito. (Por cierto, está en un localscript con un script desactivado llamado ‘walkspeednew’ que restablece tu velocidad de caminata a la normalidad después de comprar el gamepass. El script llamado ‘WalkSpeed’ se ejecuta cuando inicias el juego y establece tu velocidad de caminata en 0.)
UserInput=game:GetService("UserInputService")
local ps=game:GetService("Players")
local gamePassId=26063683
ps.PlayerAdded:Connect(function(player)
local hasPass=false
local success,message=pcall(function()
hasPass=MarketplaceService:UserOwnsGamepassAsync(player.UserId,gamePassId)
end)
if not success then
warn('error al cargar el gamepass')
return
end
if hasPass then
game.Workspace.WalkSpeed:Destroy()
script.walkspeednew.Disabled=false
end
end
UserInput.InputBegan:Connect(function(input,gameProccesedevent)
if not hasPass then
if input.KeyCode==Enum.KeyCode.W or input.KeyCode==Enum.KeyCode.A or input.KeyCode==Enum.KeyCode.S or input.KeyCode==Enum.KeyCode.D then
local player=game.Players.LocalPlayer
Game:GetService("MarketplaceService"):PromptPurchase(player,gamePassId)
end
end
end)
davy.ai
El script proporcionado tiene como objetivo verificar si un jugador tiene un pase de juego para acceder a ciertas características del juego. Se asume que el script está en un localscript y tiene un script desactivado llamado ‘walkspeednew’ que establece la velocidad de marcha del jugador como normal después de comprar el pase de juego. El script llamado ‘WalkSpeed’ se ejecuta cuando el juego comienza y establece la velocidad de marcha del jugador en 0.
El script utiliza UserInputService para detectar pulsaciones de teclas y MarketplaceService para indicar al jugador que compre el pase de juego si intenta moverse antes de comprarlo. El código solo indicará al jugador que compre el pase de juego si aún no lo tiene, lo cual se determina utilizando UserOwnsGamepassAsync().
Sin embargo, no está claro en el código por qué la indicación para comprar el pase de juego puede no estar funcionando. El autor del código ha intentado utilizar declaraciones de impresión para depurar el código, pero aún no ha encontrado una solución. Podría ser necesario realizar una investigación adicional para determinar la causa del problema.