vector<StartLocation_st>& start = SrvParams->startLocation();
const vector<StartLocation_st>& start = SrvParams->startLocation();
void chardel (UOXSOCKET s) // Deletion of character{	int tlen;	unsigned int j,i;	if (acctno[s]!=-1)	{		j=0;		P_CHAR toDelete = NULL;		AllCharsIterator iterChars;		for (iterChars.Begin(); !iterChars.atEnd(); iterChars++)		{			P_CHAR pc = iterChars.GetData();			if ((pc->account==acctno[s] && !pc->free))			{				if (j == buffer[s][0x22]) 					toDelete = pc;				j++;			}		}		if (toDelete != NULL)		{			if (!SrvParams->checkCharAge())				Npcs->DeleteChar(toDelete);			else				if ((toDelete->creationday+7) < getPlatformDay())					Npcs->DeleteChar(toDelete);				else				{					unsigned char delete_error[2] = {0x85, 0x03};					Xsend(s, delete_error, 2);					return;				}		}		{			vector<StartLocation_st>& start = SrvParams->startLocation();			tlen=4+(5*60)+1+(start.size()*63);			login04a[1]=tlen>>8;			login04a[2]=tlen%256;			if (j>=1) login04a[3]=j--; else login04a[3]=0;			Xsend(s, login04a, 4);			j=0;			AllCharsIterator it;			for (it.Begin(); !it.atEnd(); ++it)			{				P_CHAR pc = it.GetData();				if ( pc->account == acctno[s] && !pc->free)				{					strcpy((char*)login04b, pc->name.c_str());					Xsend(s, login04b, 60);					j++;				}			}			memset(&login04b[0], 0, 60*sizeof(unsigned char));			for (i=j;i<5;i++)			{				Xsend(s, login04b, 60);			}			buffer[s][0] = start.size();			Xsend(s, buffer[s], 1);			for ( i = 0; i < start.size(); ++i )			{				login04d[0] = static_cast<unsigned char>(i);				strncpy( (char*)&login04d[1], start[i].name.latin1(), 30 );				strncpy( (char*)&login04d[32], start[i].name.latin1(), 30 );				login04d[31] = login04d[61] = 0;				Xsend(s, login04d, 63);			}		}	}}