Of course.
That’s why I had the important strings compacted into separate strings.
Instead of a levelnames, I had it “xxxx,yyyy,l(layer)”, that’s also why I had it record account names, instead of nicknames (nicknames would generally be longer).
The map system will probably break with 30~50 players. (As opposed to 10~ players)
Nalin’s system uses about the same prevention methods and notably, his would encounter the same errors.
You could have the GServer chop up the strings. Have it print out something like
server.string0=length,account,name,ap,x,y,level,account,name,ap,x,y,level,account,name,ap,x,y,level,…
server.string1=account,name,ap,x,y,level,account,name,ap,x,y,level,account,name,ap,x,y,level,…
Have the client search server.string indexes from 0 to length/223.
Question then, would you have strings attempt to append together on the client (“acco” + “unt” = “account”).
Or to complicate things further by tokenizing each part so each “player” partition remains unviolated.
The client itself has a maximum length. For variable arrays, its 4096. (Which makes sense actually. 4096 tiles in the tileset and 4096 tiles on a level.)
I don’t specifically know the maximum length for strings (on clientside) though. Would be nice if we found the magical packet though.
Too bad the packets didn’t have a bit for “appending”.
stringname,0,trim(0,223,string) - start
stringname,1,trim(223,223,string) - append to ‘stringname’
Hey Nalin, any odd looking “bits” in the packet formula we might be over looking? D:…