Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2018
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int m_Pickup[3] = { 0, 0, 0 };
  2. //Cтруктура с флагами, так легче юзать
  3. struct AcorFlags
  4. {
  5. union
  6. {
  7. __int64 Aflags;
  8. struct
  9. {
  10. bool m_Pickup : 1;
  11. };
  12. };
  13. } a_flags;
  14. //Функция для определения объекта, кто он собственно есть
  15. bool WhatIsActor(APawn* obj)
  16. {
  17. if (!obj)return 0;
  18. memset(&a_flags, 0, sizeof(AcorFlags));
  19.  
  20. //В условии сравнивается айди и проверяется наличие айди, мало ли не найдет и там будет 0, в итоге будет пытаться вывести 0.
  21. //Хотя у меня с гранатами какая то трабла была, тупо игра зависала, так что я хз, может в этом причина.
  22. if (obj->ID == m_Pickup[0] && m_Pickup[0]) { a_flags.m_Pickup = 1; return 1; }
  23. else if (obj->ID == m_Pickup[1] && m_Pickup[1]) { a_flags.m_Pickup = 1; return 1; }
  24. else if (obj->ID == m_Pickup[2] && m_Pickup[2]) { a_flags.m_Pickup = 1; return 1; }
  25.  
  26. else return 0;
  27. }
  28. int d_tici = 0;
  29. bool NameIdsCached = false;
  30. __forceinline void CacheNameIds(void)
  31. {
  32. d_tici = 0;
  33. for (int i = 0; i < 500000; i++)
  34. {
  35.  
  36. char name[64];
  37.  
  38. //char testinggnb[256];
  39. //sprintf(testinggnb, "%s %i \n", name, i);
  40. //OutputDebugStringA(testinggnb);
  41.  
  42. if (GetNameById(i, name, sizeof(name)))
  43. {
  44. bool givedebug = 0;
  45. if (strstr(name, "BP_SmallStorageBox")) { m_Pickup[0] = i; givedebug = true; }
  46. else if (strstr(name, "Pickup")) { m_Pickup[1] = i; givedebug = true; }
  47. else if (strstr(name, "BP_SmallStorageBox")) { m_Pickup[2] = i; givedebug = true; }
  48.  
  49. if (givedebug)
  50. {
  51. d_tici++;
  52. char testinggnb[256];
  53. sprintf(testinggnb, "%d) %s %i \n", d_tici, name, i);
  54. OutputDebugStringA(testinggnb);
  55. }
  56. }
  57. }
  58. NameIdsCached = true;
  59. }
  60.  
  61. в ЕСП :
  62.  
  63. if (!WhatIsActor(Actor))continue;
  64. if(a_flags.m_Pickup)
  65. {
  66. рисуем полученые объекты
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement