Advertisement
Guest User

Untitled

a guest
Feb 19th, 2014
673
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.36 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #include <a_samp>
  3. #include <sscanf2>
  4. #include <zcmd>
  5. #define MAX_DCARS 501
  6. new DB:Database,Query[512];
  7. enum dcarinfo
  8. {
  9. Float:dX,
  10. Float:dY,
  11. Float:dZ,
  12. Float:dA,
  13. dC1,
  14. dC2,
  15. dModel,
  16. dVeh,
  17. }
  18. new DCarInfo[MAX_DCARS][dcarinfo];
  19. public OnFilterScriptInit()
  20. {
  21. Database = db_open("db.db");
  22. db_query(Database,"CREATE TABLE IF NOT EXISTS `dcars`(`X`,`Y`,`Z`,`A`,`C1`,`C2`,`MODEL`,`ID`)");
  23. LoadCars();
  24. return 1;
  25. }
  26. public OnFilterScriptExit()
  27. {
  28. SaveCars();
  29. db_close(Database);
  30. return 1;
  31. }
  32. CMD:createveh(playerid,params[])
  33. {
  34. if(!IsPlayerAdmin(playerid)) return 0;
  35. new model,c1,c2;
  36. if(sscanf(params,"iii",model,c1,c2)) return SendClientMessage(playerid,0xFFFFFFFF,"USAGE: /createveh <model> <color 1> <color 2>");
  37. if(model < 400 || model > 611) return SendClientMessage(playerid,0xFF0000FF,"Invalid model specified! (Models are between 400 and 611)");
  38. if(c1 < 0 || c1 > 255) return SendClientMessage(playerid,0xFF0000FF,"Invalid color 1! (Colors are between 0 and 255!)");
  39. if(c2 < 0 || c2 > 255) return SendClientMessage(playerid,0xFF0000FF,"Invalid color 2! (Colors are between 0 and 255!)");
  40. for(new i=1; i<MAX_DCARS; i++)
  41. {
  42. if(DCarInfo[i][dModel]) continue;
  43. GetPlayerPos(playerid,DCarInfo[i][dX],DCarInfo[i][dY],DCarInfo[i][dZ]);
  44. GetPlayerFacingAngle(playerid,DCarInfo[i][dA]);
  45. DCarInfo[i][dModel] = model;
  46. DCarInfo[i][dC1] = c1;
  47. DCarInfo[i][dC2] = c2;
  48. DCarInfo[i][dVeh] = CreateVehicle(DCarInfo[i][dModel], DCarInfo[i][dX], DCarInfo[i][dY], DCarInfo[i][dZ], DCarInfo[i][dA], DCarInfo[i][dC1],DCarInfo[i][dC2], 30000);
  49. format(Query,sizeof(Query),"INSERT INTO `dcars`(`X`,`Y`,`Z`,`A`,`C1`,`C2`,`MODEL`,`ID`) VALUES('%f','%f','%f','%f','%d','%d','%d','%d')",
  50. DCarInfo[i][dX],DCarInfo[i][dY],DCarInfo[i][dZ],DCarInfo[i][dA],DCarInfo[i][dC1],DCarInfo[i][dC2],DCarInfo[i][dModel],i);
  51. db_query(Database,Query);
  52. format(Query,sizeof(Query),"Car Created! (ID %d)",i);
  53. SendClientMessage(playerid,0x00FF00FF,Query);
  54. format(Query,sizeof(Query),"");
  55. return 1;
  56. }
  57. return 1;
  58. }
  59. CMD:deleteveh(playerid,params[])
  60. {
  61. if(!IsPlayerAdmin(playerid)) return 0;
  62. new id;
  63. if(sscanf(params,"i",id)) return SendClientMessage(playerid,0xFFFFFFFF,"USAGE: /deleteveh <id>");
  64. if(!DCarInfo[id][dModel]) return SendClientMessage(playerid,0xFF0000FF,"Invalid ID specified!");
  65. DestroyVehicle(DCarInfo[id][dVeh]);
  66. DCarInfo[id][dX] = 0;
  67. DCarInfo[id][dY] = 0;
  68. DCarInfo[id][dZ] = 0;
  69. DCarInfo[id][dA] = 0;
  70. DCarInfo[id][dC1] = 0;
  71. DCarInfo[id][dC2] = 0;
  72. DCarInfo[id][dModel] = 0;
  73. format(Query,sizeof(Query),"DELETE FROM `dcars` WHERE `ID` = '%d'",id);
  74. db_query(Database,Query);
  75. format(Query,sizeof(Query),"Car Deleted! (ID %d)",id);
  76. SendClientMessage(playerid,0x00FF00FF,Query);
  77. format(Query,sizeof(Query),"");
  78. return 1;
  79. }
  80. stock SaveCars()
  81. {
  82. new id = 1;
  83. while(id < MAX_DCARS)
  84. {
  85. if(DCarInfo[id][dModel])
  86. {
  87. format(Query,sizeof(Query),"UPDATE `dcars` SET X = '%f', Y = '%f', Z = '%f', A = '%f', C1 = '%d', C2 = '%d', MODEL = '%d' WHERE `ID` = '%d'",
  88. DCarInfo[id][dX],DCarInfo[id][dY],DCarInfo[id][dZ],DCarInfo[id][dA],DCarInfo[id][dC1],DCarInfo[id][dC2],DCarInfo[id][dModel],id);
  89. db_query(Database,Query);
  90. }
  91. id ++;
  92. }
  93. format(Query,sizeof(Query),"");
  94. return 1;
  95. }
  96. stock LoadCars()
  97. {
  98. new id = 1,Field[64];
  99. while(id < MAX_DCARS)
  100. {
  101. format(Query,sizeof(Query),"SELECT * FROM `dcars` WHERE `ID` = '%d'",id);
  102. new DBResult:Result = db_query(Database,Query);
  103. if(db_num_rows(Result))
  104. {
  105. db_get_field_assoc(Result, "X", Field, 64);
  106. DCarInfo[id][dX] = floatstr(Field);
  107. db_get_field_assoc(Result, "Y", Field, 64);
  108. DCarInfo[id][dY] = floatstr(Field);
  109. db_get_field_assoc(Result, "Z", Field, 64);
  110. DCarInfo[id][dZ] = floatstr(Field);
  111. db_get_field_assoc(Result, "A", Field, 64);
  112. DCarInfo[id][dA] = floatstr(Field);
  113. db_get_field_assoc(Result, "C1", Field, 64);
  114. DCarInfo[id][dC1] = strval(Field);
  115. db_get_field_assoc(Result, "C2", Field, 64);
  116. DCarInfo[id][dC2] = strval(Field);
  117. db_get_field_assoc(Result, "MODEL", Field, 64);
  118. DCarInfo[id][dModel] = strval(Field);
  119. DCarInfo[id][dVeh] = CreateVehicle(DCarInfo[id][dModel], DCarInfo[id][dX], DCarInfo[id][dY], DCarInfo[id][dZ], DCarInfo[id][dA], DCarInfo[id][dC1],DCarInfo[id][dC2], 30000);
  120. }
  121. db_free_result(Result);
  122. id ++;
  123. }
  124. format(Query,sizeof(Query),"");
  125. return 1;
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement