hasta donde vi ya cuenta con una función que rendería las animaciones de los objetos. usarlo o no no causa tal problema como el menciona, simplemente que si ambas funciones se mezclan genera una sobre carga en el main que puede ponerse lento en el select server, o en el select char, la función que se encarga de renderizar al objeto es este.
void RenderSSCObjectVisual(int a1, int a2)
{
vec3_t Bone;
vec3_t Color;
vec3_t WorldPos;
//Select Server
	if (World == 75)
	{  
		switch ( *(DWORD *)(a1 + 48) )   
		{
			case 1:
			{
			BeginRender(1.0);
			*(DWORD *)(a1 + 60) = -2;
			*(BYTE*)(a2 + 136) = 0;
			float v552 = 4000;
			float v551 = ((int) (v552 - timeGetTime() * 0.75f) % 4001) * 0.0002500000118743628;
			RenderMesh(a2,
			  0,
			  66,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  v551,
			  -1);
			*(BYTE*)(a2 + 136) = -1;
			EndRender();
			}
			break;
			case 5:
			{
			BeginRender(1.0);
			*(BYTE*)(a2 + 136) = 0;
            *(float *)(a2 + 72) = 0.80000001;
            *(float *)(a2 + 76) = 0.69999999;
            *(float *)(a2 + 80) = 0.30000001;
			RenderMesh(a2,
			  0,
			  68,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  32042);
			RenderMesh(a2,
			  23,
			  66,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  -1);
			RenderMesh(a2,
			  23,
			  68,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  32042);
			RenderMesh(a2,
			  24,
			  66,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  -1);
			RenderMesh(a2,
			  24,
			  68,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  32042);
			RenderMesh(a2,
			  25,
			  66,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  -1);
			RenderMesh(a2,
			  25,
			  68,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  32042);
			RenderMesh(a2,
			  26,
			  66,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  -1);
			RenderMesh(a2,
			  26,
			  68,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  32042);
			RenderMesh(a2,
			  27,
			  66,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  -1);
			RenderMesh(a2,
			  27,
			  68,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  32042);
			RenderMesh(a2,
			  28,
			  66,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  -1);
			RenderMesh(a2,
			  28,
			  68,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  *(float *)(a1 + 108),
			  32042);
			*(BYTE*)(a2 + 136) = -1;
			EndRender();
			float v409 = (double)(rand() % 10) / 20.0 + 1.399999976158142;
			float v19 = v409 - 0.300000011920929;
			Vector( 0.0, 0.0, 0.0, WorldPos);
			TransformPosition(a2, Joint(37), WorldPos, Bone, 0);
			Vector( 1.0, 0.30000001, 0.0, Color);		
			CreateSprite(32114, Bone, v409, Color, a1, 0.0, 0);
            CreateSprite(32114, Bone, v19, Color, a1, 0.0, 0);
			v409 = (double)(rand() % 10) / 20.0 + 1.0;
			float v20 = v409 + 0.300000011920929;
			CreateSprite(32002, Bone, v20, Color, a1, 0.0, 0);
			v409 = (double)(rand() % 8) / 20.0 + 0.4000000059604645;
			CreateSprite(32114, Bone, v409, Color, a1, 0.0, 0);
			float v21 = v409 - 0.2000000029802322;
            CreateSprite(32114, Bone, v21, Color, a1, 0.0, 0);
			}
			break;
			case 38:
			{
			*(DWORD *)(a1 + 60) = -2;
			if ( !(rand() % 6) )	
				{		
				Vector( 0.020, 0.020, 0.050, Color);			
				CreateParticle(32146, a1 + 252, a1 + 264, Color, 20,*(float *)(a1 + 96), a2);
				}
			}
			break;
			
			case 54:
			{
			*(DWORD *)(a1 + 60) = -2;
			if ( !(rand() % 2) )	
				{
				Vector( 0.22, 0.15000001, 0.15000001, Color);			
				CreateParticle(32287, a1 + 252, a1 + 264, Color, 2, *(float *)(a1 + 96), 0);
				}
			}
			break;
			}
		}
//Select Character
	if (World == 76)
	{  
		switch ( *(DWORD *)(a1 + 48) )   
		{
			case 13:
			case 14:
			case 15:
			case 16:
			case 17:
			{
			*(DWORD *)(a1 + 60) = -2;
			}
			break;
			case 24:
			case 25:
			case 26:
			{
			BeginRender(1.0);
			*(DWORD *)(a1 + 60) = -2;
			*(BYTE*)(a2 + 136) = 0;
		    float v552 = 2000;
		    float v551 = ((int)(v552 - timeGetTime()) % 2001) * 0.0005000000237487257;
			RenderMesh(a2,
			  0,
			  66,
			  *(float *)(a1 + 152),
			  *(DWORD *)(a1 + 68),
			  *(float *)(a1 + 100),
			  *(float *)(a1 + 104),
			  v551,
			  -1);
			*(BYTE*)(a2 + 136) = -1;
			EndRender();
			}
			break;
			case 31:
			{
			Vector( 0.0, 0.0, 0.0, WorldPos);
            TransformPosition(a2, (int)&BoneTransform, WorldPos, Bone, 0);
			Vector( 0.98000002, 0.94, 0.94, Color);
            CreateSprite(32604, Bone, 1.0, Color, a1, 0.0, 0);
			Vector( 0.77999997, 0.44, 0.75, Color);
			TransformPosition(a2, (int)&BoneTransform + 0x30, WorldPos, Bone, 0);
            CreateSprite(32604, Bone, 1.2, Color, a1, 0.0, 0);	
			Vector( 0.57999998, 0.07, 0.56, Color);
			TransformPosition(a2, (int)&BoneTransform + 0x60, WorldPos, Bone, 0);
            CreateSprite(32604, Bone, 0.80000001, Color, a1, 0.0, 0);
			}
			break;
			case 38:
			{
			*(DWORD *)(a1 + 60) = -2;
			if ( !(rand() % 6) )	
				{
				Vector( 0.02, 0.02, 0.050000001, Color);			
				CreateParticle(32146, a1 + 252, a1 + 264, Color, 20, *(float *)(a1 + 96), 0);
				}
			}
			break;
			case 39:
			{
			*(DWORD *)(a1 + 60) = -2;
			if ( !(rand() % 100) )	
				{
				Vector( 0.0, 0.0, 0.0, WorldPos);
				TransformPosition(a2, Joint(0), WorldPos, Bone, 0);
				Vector( 0.02, 0.02, 0.050000001, Color);			
				CreateEffect2(700, Bone, a1 + 264, Color, 0, a1, -1, 0, 0, 0, 0.0, -1);
				}
			}
			break;
			case 40:
			{
			*(DWORD *)(a1 + 60) = -2;
			if ( !(rand() % 200) )	
				{
				Vector( 0.0, 0.0, 0.0, WorldPos);
				TransformPosition(a2, Joint(0), WorldPos, Bone, 0);
				Vector( 0.02, 0.02, 0.050000001, Color);			
				CreateEffect2(701, Bone, a1 + 264, Color, 1, a1, -1, 0, 0, 0, 0.0, -1);
				}
			}
			break;
			case 54:
			{
			*(DWORD *)(a1 + 60) = -2;
			if ( !(rand() % 2) )	
				{
				Vector( 1.0, 1.0, 1.0, Color);			
				CreateParticle(32287, a1 + 252, a1 + 264, Color, 2, *(float *)(a1 + 96), 0);
				}
			}
			break;
			case 55:
			{
			*(DWORD *)(a1 + 60) = -2;
			Vector( 1.0, 1.0, 1.0, Color);			
			CreateParticle(32289, a1 + 252, a1 + 264, Color, 14, *(float *)(a1 + 96) + *(float *)(a1 + 96), 0);
			}
			break;
			case 56:
			{
			*(DWORD *)(a1 + 60) = -2;
			Vector( 1.0, 1.0, 1.0, Color);	
			if ( !(rand() % 3) )
				{		
				CreateParticle(32288, a1 + 252, a1 + 264, Color, 2, *(float *)(a1 + 96), 0);
				}
			}
			break;
			case 73:
			{
			Vector( 0.0, 0.0, 0.0, WorldPos);
			TransformPosition(a2, Joint(1), WorldPos, Bone, 0);
			Vector( 0.5, 1.0, 0.98000002, Color);
			float v51 = ((int) timeGetTime() % 3600) * 0.1000000014901161;
			float v32 = -v51;
			float v50 = ((int) timeGetTime() % 30) / 90.0;
			float v33 = v50 + 1.200000047683716;
			CreateSprite(32114, Bone, v33, Color, a1, v32, 0);
			CreateSprite(32779, Bone, 0.20, Color, a1, 0.0, 0);
			if ( !((int) timeGetTime() % 3) )
			{
			Vector( 1.0, 1.0, 1.0, Color);
			v50 = *(float *)(a1 + 96) * 1.799999952316284;
			float v34 = v50;
			CreateParticle2(32284, Bone, a1 + 264, Color, 0, v34, 0);
			}
			}
			break;
			case 80:
			{
			*(DWORD *)(a1 + 60) = -2;
			Vector( 0.98000002, 0.89999998, 0.89999998, Color);	
			if ( !(rand() % 8) )
				{		
				CreateParticle(32101, a1 + 252, a1 + 264, Color, 69, *(float *)(a1 + 96), 0);
				}
			}
			break;
			}
		}
//
	RenderCryingWolf2ndObjectVisual(a1, a2);
}
yo preferí cambiar de número los mapas, puedes obtar por eso y no usar el código que he subido, de igual forma si colocas en 75 y 76  en código eso quiere decir que en carpeta sería 76 y 77, y la función de renderizado te trabaja perfectamente.