|
||
|
|||||||
| Serialization This forum is for modifications to the serialization code of RunUO |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#27 (permalink) | |
|
Forum Novice
|
Third line of the first post
Quote:
And if you do not know the difference between a Core Modification, and a Script Release, then perhaps you shouldnt be looking in this side of the forum. |
|
|
|
|
|
|
#28 (permalink) |
|
Forum Novice
Join Date: Dec 2003
Location: South-Africa
Age: 19
Posts: 165
|
Whoops, a crash!
Code:
Exception: System.NullReferenceException: Object reference not set to an instance of an object. at Server.SectorEnumerator.Instantiate(Map map, Rectangle2D bounds, SectorEnumeratorType type) at Server.TypedEnumerator.Reset() at Server.TypedEnumerator.Instantiate(Map map, Rectangle2D bounds, SectorEnumeratorType type) at Server.Map.GetClientsInRange(Point3D p) at Server.Mobile.SetLocation(Point3D newLocation, Boolean isTeleport) at Server.Mobiles.BaseCreature.SetLocation(Point3D newLocation, Boolean isTeleport) at Server.Mobile.Move(Direction d) at Server.Mobiles.BaseCreature.Move(Direction d) at Server.Mobiles.IdleTimer.OnTick() at Server.Timer.Slice() at Server.Core.Main(String[] args)
__________________
|
|
|
|
|
|
#29 (permalink) |
|
Forum Novice
|
Interesting result, however I do beleive that your issue is another script colliding with the saves.
In saying that, this save is still not stable, and is not a deep-copy, therefore quite useless, as there will be times where the data saved is out of sync. I'll be re-working on this project in around 4-5 weeks time after I finish my degree off completely, stay tuned. |
|
|
|
|
|
#30 (permalink) |
|
Forum Expert
Join Date: Sep 2004
Age: 37
Posts: 1,006
|
Interesting.
It's sure nice to see some folks testing and developing these kinds of systems. Even if nothing actually comes from it, everyone can still learn something from it. Anyway, the reason for posting. I haven't had an opportunity to test anything like this yet, but I've thought about it some. from what I see you saying, you've taken an approach of modifying the just the save System itself, which is good because it's low impact on everything else. However, Have you thought about implementing an interface to add to savable objects in order to help you accomplish the task? Granted, it'll be a huge ammount of work, as pretty much every base class would need to be modified. however, I think that in the end it will be the only good solution to the problems that you've been discussing. Now, keep in mind that I'm simply spitballing here... this is off the top of my head. I'd think that you would need something in each classes destructor method (in order to remove it from the save "database"), and an interface that each class would implement in order to serialize itself. basically the same thing as already exists... but different. humm. anyway, keep at it. And keep us updated on how it's going! good reading. ![]() |
|
|
|
|
|
#31 (permalink) |
|
Forum Novice
|
I have had more thoughts on how to get this working, and it would involve quite a large modification.
However I still have 3 weeks left of my Degree before I think of starting those things :P But I do intend on working on this again after those three weeks. I am adament I want background saving of some sort ![]() |
|
|
|
|
|
#33 (permalink) |
|
Forum Novice
|
Its not bad, and possibly might work if some more effort were put into it. Personally now I'd do it a different way.
If your looking at working on it, the only issue there was, is that the 4 arrays it saves arent synchronised, if you can sync them when you save (However you'd go about that), the problem is solved. |
|
|
|
|
|
#37 (permalink) |
|
Forum Novice
|
Not right now. It is on my list of things to do, but I have many other Core/Script related projects ahead of it for my personal server.
And to answer your question, it is still a shallow clone. It requires modification to become a deep save before it is "safe". As the shallow clone allows members to be modified during the clone (Meaning arrays will become out of sync, and members will become out of sync with eachother). I have recently been reading about Array Synchronisation and Thread Safety, so I may revisit this, sooner if I dig up information or have the sudden urge to work on it immediately again. (Sorry for the lack of response, this thread got burried and I stopped watching it) P.S. Just thinking ahead as well, I'd rather wait for RunUO 2.0 before I continue work on it at all. To make sure my work is current. |
|
|
|
|
|
#39 (permalink) | |
|
Forum Novice
Join Date: Sep 2004
Posts: 107
|
Quote:
|
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|