Welp, after the discussions the other day about sockets and Jeremy's revelation that there is still problems, i did some testing. Here is one HUGE problem at the moment for all who havent discovered it. As Jeremy said, a player can be on multiple times (but only up until the menu stage). What this means is that characters with the same name can be created simultaneously. This means that (and i've checked) this name exists twice in the pfile. They continue to exist simultaneously oblivious of each other until both have left the gme, and then, whichever was created second (ie. after the class selection normally) becomes the "only one", and hence one is lost. (this is not 100% correct, the first can be saved if the second was self deleted b4 quitting the menu, ie. after quitting for the first time, the player was delete, and i nthis case the other character is reverted to the first character created). (note that although the players have the same name they DONT have the same IDNUM! and hence the close_socket operation to close all sockets of a char with the same id (to prevent duping) doesnt close both sockets). To avoid this sort of conflict I thought ("thought" == not done), to put a quick check in if a character is "new" to check all the names of all connected sockets for the same name. if it exists then just say "already exists" and close the socket. But, as Jeremy said, he has done a total rewrite of this portion of code to handle duping etc. What I would like to ask is that Jeremy either post sections of the new code that handles all this appropriately, or just post the interpret.c and comm.c and let us coders snatch the right bits and do our own rewrites (especially for those of us who dont intend to upgrade the mud to the new bpl9 when it comes out). And even if you wont post it here, maybe stickit in the ftp site or something. this would be greatly appreciated by the masses I'm sure. :) Thanks. Greg.
This archive was generated by hypermail 2b30 : 12/07/00 PST