Advertisement
Guest User

MySQL Trafike

a guest
Feb 22nd, 2019
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.15 KB | None | 0 0
  1. /*
  2. FilterScript:
  3. - Dinamicno kreiranje trafika ( MySQL )
  4. Author:
  5. - Xalazy(Mungoslav)
  6. Credits:
  7. - #XScript2k19
  8. */
  9. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  10. #include < a_samp >
  11. #include < a_mysql >
  12. #include < Pawn.CMD >
  13. #include < foreach >
  14. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  15. #define MYSQL_HOST "127.0.0.1"
  16. #define MYSQL_USER "root"
  17. #define MYSQL_PASSWORD ""
  18. #define MYSQL_DATABASE "trafike_db"
  19. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  20. #define MAX_TRAFIKA 150
  21. #define SCM SendClientMessage
  22. enum tINFO {
  23.  
  24. Float:PosX,
  25. Float:PosY,
  26. Float:PosZ,
  27. Float:RotX,
  28. Float:RotY,
  29. Float:RotZ,
  30. trafikaID,
  31. tID
  32. }
  33. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  34. new MySQL:x_sql;
  35. new TrafikaInfo[ MAX_TRAFIKA ][ tINFO ], edit_Trafika[ MAX_PLAYERS ],
  36. Iterator:iteratortrafike<MAX_TRAFIKA>;
  37. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  38. public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ) {
  39.  
  40. if(response == EDIT_RESPONSE_FINAL) {
  41. if(edit_Trafika[ playerid ] != -1) {
  42. new i = edit_Trafika[ playerid ], query[ 250 ];
  43. TrafikaInfo[ i ][ PosX ] = fX;
  44. TrafikaInfo[ i ][ PosY ] = fY;
  45. TrafikaInfo[ i ][ PosZ ] = fZ;
  46. TrafikaInfo[ i ][ RotX ] = fRotX;
  47. TrafikaInfo[ i ][ RotY ] = fRotY;
  48. TrafikaInfo[ i ][ RotZ ] = fRotZ;
  49. DestroyObject(TrafikaInfo[ i ][ trafikaID ]);
  50. TrafikaInfo[ i ][ trafikaID ] = CreateObject(1571, fX, fY, fZ, fRotX, fRotY, fRotZ);
  51. mysql_format(x_sql, query, sizeof query, "INSERT INTO `trafikice` (`PosX`, `PosY`, `PosZ`, `RotX`, `RotY`, `RotZ`) VALUES ('%f', '%f', '%f', '%f', '%f', '%f')", TrafikaInfo[ i ][ PosX ], TrafikaInfo[ i ][ PosY ], TrafikaInfo[ i ][ PosZ ], TrafikaInfo[ i ][ RotX ], TrafikaInfo[ i ][ RotY ], TrafikaInfo[ i ][ RotZ ]);
  52. mysql_tquery(x_sql, query);
  53. edit_Trafika[ playerid ] = -1;
  54. }
  55. }
  56. return true;
  57. }
  58. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  59. public OnGameModeInit() {
  60.  
  61. new MySQLOpt: option_id = mysql_init_options();
  62. x_sql = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE, option_id);
  63. if (x_sql == MYSQL_INVALID_HANDLE || mysql_errno(x_sql) != 0){
  64. print("< MySQL >: Konekcija je neuspesna !");
  65. SendRconCommand("exit");
  66. return true;
  67. }
  68. print("< MySQL >: Konekcija je uspesna !");
  69. kreirajtablu();
  70. mysql_tquery(x_sql, "SELECT * FROM `trafikice`", "UcitajTrafike", "");
  71. return true;
  72. }
  73. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  74. forward UcitajTrafike();
  75. public UcitajTrafike() {
  76. new rows = cache_num_rows();
  77. if(rows) {
  78. for(new i; i < rows; i++) {
  79. new id = Iter_Free(iteratortrafike);
  80. cache_get_value_name_float(i, "PosX", TrafikaInfo[ id ][ PosX ]);
  81. cache_get_value_name_float(i, "PosY", TrafikaInfo[ id ][ PosY ]);
  82. cache_get_value_name_float(i, "PosZ", TrafikaInfo[ id ][ PosZ ]);
  83. cache_get_value_name_float(i, "RotX", TrafikaInfo[ id ][ RotX ]);
  84. cache_get_value_name_float(i, "RotY", TrafikaInfo[ id ][ RotY ]);
  85. cache_get_value_name_float(i, "RotZ", TrafikaInfo[ id ][ RotZ ]);
  86. TrafikaInfo[ i ][ trafikaID ] = CreateObject(1439, TrafikaInfo[ i ][ PosX ], TrafikaInfo[ i ][ PosY ], TrafikaInfo[ i ][ PosZ ], TrafikaInfo[ i ][ RotX ], TrafikaInfo[ i ][ RotY ], TrafikaInfo[ i ][ RotZ ]);
  87. Iter_Add(iteratortrafike, id);
  88. }
  89. }
  90. return true;
  91. }
  92. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  93. kreirajtablu() {
  94. mysql_tquery(x_sql, "CREATE TABLE IF NOT EXISTS `trafikice` (`id` int(11) NOT NULL AUTO_INCREMENT,`PosX` float NOT NULL,`PosY` float NOT NULL,`PosZ` float NOT NULL,`RotX` float NOT NULL, `RotY` float NOT NULL, `RotZ` float NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`))");
  95. return true;
  96. }
  97. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  98. CMD:kreirajtrafiku(playerid, params[]) {
  99.  
  100. new Float:X, Float:Y, Float:Z, i = Iter_Free(iteratortrafike);
  101. if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "Niste administrator.");
  102. GetPlayerPos(playerid, X,Y,Z);
  103. TrafikaInfo[ i ][ trafikaID ] = CreateObject(1571, X, Y, Z, 0.0, 0.0, 0.0);
  104. EditObject(playerid, TrafikaInfo[ i ][ trafikaID ]);
  105. edit_Trafika[ playerid ] = i;
  106. TrafikaInfo[ i ][ tID ] = i;
  107. SCM(playerid, -1, "< Trafika >: Zapoceli ste kreiranje trafike.");
  108. return true;
  109. }
  110. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  111. /*
  112. ______________________________________________________________________________
  113. | |
  114. | K R A J |
  115. | |
  116. ------------------------------------------------------------------------------
  117. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement