Sry, havn't found it - got it work using:
8ADFA0 CGUnit_C::GetModelFileName
84A1B0 CGGameObject_C::GetModelFileName
EDIT:
Antoher problem is that some mine/herbs are under map or not visible... Traceline/Intersect doesn't solve this problem (or I do something wrong) 
Code:
typedef byte ( __cdecl * func_Traceline)(int EndPosition, int StartPosition, int ResultPosition, int distance, int hitFlags, int Zero);
Code:
static enum HIT_FILTER {
HIT_TEST_NOTHING = 0x0,
HIT_TEST_GROUND = 0x1,
HIT_TEST_OBJECTS = 0x2,
HIT_TEST_UNITS = 0x4,
HIT_TEST_PLAYERS = 0x8,
HIT_TEST_ME = 0x10,
HIT_TEST_PARTY = 0x10000,
HIT_TEST_FRIENDS = 0x20000,
HIT_TEST_ENEMIES = 0x40000,
HIT_TEST_LIVE = 0x100000,
HIT_TEST_DEAD = 0x200000,
HIT_TEST_ALL_OBJS_EXCEPT_ME = 0xe,
HIT_TEST_ALL_OBJS = 0x1e,
HIT_TEST_ALL_EXCEPT_ME = 0xf,
HIT_TEST_ALL = 0x1f,
};
- StartPosition
=> My current point
- EndPosition
=> Herb/Mine point
- ResultPosition
=> 0
- distance
=> 1.0f
- hitFlags
=> HIT_TEST_ALL
- Zero
=> 0