Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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
0
Question by talk_show_host · Jun 29, 2011 at 03:49 PM · bugfindnetworkviewnot found

NetworkView.Find problem, Unity bug?

Hello,

I have been battling with this error for some time now and I really can't find the source of its problem.

I am creating a multi player game where the server keeps track of all players and their health. I have some functions that go through all the players, stored in a hashtable, which take or add energy to them.

The problem is so strange that in one function I go through the hashtable without any error and remove their energy. When I use the exact same code on a different function to add energy I always get this error:


View ID AllocatedID: 1 not found during lookup. Strange behaviour may occur UnityEngine.NetworkView:Find(NetworkViewID) PlayerStats:SetPlayersEnergy(Int32) (at Assets/Scripts/Player/PlayerStats.cs:514)


For the sake of it, I will share the two functions here and maybe you can help me with it!

This RemoveDailyEnergy is working properly

public void RemoveDailyEnergy() {

     Debug.Log("RemoveDailyEnergy");
     if (Network.isServer)
     {
         NetworkViewID[] tmpPlayers = new NetworkViewID[players.Count];
         
         players.Keys.CopyTo(tmpPlayers, 0);

         foreach (NetworkViewID player in tmpPlayers)
         {
             Debug.Log("Remove energy: " + player);
             NetworkView tmp = NetworkView.Find(player);

             if ((int)players[player] <= dailyEnergyModifier)
             {


                 tmp.RPC("KillPlayer", RPCMode.AllBuffered, player);

                 players.Remove(player);
                 teams.Remove(player);
                 usernames.Remove(player);
             }
             else
             { //remove energy from player

                 players[player] = (int)players[player] - dailyEnergyModifier;
 

                 if (tmp.isMine)
                     tmp.gameObject.GetComponent<PlayerHarvestWater>().RemoveEnergy(player, (int)players[player], false);
                 else
                     tmp.RPC("RemoveEnergy", player.owner, player, (int)players[player], false);
             }



         }

     }

 }


This one isn't:

public void SetPlayersEnergy(int newEnergy) { if (Network.isServer) {

         initialEnergy = newEnergy;

         NetworkViewID[] tmpPlayers = new NetworkViewID[players.Count];

         players.Keys.CopyTo(tmpPlayers, 0);

         foreach (NetworkViewID player in tmpPlayers)
         {
             Debug.Log("Set energy: " + player);
             try
             {
                 NetworkView tmp = NetworkView.Find(player);


                 players[player] = newEnergy;

                 if (tmp.isMine)
                     tmp.gameObject.GetComponent<PlayerHarvestWater>().AddEnergy(player, (int)players[player]);
                 else
                     tmp.RPC("AddEnergy", player.owner, player, (int)players[player]);

             }
             catch (System.Exception e)
             {
                 Debug.Log(e.StackTrace);
             }

         }


     }

 }


The error happens on this line:

NetworkView tmp = NetworkView.Find(player);

Any help will be really appreciated!!! Thanks (Sorry the formatting, this is going nuts :S)

Comment
Add comment
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

1 Reply

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

Answer by talk_show_host · Jul 06, 2011 at 12:16 AM

Ok, somehow got a work around.

So I guess RPC should work on disabled objects but with this case it wasn't working. I was disabling the player object with the RPC script to access a menu and edit stuff, and when the NetworkView.Find was searching for that ID it just crashed.

At least it should be possible to catch the exception, which wasn't working either. Maybe this part is Unity's fault?

Basically, just made a check before Find to see if it was my ID and ignore the find.

Cheers!

Comment
Add comment · 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

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

2 People are following this question.

avatar image avatar image

Related Questions

View ID AllocatedID: # not found during lookup. Strange behaviour may occur 1 Answer

View ID SceneID: X Level Prefix: Y not found during lookup. Strange behaviour may occur 0 Answers

Weird network spawning bug. 1 Answer

Anyone run into this before? White line in middle of screen. 1 Answer

My dialogue system has a strange bug 0 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