What is a good way to handle dropping and picking up items

Options
So, Im trying to make a simple 4-player coop top-down shooter game.
I succesfuly played around with simple lobby GUI, connecting, instantiating a character models, runing, firing and so on..
What I want to make next is the inventory system with dropping and picking up items.
Actually, I want to display some model of dropped item, or model of character weapon (item can be equipped).

But I cant decide should I use "PhotonNetrwork.Instantiate" or write my own several RPC methods to send information about what item was dropped or instantiated after some event and so on. Im little curious how PhotonNetwork.Instantiare works inside - does it use some different method to send information with RPC and streams?
I think the way with my own methods that sends info about items ID is better than simple PN.instantiate, but maybe Im actually making a little different pn.instantiate? Also I dont like the idea that I will be attached to resources folder with PN method..It would be a horror with big amount of prefabs, but I could make some general models for loot.

Its a little funny, but know I think that I can understand why in mmo games its so rare to see some loot items outside of GUI :D

Comments

  • Tobias
    Options
    The PUN package comes with a Demo Pickup and Teams. Did you notice that?
    It implements concurrent pickup.

    This is not working for a vast world with hundreds or thousands of items, so it's not for MMOs.
  • Araxnid
    Options
    Oh! I found it! Didnt notice it before!

    Thanks for direction! It looks like from example that RPC is a nice way to do it, so...
  • Tobias
    Options
    RPCs are a good way, if you send them as "AllViaServer". Then the server will establish a sequence for the RPCs and that means you can execute one RPC and filter out the concurrent ones which clash.
    Hope it works out for you.