Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by Razputin · Jun 05, 2014 at 06:20 PM · variablerandomcallseed

How to call a user input variable in another script.

I'm trying to have the user put in a number to represent the seed for the level. However I can't seem to call the variable the user put in, what am I doing wrong here?

Heres the script with the user string in it.

 public class SeedNumberScript : MonoBehaviour {
     public string PlayersSeed= "Enter A Seed Number";
     void OnGUI() {
          stringToEdit = GUI.TextField(new Rect(10, 10, 200, 20), stringToEdit, 25);
 
         if(GUI.Button(new Rect(10,400,1200,100), "Enter The World"))
         {
                 
                 Application.LoadLevel("NewIdeas&Tests");
             }
         }
     }


Heres the script that generates the world using their seed.

 void Start () {
         GameObject Seeder = GameObject.Find("Seeder");
         SeedNumberScript seednumber = Seeder.GetComponent<SeedNumberScript>();
         seednumber.PlayersSeed == Random.seed;
 
 
         for(int z = 0; z < GameHeight; z++)
             {
                 for(int x = 0 ; x < GameWidth; x++)
                 {
                     float rnd = Random.value;
                     if(rnd <0.25f)
                     {
                         Instantiate(TileOne, new Vector3(x,0,z), Quaternion.identity);
                     }
                     else if(rnd <0.5f)
                     {
                         Instantiate(TileTwo, new Vector3(x,0,z), Quaternion.identity);
                     }
                     else
                     {
                         Instantiate(TileThree, new Vector3(x,0,z), Quaternion.identity);
                     }
                 }
             }
         }
     }
 
 
Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image eshonbel · Jun 05, 2014 at 06:36 PM 0
Share

I gave you free likes.

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by eshonbel · Jun 05, 2014 at 06:34 PM

 public class SeedNumberScript : MonoBehaviour {
     public static string PlayersSeed= "Enter A Seed Number";
     void OnGUI() {
         stringToEdit = GUI.TextField(new Rect(10, 10, 200, 20), stringToEdit, 25);
  
        if(GUI.Button(new Rect(10,400,1200,100), "Enter The World"))
        {
  
           Application.LoadLevel("NewIdeas&Tests");
          }
        }
     }

Your other script: void Start () { GameObject Seeder = GameObject.Find("Seeder"); /* You don't need this: SeedNumberScript seednumber = Seeder.GetComponent();

 *\
        //Put whatever your script is called, e.g Seed
 //so i'll assume it's called Seed
 Seed.PlayersSeed == Random.seed;
  
  
        for(int z = 0; z < GameHeight; z++)
          {
           for(int x = 0 ; x < GameWidth; x++)
           {
               float rnd = Random.value;
               if(rnd <0.25f)
               {
                  Instantiate(TileOne, new Vector3(x,0,z), Quaternion.identity);
               }
               else if(rnd <0.5f)
               {
                  Instantiate(TileTwo, new Vector3(x,0,z), Quaternion.identity);
               }
               else
               {
                  Instantiate(TileThree, new Vector3(x,0,z), Quaternion.identity);
               }
           }
          }
        }
     }

So by making it a static variable, you can access it from other scripts by going [thevar'sscriptname].[yourvariable] //and do whatever you want with it.

example: //Script 1 public static int myInt = int;

 //script 2
 
 function Start()
 {
 Script1.myInt = 10;
 }

if it helps make it an answer, thank you

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Razputin · Jun 05, 2014 at 06:40 PM 0
Share

I keep getting an error on SeedNumberScript.PlayersSeed == Random.seed;

Only assignment, call, increment, decrement, and new object expressions can be used as a statement

avatar image eshonbel · Jun 07, 2014 at 08:43 AM 0
Share

Oh, I accidentally used Javascript in Script 2. Script 2 (new) //script 2

 void Start()
 {
 Script1.myInt = 10;
 }

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

22 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

GLSL: Get current time in millis 1 Answer

Calling a Function from other script ( C# ) 1 Answer

Building a 3D Neural Network for Bot AI? 1 Answer

Get variable from another object 1 Answer

How to call Variable across scripts. 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges