Advertisement
BCVBruno

[FS] Cars Machine

Jul 9th, 2012
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.01 KB | None | 0 0
  1. // Premium SAMP, tudo para seu servidor SAMP, FS, GM, Includes e muito mais,
  2. // visite-nos: http://premium-samp.blogspot.com.br/
  3. /*
  4. | |
  5. | Script atualizado by: Jeffrey_Hatrix, thanks to Willian_Luigi |
  6. | to orginal Cars Machine at pastebin.com/HnBePeCp |
  7. | |
  8. */
  9. #include <a_samp>
  10. #include <SII>
  11. #include <ZCMD>
  12. #include <sscanf2>
  13.  
  14. #define filterScriptUser
  15. #define callCarsDialog 1
  16. #define msgbox DIALOG_STYLE_MSGBOX
  17. #define input DIALOG_STYLE_INPUT
  18. #define list DIALOG_STYLE_LIST
  19.  
  20. forward wii_CreateCars(playerid, carro, Float:x_, Float:y_, Float:z_, Float:a_);
  21. forward LOAD_CAR();
  22.  
  23. new Global[128];
  24.  
  25. enum DATA_CAR {
  26. file,
  27. u,
  28. id,
  29. c_,
  30. c2_,
  31. Float:x,
  32. Float:y,
  33. Float:z,
  34. Float:a
  35. };
  36. new Approppriately[DATA_CAR];
  37.  
  38. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  39. {
  40. switch(dialogid)
  41. {
  42. case callCarsDialog:
  43. if(response)
  44. {
  45. ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  46. return 1;
  47. }
  48. case 2:
  49. if(response)
  50. {
  51. if(listitem == 0)
  52. {
  53. ShowPlayerDialog(playerid, 3, input, "Cars GUI","\nDigite o ID válido de um carro para criar&salvar", "Confirmar", "Voltar");
  54. return 1;
  55. }
  56. else if(listitem == 1)
  57. {
  58. ShowPlayerDialog(playerid, 4, input, "Cars GUI","\nDigite o ID file do arquivo para deletar o carro", "Confirmar", "Voltar");
  59. return 1;
  60. }
  61. else if(listitem == 2)
  62. {
  63. ShowPlayerDialog(playerid, 7, list, "Cars GUI - CORES", "\nCor 1\nCor 2\n\n", "Confirmar", "Voltar");
  64. return 1;
  65. }
  66. else if(listitem == 3)
  67. {
  68. ShowPlayerDialog(playerid, 10, input, "Cars GUI - X", "\nDigite o ID do Arquivo carro do qual deseja ir até", "Confirmar", "Voltar");
  69. return 1;
  70. }
  71. else if(listitem == 4)
  72. {
  73. ShowPlayerDialog(playerid, 13, input, "Cars GUI - Spawn", "\nDigite o ID do Veículo que deseja respawnar\n\n", "Confirmar", "Cancelar");
  74. return 1;
  75. }
  76. }
  77. case 3:
  78. if(response)
  79. {
  80. if(IsPlayerInAnyVehicle(playerid))
  81. return ShowPlayerDialog(playerid, 2, list, "ERROR, JÁ ESTÁ EM UM VEÍCULO", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  82.  
  83. GetPlayerPos(playerid, Approppriately[x], Approppriately[y], Approppriately[z]);
  84. GetPlayerFacingAngle(playerid, Approppriately[a]);
  85. new cc_ = strval(inputtext);
  86. SetTimerEx("wii_CreateCars", 5000, false, "ddffff", playerid, cc_, Approppriately[x], Approppriately[y], Approppriately[z], Approppriately[a]);
  87. format(Global, 60, "(WAIT 5 SECONDS) - Arquivo carro criado id do carro: %d", cc_);
  88. ShowPlayerDialog(playerid, 6, msgbox, "Sucessful", Global, "Continuar", "Voltar");
  89. TogglePlayerControllable(playerid, 0);
  90. SetPlayerPos(playerid, Approppriately[x]+2, Approppriately[y], Approppriately[z]);
  91. return 1;
  92. }
  93. else ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  94.  
  95. case 4:
  96. if(response)
  97. {
  98. new cc_ = strval(inputtext);
  99. format(Global, 30, "Carros/%d.ini", cc_);
  100. if(!INI_Exist(Global)) return ShowPlayerDialog(playerid, 5, msgbox, "ERROR", "O id do arquivo carro é inexistente, tente novamente.", "Tentar", "Cancelar");
  101. INI_Remove(Global);
  102. format(Global, 45, "Arquivo carro id[%d] deletado com sucesso!", cc_);
  103. ShowPlayerDialog(playerid, 5, msgbox, "Cars GUI", Global, "Deletar +1", "Cancelar");
  104. DestroyVehicle(cc_);
  105. return 1;
  106. }
  107. else ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  108.  
  109. case 5:
  110. if(response)
  111. {
  112. ShowPlayerDialog(playerid, 4, input, "Cars GUI","\nDigite o ID file do arquivo para deletar o carro", "Confirmar", "Voltar");
  113. return 1;
  114. }
  115. else ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  116.  
  117. case 6:
  118. if(!response) return ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  119.  
  120. case 7:
  121. if(response)
  122. {
  123. if(listitem == 0)
  124. {
  125. ShowPlayerDialog(playerid, 8, input, "COR 1", "\nDigite o id do Arquivo carro\n\n", "Confirmar", "Cancelar");
  126. return 1;
  127. }
  128. else if(listitem == 2)
  129. {
  130. ShowPlayerDialog(playerid, 9, input, "COR 2", "\nDigite o id do Arquivo carro\n\n", "Confirmar", "Cancelar");
  131. return 1;
  132. }
  133. }
  134. else ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  135.  
  136. case 8:
  137. if(response)
  138. {
  139. Approppriately[id] = strval(inputtext);
  140. format(Global, 30, "Carros/%d.ini", Approppriately[id]);
  141. if(!INI_Exist(Global))
  142. return ShowPlayerDialog(playerid, 2, list, "ERROR, ID INVÁLIDO", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  143.  
  144. ShowPlayerDialog(playerid, 11, input, "COR 1", "\nDigite o valor da cor 1 ( 0 - 128 )\n\n", "Confirmar", "Cancelar");
  145. return 1;
  146. }
  147. case 9:
  148. if(response)
  149. {
  150. Approppriately[id] = strval(inputtext);
  151. format(Global, 30, "Carros/%d.ini", Approppriately[id]);
  152. if(!INI_Exist(Global))
  153. return ShowPlayerDialog(playerid, 2, list, "ERROR, ID INVÁLIDO", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  154.  
  155. ShowPlayerDialog(playerid, 12, input, "COR 2", "\nDigite o valor da cor 2 ( 0 - 128 )\n\n", "Confirmar", "Cancelar");
  156. return 1;
  157. }
  158. case 10:
  159. if(response)
  160. {
  161. Approppriately[id] = strval(inputtext);
  162. format(Global, 30, "Carros/%d.ini", Approppriately[id]);
  163. if(!INI_Exist(Global))
  164. return ShowPlayerDialog(playerid, 2, list, "ERROR, ID INVÁLIDO", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  165.  
  166. PutPlayerInVehicle(playerid, Approppriately[id], 0);
  167. ShowPlayerDialog(playerid, 2, list, "Cars GUI - Teleportado com sucesso.", "\nCriar carro\nDeletar carro\nModificar cores\n\n", "Confirmar", "Cancelar");
  168. return 1;
  169. }
  170. else ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  171.  
  172. case 11:
  173. if(response)
  174. {
  175. if(128 > Approppriately[c_] < 0)
  176. return ShowPlayerDialog(playerid, 2, list, "ERROR, VALOR INVÁLIDO", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  177.  
  178. Approppriately[c_] = strval(inputtext);
  179. format(Global, 30, "Carros/%d.ini", Approppriately[id]);
  180. INI_Open(Global);
  181. INI_WriteInt("Info Cor 1", Approppriately[c_]);
  182. INI_Save();
  183. INI_Close();
  184. ChangeVehicleColor(Approppriately[id], Approppriately[c_], Approppriately[c2_]);
  185. return 1;
  186. }
  187. else ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  188.  
  189. case 12:
  190. if(response)
  191. {
  192. if(128 > Approppriately[c2_] < 0)
  193. return ShowPlayerDialog(playerid, 2, list, "ERROR, VALOR INVÁLIDO", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  194.  
  195. Approppriately[c2_] = strval(inputtext);
  196. format(Global, 30, "Carros/%d.ini", Approppriately[id]);
  197. INI_Open(Global);
  198. INI_WriteInt("Info Cor 2", Approppriately[c2_]);
  199. INI_Save();
  200. INI_Close();
  201. ChangeVehicleColor(Approppriately[id], Approppriately[c_], Approppriately[c2_]);
  202. return 1;
  203. }
  204. else ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  205.  
  206. case 13:
  207. if(response)
  208. {
  209. Approppriately[id] = strval(inputtext);
  210. format(Global, 30, "Carros/%d.ini", Approppriately[id]);
  211. if(!INI_Exist(Global))
  212. return ShowPlayerDialog(playerid, 2, list, "ERROR, ID INVÁLIDO", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  213.  
  214. SetVehicleToRespawn(Approppriately[id]);
  215. ShowPlayerDialog(playerid, 2, list, "VEÍCULO RESPAWNADO", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  216. return 1;
  217. }
  218. else ShowPlayerDialog(playerid, 2, list, "Cars GUI", "\nCriar carro\nDeletar carro\nModificar cores\nIr até carro \"x\"\nRespawn carro \"x\"\n\n", "Confirmar", "Cancelar");
  219.  
  220. default: return false;
  221. }
  222. return 1;
  223. }
  224.  
  225. CMD:carsmachine(playerid) {
  226. if(!IsPlayerAdmin(playerid))
  227. return SendClientMessage(playerid, -1, "Você não é um admin logado na Rcon");
  228. ShowPlayerDialog(playerid, callCarsDialog, msgbox, "Introduction", "[FS] - Feito por Willian_Luigi, atualizado e modificado por Jeffrey_Hatrix\n\n", "Continuar", "");
  229. return 1;
  230. }
  231. /*
  232. CMD:ac(playerid, params[]) {
  233. new id_;
  234. if(sscanf(params, "d", id_))
  235. return SendClientMessage(playerid, -1, "Approppriately Use: /ac [id file]");
  236.  
  237. format(Global, 20, "Carros/%d.ini", id_);
  238. if(!INI_Exist(Global))
  239. return SendClientMessage(playerid, -1, "ID inexistente");
  240.  
  241. INI_Remove(Global);
  242. format(Global, 30, "Arquivo carro id %d deletado!", id_);
  243. return 1;
  244. }
  245.  
  246. CMD:cc(playerid, params[]) {
  247. new car;
  248. if(sscanf(params,"d", car))
  249. return SendClientMessage(playerid, -1, "Approppriately Use: /cc [ID]");
  250.  
  251. if(IsPlayerInAnyVehicle(playerid)) {
  252. GetVehiclePos(GetPlayerVehicleID(playerid), Approppriately[x], Approppriately[y], Approppriately[z]);
  253. GetVehicleZAngle(GetPlayerVehicleID(playerid), Approppriately[a]);
  254. }
  255. else {
  256. GetPlayerPos(playerid, Approppriately[x], Approppriately[y], Approppriately[z]);
  257. GetPlayerFacingAngle(playerid, Approppriately[a]);
  258. }
  259. if(611 > car > 400)
  260. return (SetTimerEx("wii_CreateCars", 5000, false, "ddffff",playerid, car, Approppriately[x], Approppriately[y], Approppriately[z], Approppriately[a]));
  261. SendClientMessage(playerid, -1, "Carro criado com sucesso.");
  262. return 1;
  263. }*/
  264.  
  265. public wii_CreateCars(playerid, carro, Float:x_, Float:y_, Float:z_, Float:a_) {
  266. TogglePlayerControllable(playerid, 1);
  267. Approppriately[file] ++;
  268. Approppriately[c_] = random(128);
  269. Approppriately[c2_] = random(128);
  270. new ff = CreateVehicle(carro, x_, y_, z_, a_, Approppriately[c_], Approppriately[c2_], 9999999);
  271. PutPlayerInVehicle(playerid, ff , 0);
  272. format(Global, 30, "Carros/%d.ini", Approppriately[file]);
  273. INI_Open(Global);
  274. INI_WriteInt("Info Car ID", carro);
  275. INI_WriteInt("Info Car ID GAME", Approppriately[file]);
  276. INI_WriteFloat("Info Float x", Approppriately[x]);
  277. INI_WriteFloat("Info Float y", Approppriately[y]);
  278. INI_WriteFloat("Info Float z", Approppriately[z]);
  279. INI_WriteFloat("Info Angle", Approppriately[a]);
  280. INI_WriteInt("Info Cor 1", Approppriately[c_]);
  281. INI_WriteInt("Info Cor 2", Approppriately[c2_]);
  282. INI_Save();
  283. INI_Close();
  284. strdel(Global, 0, 128);
  285. INI_Open("Carros/MaxVehicles");
  286. INI_WriteInt("Veiculos Criados", Approppriately[file]);
  287. INI_Save();
  288. INI_Close();
  289. return 1;
  290. }
  291.  
  292. public LOAD_CAR() {
  293. INI_Open("Carros/MaxVehicles");
  294. Approppriately[id] = INI_ReadInt("Veiculos Criados");
  295. new n = 1;
  296. while(n != -1) {
  297. format(Global, 30, "Carros/%d.ini", n);
  298. if(!fexist(Global)) break;
  299. INI_Open(Global);
  300. Approppriately[id] = INI_ReadInt("Info Car ID GAME");
  301. Approppriately[u] = INI_ReadInt("Info Car ID");
  302. Approppriately[x] = INI_ReadFloat("Info Float x");
  303. Approppriately[y] = INI_ReadFloat("Info Float y");
  304. Approppriately[z] = INI_ReadFloat("Info Float z");
  305. Approppriately[a] = INI_ReadFloat("Info Angle");
  306. Approppriately[c_] = INI_ReadInt("Info Cor 1");
  307. Approppriately[c2_] = INI_ReadInt("Info Cor 2");
  308. AddStaticVehicleEx(Approppriately[u], Approppriately[x], Approppriately[y], Approppriately[z], Approppriately[a], Approppriately[c_], Approppriately[c2_], 9999999);
  309. n++;
  310. }
  311. return 1;
  312. }
  313.  
  314.  
  315. #if defined filterScriptUser
  316. public OnFilterScriptInit() {
  317. LOAD_CAR();
  318.  
  319. print("\n--------------------------------------\n");
  320. print("FilterScript vehicleCreator.");
  321. print("Atual update 1.0 from Jeffrey_Hatrix, thanks to Willian_Luigi");
  322. printf("Veículos carregados: %d", Approppriately[id]);
  323. return print("\n--------------------------------------\n");
  324. }
  325. #else
  326. #error Run this like a FilterScript, By:Willian_Luigi
  327. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement