There must be something else behind character overflows...

Xeropace

Adventurer
MSC Developer
MSU Developer
Joined
Aug 23, 2005
Messages
408
Reaction score
7
I currently have 74 items and have done for days. I've been above 60 for months and above 70 for the past week. Yet I have never had to ask for a rollback from overflows. Then there are some people who overflow on 70, or 65, and Picadilly seems to overflow on a much smaller number.

All I can think of is either character name or steam ID. Oh and inb4someone tells me to lose some items whilst I still can.
 

Jelly

Adventurer
MSC Developer
RiP
Joined
Nov 25, 2005
Messages
1,909
Reaction score
15
Age
31
Location
You are here --> X
I thought the devs agreed that it was the size of the script names. Btw, about that, can't you just make the script names really short. Like, if the current script name for the rusty shortsword is rusty_short_sword.script (or however they look) then make it like r_s_s.script, or even rss.script? :roll:
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Yeah... Except you'd lose all your current inventory and wouldn't be able to load your chars anymore.

Renaming script names, not an option due to this.

As you've seen in other threads, lots of us have been at 75 items for months. Some of us used to be at 100. The variance is rather extreme, but it seems to do with the combination of script names.
 

Jelly

Adventurer
MSC Developer
RiP
Joined
Nov 25, 2005
Messages
1,909
Reaction score
15
Age
31
Location
You are here --> X
How about this: you copy all the current scripts and rename them so you have both the original and the new shorter ones. Then make a fix so that the next time a person goes ingame, his items will be switched with the exact same items except with shorter script names. Then after a month or two, remove the original script names. :roll:
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
There's no way to swap one item for another without a go-between NPC, such as with scrolls and their summoners. Doing this with all your items would cause so many edicts, you'd be lucky to get through half of them, and when you crashed, odds are your character wouldn't be saved, or would be corrupt.

Also, while I do not *think* there's an item limit, this would be a good way to find out there was one right quick. ;)
 

Xeropace

Adventurer
MSC Developer
MSU Developer
Joined
Aug 23, 2005
Messages
408
Reaction score
7
Well my combination of script names must be massive as I've got like one of everything, well did have.
 

PBarnum

New Adventurer
MSS Developer
MSC Developer
RiP
Joined
Jun 14, 2006
Messages
3,031
Reaction score
4
I am pretty sure I told MiB this a while ago and I am not too sure if it would work. But if you were to switch how the character file was written. Maybe to a binary file rather than what it is now, it would help with space?
 

Drigien

New Adventurer
Joined
Jan 12, 2007
Messages
103
Reaction score
0
Location
Canada
P|Barnum said:
I am pretty sure I told MiB this a while ago and I am not too sure if it would work. But if you were to switch how the character file was written. Maybe to a binary file rather than what it is now, it would help with space?
strings in 'binary form' are the exact same, ie a bunch of bytes together. So it wouldn't save any space, if they converted things such as exp, hp, mp, etc to binary (assuming they're not now) then they might save some space. But it's probably not enough to make it worth while.

But I don't see why you couldn't do a simple search and replace on the character files (outside of the game), to convert the script names.
ifstream in(old_char.file);
ofstream out(new_char.file);
while( !in.eof() )
{
in >> str ;
if( str == "old_script" )
str = "new_script"
else if( == "" )
...
...
...

out << str;
}

of course i dont know how the file is structured, but im sure it couldn't be too much harder than that. It would just be really annoying to rename all the scripts and the scripts that use the old scripts, etc.
 

evilsquirrel

New Adventurer
MSC Developer
RiP
Joined
Jan 2, 2006
Messages
2,905
Reaction score
0
Age
35
Location
middle of nowhere
or just make copies of common items (strong health potions, arrows) and have those be the only ones avaliable from shops/chests/npc drops from now on... that'd save quite a bit of space without any messing with character files.
 

Slaytanic_pb

New Adventurer
The True Followers of the Lost
Joined
Feb 1, 2007
Messages
139
Reaction score
0
Location
Taipei
Sounds like if you wanted to re-write script names, you'd have to be able to re-write all the characters in the game to match the new script names. To do that a program would have to be made to do the conversion for you. Sounds as difficult as the "character trainer" I've suggested before for rebuilding characters that may have corruption issues. But on the plus side, if this could be put together, then it could serve 2 purposes, rebuilding and conversion.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Well my combination of script names must be massive as I've got like one of everything, well did have.
Probably the safest way to go. It's multiple copies of the same long script name that get ya.

But I don't see why you couldn't do a simple search and replace on the character files (outside of the game), to convert the script names.
We can't edit characters outside the game. The encryption is too good. ;)

It might be possible to do that dynamically in-game, from the code side, but there's 192 items. It'd slow the game considerablty when your character loaded, or whenever you picked up an item.



I think only real solution here is for Shurik3n to manage to get the darn thing to load script names in one at a time, rather than in 4k token blocks. That'll slow character load too, of course, but it would eliminate the problem altogether.
 

PBarnum

New Adventurer
MSS Developer
MSC Developer
RiP
Joined
Jun 14, 2006
Messages
3,031
Reaction score
4
Would that be a long load every time or just a one time deal?
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Assuming he adds the system onto some sort of entity as a think process, I figure 0.1 seconds per item. So if you have 75 items, it'd add 7.5 seconds to load time, every time, but the server wouldn't lag during that time.
 

Drigien

New Adventurer
Joined
Jan 12, 2007
Messages
103
Reaction score
0
Location
Canada
Thothie said:
We can't edit characters outside the game. The encryption is too good. ;)

Hmm. I thought that the server [FN] was coded by someone on the MS team, and as such that you would have access to the en/decryption library(s). It sounds like the server en/decrypts the character data and sends them (unencrypted?) to the game servers, if this is so, would it be possible to create a 'fake server' program to connect to FN and load the characters and apply the changes through that?

I know that these ideas would at best just prevent overflow only for a few more items and doesn't help fix the problem, just trying to help. If I knew more about how it works then I could offer more solutions.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Well, we have the encryption process, but no one on the current team has managed to make a program that unencrypts characters outside of the game.

See also: Yonder thread regarding this.
 
Top