Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. void mtamap()
  2. {
  3. char filename[MAX_PATH];
  4. FILE *file;
  5. FILE *prok;
  6. char model[100], FposX[100], FposY[100], FposZ[100], FrotX[100], FrotY[100], FrotZ[100];
  7. float Tpos[3], pos[3], rot[3];
  8. float *coord;
  9. char arr[256];
  10. int c = 0;
  11. A_Set.objectinv = 0;
  12. A_Set.i = 0;
  13. Sleep(1250);
  14. snprintf(filename, sizeof(filename), "%s\\mod_sa\\MTAMaps\\%s.map", g_szWorkingDirectory, A_Set.mapfilename);
  15. file = fopen(filename, "r");
  16. prok = fopen(filename, "r");
  17.  
  18. if (file)
  19. {
  20. addMessageToChatWindow("Конвертирование координат и выставление объектов \"%s\" начато", A_Set.mapfilename);
  21. MessageBeep(MB_ICONEXCLAMATION);
  22. while (fgets(arr, 256, prok) != NULL && A_Set.mtamap)
  23. {
  24. if (strstr(arr, "model=\"") && strstr(arr, "posX=\"") && strstr(arr, "posY=\"") && strstr(arr, "posZ=\"")
  25. && strstr(arr, "rotX=\"") && strstr(arr, "rotY=\"") && strstr(arr, "rotZ=\""))
  26. {
  27. A_Set.objectinv++;
  28. }
  29. }
  30. while (fgets(arr, 256, file) != NULL && A_Set.mtamap)
  31. {
  32. if (strstr(arr, "model=\"") && strstr(arr, "posX=\"") && strstr(arr, "posY=\"") && strstr(arr, "posZ=\"")
  33. && strstr(arr, "rotX=\"") && strstr(arr, "rotY=\"") && strstr(arr, "rotZ=\""))
  34. {
  35. StringFind(arr, "model=\"", '\"', model);
  36. StringFind(arr, "posX=\"", '\"', FposX);
  37. StringFind(arr, "posY=\"", '\"', FposY);
  38. StringFind(arr, "posZ=\"", '\"', FposZ);
  39. StringFind(arr, "rotX=\"", '\"', FrotX);
  40. StringFind(arr, "rotY=\"", '\"', FrotY);
  41. StringFind(arr, "rotZ=\"", '\"', FrotZ);
  42.  
  43. Tpos[0] = std::stof(FposX);
  44. Tpos[1] = std::stof(FposY);
  45. Tpos[2] = std::stof(FposZ);
  46.  
  47. rot[0] = std::stof(FrotX);
  48. rot[1] = std::stof(FrotY);
  49. rot[2] = std::stof(FrotZ);
  50.  
  51. coord = (cheat_state->state == CHEAT_STATE_VEHICLE) ? cheat_state->vehicle.coords : cheat_state->actor.coords;
  52.  
  53. pos[0] = Tpos[0] - coord[0];
  54. pos[1] = Tpos[1] - coord[1];
  55. pos[2] = Tpos[2] - coord[2];
  56.  
  57. say("/obj %d %s %f %f %f %f %f %f", A_Set.setobj, model, pos[0], pos[1], pos[2], rot[0], rot[1], rot[2]);
  58. A_Set.i++;
  59. A_Set.setobj++;
  60. Sleep(1250);
  61. }
  62. }
  63. cheat_teleport(Tpos, 0);
  64. Sleep(350);
  65. say("/goto %d", g_Players->sLocalPlayerID);
  66. A_Set.stopped = 1;
  67. A_Set.started = 0;
  68. A_Set.process = 0;
  69. addMessageToChatWindow("Конвертирование координат и выставление объектов \"%s\" окончено (%d объектов)", A_Set.mapfilename, A_Set.i);
  70. MessageBeep(MB_ICONEXCLAMATION);
  71. }
  72. else
  73. addMessageToChatWindow("Ошибка: файл %s.txt не найден в папке mod_sa\\MTAMaps", A_Set.mapfilename);
  74.  
  75. ExitThread(0);
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement