for (ci=0;ci<contsp[serhash].max;ci++)
vecContainer.clear(); vecContainer = contsp.getData(serial); for (ci=0;ci<vecContainer.size();ci++)
void dotrade(int cont1, int cont2){	int p1, p2, bp1, bp2, s1, s2, i;	int serial,serhash,ci;	p1=calcCharFromSer(items[cont1].contserial);	if(p1<0) return;	p2=calcCharFromSer(items[cont2].contserial);	if(p2<0) return;	if(items[cont1].morez==0 || items[cont2].morez==0)	{//not checked - give items to previous owners - AntiChrist		int t;		t=p1;		p1=p2;		p2=t;	}	bp1=packitem(p1);	if(bp1<0) return;	bp2=packitem(p2);	if(bp2<0) return;	s1=calcSocketFromChar(p1);	s2=calcSocketFromChar(p2);	serial=items[cont1].serial;	serhash=serial%HASHMAX;	for (ci=0;ci<contsp[serhash].max;ci++)	{		i=contsp[serhash].pointer[ci];		if (i!=-1)			if ((items[i].contserial==serial))			{				if (items[i].glow>0) removefromptr(&glowsp[chars[currchar[s2]].serial%HASHMAX],i); // lb, glowing stuff				items[i].SetContSerial(items[bp2].serial);				if (items[i].glow>0) setptr(&glowsp[chars[currchar[s1]].serial%HASHMAX],i);				items[i].pos.x=50+(rand()%80);				items[i].pos.y=50+(rand()%80);				items[i].pos.z=9;				if (s1!=-1)					RefreshItem(i);//AntiChrist				if (s2!=-1) sendbpitem(s2, i);					RefreshItem(i);//AntiChrist			}	}	serial=items[cont2].serial;	serhash=serial%HASHMAX;	for (ci=0;ci<contsp[serhash].max;ci++)	{		i=contsp[serhash].pointer[ci];		if (i!=-1)			if ((items[i].contserial==serial))			{				if (items[i].glow>0) removefromptr(&glowsp[chars[currchar[s2]].serial%HASHMAX],i); // lb, glowing stuff				items[i].SetContSerial(items[bp1].serial);				if (items[i].glow>0) setptr(&glowsp[chars[currchar[s1]].serial%HASHMAX],i);				items[i].pos.x=50+(rand()%80);				items[i].pos.y=50+(rand()%80);				items[i].pos.z=9;				if (s2!=-1)					RefreshItem(i);//AntiChrist				if (s1!=-1) sendbpitem(s1, i);					RefreshItem(i);//AntiChrist			}	}}