Advertisement
Guest User

Untitled

a guest
May 1st, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.13 KB | None | 0 0
  1. #include <a_samp>
  2. #include <izcmd>
  3. #include <dini>
  4. #include <sscanf2>
  5. #include <streamer>
  6. #include <colors>
  7.  
  8. main(){}
  9.  
  10. #pragma unused ret_memcpy
  11. #pragma unused strtok
  12.  
  13. #define DIALOG_CAR 1
  14. #define CHANGE_COLOR_CAR 2
  15.  
  16. enum p_Player
  17. {
  18. p_CAR
  19. }
  20. new Player[MAX_PLAYERS][p_Player];
  21.  
  22. new privcar[MAX_PLAYERS];
  23. new bool:IsPriv[1000];
  24.  
  25. public OnPlayerConnect(playerid)
  26. {
  27. LoadPlayers(playerid);
  28. return 1;
  29. }
  30.  
  31. public OnPlayerDisconnect(playerid, reason)
  32. {
  33. SavePlayers(playerid);
  34. return 1;
  35. }
  36.  
  37. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  38. {
  39. if(dialogid == DIALOG_CAR)
  40. {
  41. if(response)
  42. {
  43. switch(listitem)
  44. {
  45. case 0: // spawn
  46. {
  47. new file[64];
  48. format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
  49. if(dini_Exists(file))
  50. {
  51. new Float:pos[4], carid;
  52. new color_1, color_2;
  53.  
  54. pos[0] = dini_Float(file, "X");
  55. pos[1] = dini_Float(file, "Y");
  56. pos[2] = dini_Float(file, "Z");
  57. pos[3] = dini_Float(file, "r");
  58. carid = dini_Int(file, "CarID");
  59. color_1 = dini_Int(file, "C1");
  60. color_2 = dini_Int(file, "C2");
  61.  
  62. privcar[playerid] = CreateVehicle(carid, pos[0], pos[1], pos[2], pos[3], color_1, color_2, 999999);
  63. SendClientMessage(playerid, COLOR_GREY, "Loaded vehicle");
  64. }
  65. }
  66. case 1: // destroy
  67. {
  68. DestroyVehicle(privcar[playerid]);
  69. SendClientMessage(playerid, COLOR_GREY, "The vehicle has been successfully disappeared.");
  70. }
  71. case 2: // save
  72. {
  73. new file[64], Float:x, Float:y, Float:z, Float:r;
  74. GetVehiclePos(privcar[playerid], x,y,z);
  75. GetVehicleZAngle(privcar[playerid], r);
  76.  
  77. format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
  78.  
  79. dini_FloatSet(file, "X", x);
  80. dini_FloatSet(file, "Y", y);
  81. dini_FloatSet(file, "Z", z);
  82. dini_FloatSet(file, "R", r);
  83. dini_IntSet(file, "CarID", GetVehicleModel(privcar[playerid]));
  84.  
  85. DestroyVehicle(privcar[playerid]);
  86. SendClientMessage(playerid, COLOR_GREY, "The vehicle data has been successfully saved, it has been disappeared vehicle!");
  87. }
  88. case 3: // teleported
  89. {
  90. new Float:x, Float:y, Float:z;
  91. GetPlayerPos(playerid, x,y,z);
  92. SetVehiclePos(privcar[playerid], x,y,z);
  93. PutPlayerInVehicle(playerid, privcar[playerid], 0);
  94. SendClientMessage(playerid, COLOR_GREY, "The vehicle was teleported to you!");
  95. }
  96. case 4:
  97. {
  98. IsPriv[privcar[playerid]] = false;
  99. SendClientMessage(playerid, COLOR_GREY, "Open Vehicle!");
  100. }
  101. case 5:
  102. {
  103. IsPriv[privcar[playerid]] = true;
  104. SendClientMessage(playerid, COLOR_GREY, "Close Vehicle!");
  105. }
  106. case 6:
  107. {
  108. ShowPlayerDialog(playerid, CHANGE_COLOR_CAR, DIALOG_STYLE_LIST, "Choose color", "COLOR_BLACK\nCOLOR_WHITE", "OKAY", "CLOSE");
  109. }
  110. }
  111. }
  112. return 1;
  113. }
  114. if(dialogid == CHANGE_COLOR_CAR)
  115. {
  116. if(response)
  117. {
  118. switch(listitem)
  119. {
  120. case 0:
  121. {
  122. new file[64];
  123. ChangeVehicleColor(privcar[playerid], 0, 0);
  124. format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
  125. dini_IntSet(file, "C1", 0);
  126. dini_IntSet(file, "C2", 0);
  127.  
  128. SendClientMessage(playerid, COLOR_GREY, "The color of the vehicle has been saved");
  129. }
  130. case 1:
  131. {
  132. new file[64];
  133. ChangeVehicleColor(privcar[playerid], 1, 1);
  134. format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
  135. dini_IntSet(file, "C1", 1);
  136. dini_IntSet(file, "C2", 1);
  137.  
  138. SendClientMessage(playerid, COLOR_GREY, "The color of the vehicle has been saved");
  139. }
  140. }
  141. }
  142. return 1;
  143. }
  144. return 0;
  145. }
  146.  
  147. CMD:privcar(playerid, params[])
  148. {
  149. new carid, color_1, color_2;
  150.  
  151. if(sscanf(params, "ddd", carid, color_1, color_2))
  152. return SendClientMessage(playerid, COLOR_WHITE, "Usage: /privcar [id car] [color 1] [color 2]");
  153. else
  154. {
  155. new Float:x, Float:y, Float:z, Float:r;
  156. GetPlayerPos(playerid, x,y,z);
  157. GetPlayerFacingAngle(playerid, r);
  158. privcar[playerid] = CreateVehicle(carid, x,y,z,r,color_1,color_2,999999);
  159. Player[playerid][p_CAR] = 1;
  160.  
  161. new file[64];
  162. format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
  163. if(!dini_Exists(file))
  164. dini_Create(file);
  165.  
  166. dini_FloatSet(file, "X", x);
  167. dini_FloatSet(file, "Y", y);
  168. dini_FloatSet(file, "Z", z);
  169. dini_FloatSet(file, "R", r);
  170. dini_IntSet(file, "C1", color_1);
  171. dini_IntSet(file, "C2", color_2);
  172. dini_IntSet(file, "CarID", carid);
  173.  
  174. IsPriv[privcar[playerid]] = true;
  175.  
  176. PutPlayerInVehicle(playerid, privcar[playerid], 0);
  177. SendClientMessage(playerid, COLOR_GREY, "The vehicle was successfully loaded and saved, the vehicle was closed");
  178.  
  179. }
  180. return 1;
  181. }
  182.  
  183. CMD:carmenu(playerid, params[])
  184. {
  185. if(Player[playerid][p_CAR] == 1)
  186. {
  187. ShowPlayerDialog(playerid, DIALOG_CAR, DIALOG_STYLE_LIST, "Menu vehicle", "Spawn\nDestroy\nSave\nTeleportedj\nOpen\nClose\nChange Color", "OKAY", "CLOSE");
  188. }
  189. else
  190. {
  191. SendClientMessage(playerid, COLOR_RED, "You do not have a private vehicle!");
  192. }
  193. return 1;
  194. }
  195.  
  196. stock LoadPlayers(playerid)
  197. {
  198. new string[500];
  199. new Gname[MAX_PLAYER_NAME];
  200. GetPlayerName(playerid, Gname, sizeof(Gname));
  201. format(string, sizeof(string), "/Players/%s.ini", Gname);
  202.  
  203. Player[playerid][p_CAR] = dini_Int(string, "Car");
  204. return 1;
  205. }
  206.  
  207. stock SavePlayers(playerid)
  208. {
  209. new string[500];
  210. new Gname[MAX_PLAYER_NAME];
  211. GetPlayerName(playerid, Gname, sizeof(Gname));
  212. format(string, sizeof(string), "/Players/%s.ini", Gname);
  213.  
  214. dini_IntSet(string, "Car", Player[playerid][p_CAR]);
  215. return 1;
  216. }
  217.  
  218. stock PlayerName(playerid)
  219. {
  220. new name[MAX_PLAYER_NAME];
  221. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  222. return name;
  223. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement