Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int m_Pickup[3] = { 0, 0, 0 };
- //Cтруктура с флагами, так легче юзать
- struct AcorFlags
- {
- union
- {
- __int64 Aflags;
- struct
- {
- bool m_Pickup : 1;
- };
- };
- } a_flags;
- //Функция для определения объекта, кто он собственно есть
- bool WhatIsActor(APawn* obj)
- {
- if (!obj)return 0;
- memset(&a_flags, 0, sizeof(AcorFlags));
- //В условии сравнивается айди и проверяется наличие айди, мало ли не найдет и там будет 0, в итоге будет пытаться вывести 0.
- //Хотя у меня с гранатами какая то трабла была, тупо игра зависала, так что я хз, может в этом причина.
- if (obj->ID == m_Pickup[0] && m_Pickup[0]) { a_flags.m_Pickup = 1; return 1; }
- else if (obj->ID == m_Pickup[1] && m_Pickup[1]) { a_flags.m_Pickup = 1; return 1; }
- else if (obj->ID == m_Pickup[2] && m_Pickup[2]) { a_flags.m_Pickup = 1; return 1; }
- else return 0;
- }
- int d_tici = 0;
- bool NameIdsCached = false;
- __forceinline void CacheNameIds(void)
- {
- d_tici = 0;
- for (int i = 0; i < 500000; i++)
- {
- char name[64];
- //char testinggnb[256];
- //sprintf(testinggnb, "%s %i \n", name, i);
- //OutputDebugStringA(testinggnb);
- if (GetNameById(i, name, sizeof(name)))
- {
- bool givedebug = 0;
- if (strstr(name, "BP_SmallStorageBox")) { m_Pickup[0] = i; givedebug = true; }
- else if (strstr(name, "Pickup")) { m_Pickup[1] = i; givedebug = true; }
- else if (strstr(name, "BP_SmallStorageBox")) { m_Pickup[2] = i; givedebug = true; }
- if (givedebug)
- {
- d_tici++;
- char testinggnb[256];
- sprintf(testinggnb, "%d) %s %i \n", d_tici, name, i);
- OutputDebugStringA(testinggnb);
- }
- }
- }
- NameIdsCached = true;
- }
- в ЕСП :
- if (!WhatIsActor(Actor))continue;
- if(a_flags.m_Pickup)
- {
- рисуем полученые объекты
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement