SyncUpdate return true is the sync object from Net_ID which you are given when you join. Every connected Client have a unique Net_ID. Each Client may have any number of sync objects. To get a specific sync-object you check the Net_ID and then the Local_ID. A sync objects could be anything. A Ped, a Car, A Door, A Tree. If it moves it's data is packed into a "send this next update list". At the next update all syncobjects which have new and relevant data are sent, as one big packet. It's probably hard to get it without an real example. But all in all it is easier than building your own system. As everyone will need to modyfy small stuff of the imported module file so it's fits into their game, such as ApplyUpdate( X, Y ,Z , Pitch, Yaw, Roll ...) if your doing it in 3D.
The idea is that each object in your game have to know if it is remote or local. A remote object is updated with received packets at SyncUpdate( NetID , LocalID ), local objects are sent in updates at UpdateSyncObject( X,Y,Z.. ). This is controlled when you create the object. So check NewSyncObject() to get a remote object from another client or CreateSyncObject() to create a local one. Each sync object has a local ID and a Client_ID.
Did I answer your question?
The idea is that each object in your game have to know if it is remote or local. A remote object is updated with received packets at SyncUpdate( NetID , LocalID ), local objects are sent in updates at UpdateSyncObject( X,Y,Z.. ). This is controlled when you create the object. So check NewSyncObject() to get a remote object from another client or CreateSyncObject() to create a local one. Each sync object has a local ID and a Client_ID.
Did I answer your question?