Advertisement
Jasit_Legandary

Dynamics

Jul 24th, 2023 (edited)
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. #include <YSI_Coding\y_hooks>
  2. #include <YSI_Coding\y_timers>
  3. #include <YSI_Data\y_iterate>
  4.  
  5. #define MAX_TESTS (50)
  6.  
  7. forward TestCreate(Float:x = 0.0, Float:y = 0.0, Float:z = 0.0);
  8. forward Test_Save(gpsid);
  9. forward Test_Load();
  10. forward OnTestCreated(gpsid);
  11. forward TEST_Delete(gpsid);
  12.  
  13. enum TEST_DATA
  14. {
  15. tID,
  16. tExist,
  17. };
  18.  
  19. new testData[MAX_TESTS][TEST_DATA];
  20.  
  21.  
  22.  
  23. public Test_Load()
  24. {
  25.  
  26. static
  27. rows;
  28.  
  29. cache_get_row_count(rows);
  30.  
  31. for (new i = 0; i < rows; i ++) if (i < MAX_TESTS)
  32. {
  33. testData[i][tExist] = true;
  34.  
  35. cache_get_value_name_int(i, "tID", testData[i][tID]);
  36. }
  37. printf("[Database]: Test_Load ID:%i loaded...", rows);
  38. return 1;
  39. }
  40. CMD:test_mysql(playerid, params[]){
  41.  
  42. new id = 0, string[256];
  43. id = TestCreate(0.0, 0.0, 0.0);
  44.  
  45. if (id == -1)
  46. return SendClientMessage(playerid, 0xFFFF00FF, "[ระบบ]: {FFFFF}ฐานข้อมูลคุณเต็ม");
  47. format(string, sizeof(string), "[ + ]: คุณได้สร้าง ไอดี: %d", id);
  48. SendClientMessage(playerid, 0x99CCFFFF, string);
  49. return 1;
  50. }
  51.  
  52.  
  53. public TestCreate(Float:x = 0.0, Float:y = 0.0, Float:z = 0.0)
  54. {
  55. new Float:pos[3];
  56. pos[0] = x;
  57. pos[1] = y;
  58. pos[2] = z;
  59. for (new i = 0; i < MAX_TESTS; i ++) if (!testData[i][tExist])
  60. {
  61. testData[i][tExist] = true;
  62.  
  63. mysql_tquery(g_SQL, "INSERT INTO `tests` (`tID`) VALUES(0)", "OnTestCreated", "d", i);
  64. return i;
  65. }
  66. return -1;
  67. }
  68.  
  69.  
  70. public OnTestCreated(gpsid)
  71. {
  72. if (gpsid == -1 || !testData[gpsid][tExist])
  73. return 0;
  74.  
  75. testData[gpsid][tID] = cache_insert_id();
  76. //Test_Save(gpsid);
  77.  
  78. return 1;
  79. }
  80.  
  81.  
  82.  
  83. public Test_Save(gpsid)
  84. {
  85. static
  86. query[220];
  87.  
  88. mysql_format(g_SQL, query, sizeof(query), "UPDATE `tests` SET `PosX` = '%f', `PosY` = '%f', `PosZ` = '%f' WHERE `tID` = '%d'",
  89. testData[gpsid][tID]
  90. );
  91. return mysql_tquery(g_SQL, query);
  92. }
  93.  
  94.  
  95.  
  96. CMD:dtset_mysql(playerid, params[]){
  97.  
  98. static
  99. id = 0,
  100. string[64];
  101.  
  102. if (sscanf(params, "d", id))
  103. return SendClientMessage(playerid, 0xFFFF00FF, "/dgps [ไอดี]");
  104.  
  105. if ((id < 0 || id >= MAX_TESTS) || !testData[id][tExist])
  106. return SendClientMessage(playerid, 0xFFFF00FF, "ยังไม่มีพิกัด • GPS • จึงไม่สามารถลบได้");
  107.  
  108. TEST_Delete(id);
  109. format(string, sizeof(string), "[ + ]: คุณได้ลบ GPS ไอดี %d ออกสำเร็จ", id);
  110. SendClientMessage(playerid, 0x99CCFFFF, string);
  111. return 1;
  112.  
  113. }
  114.  
  115. public TEST_Delete(gpsid)
  116. {
  117. if (gpsid != -1 && testData[gpsid][tExist])
  118. {
  119. static
  120. string[64];
  121.  
  122. format(string, sizeof(string), "DELETE FROM `tests` WHERE `tID` = '%d'", testData[gpsid][tID]);
  123. mysql_tquery(g_SQL, string);
  124.  
  125. testData[gpsid][tExist] = false;
  126. testData[gpsid][tID] = 0;
  127. }
  128. return 1;
  129. }
  130.  
  131. CMD:menutest(playerid, ps[]){
  132.  
  133. new string[256];
  134. string = "ไอดี\tพิกัด";
  135.  
  136. for (new i = 0; i < MAX_TESTS; i ++) if (testData[i][tExist])
  137. {
  138. fm(string, "%s\n%i\t%f\n", string, i);
  139. }
  140. Dialog_Show(playerid, DIALOG_TEST, DIALOG_STYLE_TABLIST_HEADERS, "Test", string, "OK", "NO");
  141. return 1;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement