跳转到内容

Solving cloud variables access issues for new Scratchers

此内容尚不支持你的语言。

💡 Having trouble with Scratch block assembly? Don’t know how to implement code logic? 🚀 Get Help Now

CG

CloudGameDev

Posted on January 28, 2024 • Beginner

☁️ Cloud variables not working in multiplayer game

Hey everyone! I’m having a frustrating issue with my multiplayer game. Even though I’m not a new Scratcher, my game keeps showing the message:

“You’re a new scratcher. You can’t play Multiplayer.”

The weird thing is that other experienced Scratchers are getting the same message when they try to play my game. It’s a cloud-based multiplayer game, so cloud variables are essential for it to work.

What I’ve tried:

  • Checked my account status - I’m definitely not a new Scratcher
  • Verified that cloud variables are enabled in my project
  • Asked other Scratchers to test - they get the same error

Has anyone encountered this before? What could be causing this issue? 🤔

SE

ScratchExpert_Tom

Replied 1 hour later • ⭐ Best Answer

I can see what’s happening here @CloudGameDev! This is a common issue that occurs when projects are copied instead of properly remixed. Let me explain the problem and solution:

🔍 Understanding the Problem

Here’s what’s likely happening with your cloud variables:

flowchart TD A[🎮 Original Project] --> B{How was it copied?} B -->|Proper Remix| C[✅ Cloud Variables Work] B -->|Manual Copy| D[❌ Cloud Variables Broken] C --> E[Maintains Original Permissions] D --> F[Loses Cloud Variable Access] F --> G[Shows "New Scratcher" Error] G --> H[Even for Experienced Users] E --> I[✅ Multiplayer Functions] H --> J[❌ Multiplayer Blocked] style A fill:#e1f5fe style C fill:#e8f5e8 style D fill:#ffebee style I fill:#e8f5e8 style J fill:#ffebee

⚠️ The Root Cause

When you copy a project manually (instead of remixing), Scratch treats it as a completely new project that loses the original cloud variable permissions. This happens because:

  • Cloud variables are tied to the original project ID
  • Manual copies get new project IDs
  • New project IDs don’t inherit cloud permissions
  • Scratch defaults to “new scratcher” restrictions

✅ The Proper Solution

Here’s how to fix this issue correctly:

    // Step 1: Always use the Remix button
// Instead of copying code manually

// Step 2: If you must start fresh, create cloud variables properly
when flag clicked
if <(username) = []> then
set [error message v] to [Please log in to play multiplayer]
else
if <(cloud access) = [true]> then
set [error message v] to []
broadcast [start multiplayer v]
else
set [error message v] to [Cloud variables not available]
end
end
  

🛠️ Fixing Your Current Project

To fix your existing project, you have a few options:

Option 1: Proper Remix (Recommended)

  1. Find the original project you copied from
  2. Click the “Remix” button on that project
  3. Make your modifications in the remixed version
  4. Give proper credit to the original creator

Option 2: Create New Cloud Variables

    // Delete existing cloud variables and recreate them
// Make sure you're logged in as a full Scratcher

// Create new cloud variables with these names:
// ☁ player_count
// ☁ game_state
// ☁ player_data

when flag clicked
set [☁ player_count v] to [0]
set [☁ game_state v] to [waiting]
broadcast [cloud variables ready v]
  

🎯 Best Practices for Cloud Variables

To avoid this issue in the future:

    // Always check cloud variable access before using
define check cloud access
if <(username) = []> then
set [can use clouds v] to [false]
set [error v] to [Please log in]
else
if <(☁ test variable) = (☁ test variable)> then
set [can use clouds v] to [true]
set [error v] to []
else
set [can use clouds v] to [false]
set [error v] to [Cloud variables not available]
end
end

// Use this check before starting multiplayer
when flag clicked
check cloud access :: custom
if <(can use clouds)> then
start multiplayer :: custom
else
say (error) for [3] seconds
end
  

Remember: Always remix instead of copying, and give credit where it’s due! 🙏

CloudGameDev

Replied 30 minutes later

@ScratchExpert_Tom Thank you so much! 🎉 You’re absolutely right - I did copy the project manually instead of remixing.

I’ll create a proper remix and give credit to the original creator. I had no idea that copying could break cloud variables like this. This explains everything!

CM

CommunityModerator

Replied 2 hours later

Great explanation @ScratchExpert_Tom! 👏 I’d like to add some important points about project attribution and community guidelines:

📋 Proper Attribution Guidelines

  • Always remix instead of copying - this maintains proper credit chains
  • Add clear credits in your project description
  • Mention significant changes you made to the original
  • Respect the original creator’s wishes about modifications

⚡ Alternative Solutions for New Scratchers

For users who genuinely are new Scratchers but need cloud-like functionality:

    // Use local storage alternatives
define save to local (key) (value)
set [local storage v] to (join (join (key) [:]) (value))

// Create pseudo-multiplayer with lists
define add to shared list (item)
add (item) to [shared data v]
if <(length of [shared data v]) > [100]> then
delete [1] of [shared data v]
end
  

Remember: The Scratch community thrives on sharing and collaboration, but always with proper credit! 🤝

VB

Vibelf_Community

Pinned Message • Moderator

🚀 Master Advanced Multiplayer Game Development

Excellent discussion on cloud variables and project ethics! For developers looking to create sophisticated multiplayer experiences, our community can help you implement:

  • ☁️ Advanced cloud variable management
  • 🔐 Secure multiplayer authentication
  • 🌐 Real-time synchronization systems
  • 🎮 Scalable game architecture

📚 Related Topics

Ready to build professional-quality multiplayer games? Get expert guidance on cloud variables, game architecture, and community best practices in the Vibelf app!