Guest User

Untitled

a guest
Feb 14th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.45 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4. #include <dof2>
  5.  
  6. #define CUSTO_CARRO (2500)//dinheiro ao escolher o carro
  7.  
  8. #define Dialog_03x_1 (9990)
  9. #define Dialog_03x_2 (9991)
  10. #define Dialog_03x_3 (9992)
  11. #define Dialog_03x_4 (9993)
  12. #if defined FILTERSCRIPT
  13. #else
  14.  
  15. main()
  16. {
  17. print("\n----------------------------------");
  18. print(" Blank Gamemode by your name here");
  19. print("----------------------------------\n");
  20. }
  21.  
  22. #endif
  23. new NomesCarroS[][] ={
  24. "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck",
  25. "Trashmaster","Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance",
  26. "Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Whoopee","BF Injection","Hunter","Premier",
  27. "Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon",
  28. "Coach","Cabbie","Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo",
  29. "Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy",
  30. "Solair","Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale",
  31. "Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3-50","Walton","Regina",
  32. "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","Chopper","Rancher","FBI Rancher",
  33. "Virgo","Greenwood","Jetmax","Hotring","Sandking","Blista","Maverick","Boxville","Benson","Mesa",
  34. "RC Goblin","Hotring","Hotring","Bloodring","Rancher","Super GT","Elegant","Journey",
  35. "Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic","Buccaneer",
  36. "Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  37. "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent",
  38. "Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility",
  39. "Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus","Jester","Sultan","Stratum","Elegy",
  40. "Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer","Kart","Mower","Duneride","Sweeper",
  41. "Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer","Emperor",
  42. "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car","Police Car",
  43. "Police Car","Police Ranger","Picador","S.W.A.T.","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer","Luggage Trailer",
  44. "Stair Trailer","Boxville","Farm Plow","Utility Trailer"};
  45.  
  46. new Float:RandomPosXYZ[][]=
  47. {
  48. {2147.7568,-1166.3738,23.5254,269.3909},
  49. {2148.0610,-1161.7148,23.5274,270.0405},
  50. {2147.8440,-1157.3314,23.5506,269.9344},
  51. {2161.2195,-1167.6934,23.5241,89.5632},
  52. {2161.2771,-1172.7664,23.5250,88.4558},
  53. {2161.2710,-1177.8595,23.5239,89.7862}
  54. };
  55. new pickup;
  56. new Text3D:d3d;
  57.  
  58. stock VeiculosValidos(m)
  59. {
  60. if(
  61. m==400||m==401||m==402||m==404||m==560||m==405||
  62. m==410||m==411||m==412||m==413||m==415||m==418||
  63. m==419||m==422||m==424||m==426||m==429||m==434||
  64. m==436||m==439||m==442||m==444||m==445||m==451||
  65. m==458||m==461||m==462||m==463||m==466||m==467||
  66. m==468||m==474||m==475||m==522||m==521||m==478||
  67. m==479||m==480||m==481||m==483||m==491||m==492||
  68. m==496||m==500||m==506||m==507||m==508||m==517||
  69. m==518||m==527||m==533||m==534||m==535||m==536||
  70. m==541||m==542||m==545||m==549||m==550||m==551||
  71. m==554||m==555)
  72. {
  73. return true;
  74. }
  75. return false;
  76. }
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83. enum text
  84. {
  85. Float:RotCarroX,
  86. Float:RotCarroY,
  87. Float:RotCarroZ,
  88. Float:CarroX,
  89. Float:CarroY,
  90. Float:CarroZ,
  91. Float:CarroAng,
  92. bool:InText,
  93. Text3D:CarroText3D,
  94. PlayerText:Textdraw0,
  95. PlayerText:Textdraw1,
  96. PlayerText:Textdraw2,
  97. PlayerText:Textdraw3,
  98. PlayerText:Textdraw4,
  99. PlayerText:Textdraw5,
  100. PlayerText:Textdraw6,
  101. PlayerText:Textdraw7,
  102. PlayerText:Textdraw8,
  103. timerplayer,
  104. CarroID,
  105. carrocor1,
  106. carrocor2,
  107. CarroDono
  108. };
  109. new Te_xT[MAX_PLAYERS][text];
  110. new DonoCarro[MAX_VEHICLES];
  111.  
  112. public OnFilterScriptInit()
  113. {
  114.  
  115. print(" FS New concessionaria [0.3x]: LOADED");
  116.  
  117. pickup = CreatePickup(1318, 24, 2140.0034,-1176.8870,23.9922, 0);
  118. d3d = Create3DTextLabel("{FFFFFF}Escolha seu veículo proprio aqui\n{00D4F6}Use: /comprarveiculo\nR$2500",-1,2140.0034,-1176.8870,23.9922, 20.0, 0);
  119.  
  120. for(new i; i < MAX_PLAYERS; i ++)
  121. {
  122. if(IsPlayerConnected(i))
  123. {
  124. OnPlayerConnect(i);
  125. }
  126. }
  127.  
  128. for(new x; x < MAX_VEHICLES; x++)
  129. {
  130. DonoCarro[x] = INVALID_PLAYER_ID;
  131. }
  132. return 1;
  133. }
  134.  
  135. public OnFilterScriptExit()
  136. {
  137.  
  138. print(" FS New concessionaria [0.3x]: UNLOADED");
  139.  
  140. DestroyPickup(pickup);
  141. Delete3DTextLabel(d3d);
  142.  
  143. for(new i; i < MAX_PLAYERS; i ++)
  144. {
  145. if(IsPlayerConnected(i))
  146. {
  147. if(Te_xT[i][InText])Terminar(i);
  148. if(Te_xT[i][CarroDono] != INVALID_VEHICLE_ID)
  149. {
  150. Disconnect(i);
  151. }
  152. }
  153. }
  154. DOF2_SaveFile();
  155. return 1;
  156. }
  157.  
  158. public OnPlayerConnect(playerid)
  159. {
  160. Te_xT[playerid][InText] = false;
  161. Te_xT[playerid][CarroDono] = INVALID_VEHICLE_ID;
  162.  
  163. new file[74], nome[24];
  164. GetPlayerName(playerid, nome, 24);
  165. format(file, 74, "0.3xCarroSystem/%s.txt", nome);
  166. SetPlayerMapIcon(playerid, 98,2140.0034,-1176.8870,23.9922, 12, 0xCFCFCF);
  167. if(DOF2_FileExists(file))
  168. {
  169. CarregarCarro(playerid);
  170. }
  171. return 0;
  172. }
  173.  
  174.  
  175. Disconnect(playerid)
  176. {
  177. if(Te_xT[playerid][CarroDono] != INVALID_VEHICLE_ID)
  178. {
  179. Delete3DTextLabel(Te_xT[playerid][CarroText3D]);
  180. DestroyVehicle(Te_xT[playerid][CarroDono]);
  181. }
  182. RemovePlayerMapIcon(playerid, 98);
  183. return 0;
  184. }
  185.  
  186.  
  187. public OnPlayerDisconnect(playerid, reason)
  188. {
  189. Disconnect(playerid);
  190. return 0;
  191. }
  192.  
  193.  
  194. CreateTexts(playerid)
  195. {
  196. Te_xT[playerid][Textdraw0] = CreatePlayerTextDraw(playerid,540.000000, 122.000000, "_");
  197. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw0], 255);
  198. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw0], 1);
  199. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw0], 0.500000, 29.000000);
  200. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw0], -1);
  201. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw0], 0);
  202. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw0], 1);
  203. PlayerTextDrawSetShadow(playerid,Te_xT[playerid][Textdraw0], 1);
  204. PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw0], 1);
  205. PlayerTextDrawBoxColor(playerid,Te_xT[playerid][Textdraw0], 200);
  206. PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw0], 90.000000, 0.000000);
  207.  
  208. Te_xT[playerid][Textdraw2] = CreatePlayerTextDraw(playerid,481.000000, 223.000000, ">");
  209. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw2], 50);
  210. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw2], 3);
  211. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw2], 1.510000, 5.399999);
  212. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw2], 65535);
  213. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw2], 1);
  214. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw2], 1);
  215. PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw2], 530.000000, 50.000000);
  216.  
  217. Te_xT[playerid][Textdraw3] = CreatePlayerTextDraw(playerid,111.000000, 223.000000, "<");
  218. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw3], 50);
  219. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw3], 3);
  220. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw3], 1.510000, 5.399999);
  221. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw3], 65535);
  222. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw3], 1);
  223. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw3], 1);
  224. PlayerTextDrawTextSize(playerid, Te_xT[playerid][Textdraw3], 150.000000, 50.000000);
  225.  
  226. Te_xT[playerid][Textdraw4] = CreatePlayerTextDraw(playerid,170.000000, 130.000000, "_");
  227. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw4], 0);
  228. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw4], TEXT_DRAW_FONT_MODEL_PREVIEW);
  229. PlayerTextDrawSetPreviewRot(playerid,Te_xT[playerid][Textdraw4], -16.0, 0.0, -55.0);
  230. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw4], 0.500000, 19.000000);
  231. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw4], 0xFFFFFFFF);
  232. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw4], 0);
  233. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw4], 1);
  234. PlayerTextDrawSetShadow(playerid,Te_xT[playerid][Textdraw4], 1);
  235. PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw4], 0);
  236. PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw4], 290.000000, 230.000000);
  237.  
  238. Te_xT[playerid][Textdraw5] = CreatePlayerTextDraw(playerid,112.000000, 146.000000, "Carro: ~y~NRG-500");
  239. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw5], -241);
  240. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw5], 2);
  241. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw5], 0.370000, 2.200000);
  242. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw5], -1);
  243. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw5], 1);
  244. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw5], 1);
  245.  
  246. Te_xT[playerid][Textdraw6] = CreatePlayerTextDraw(playerid,96.000000, 371.000000, "ld_dual:health");
  247. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw6], 255);
  248. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw6], 4);
  249. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw6], 0.500000, 1.000000);
  250. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw6], -1);
  251. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw6], 0);
  252. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw6], 1);
  253. PlayerTextDrawSetShadow(playerid,Te_xT[playerid][Textdraw6], 1);
  254. PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw6], 1);
  255. PlayerTextDrawBoxColor(playerid,Te_xT[playerid][Textdraw6], 255);
  256. PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw6], 440.000000, 13.000000);
  257.  
  258. Te_xT[playerid][Textdraw7] = CreatePlayerTextDraw(playerid,95.000000, 120.000000, "ld_dual:health");
  259. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw7], 255);
  260. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw7], 4);
  261. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw7], 0.500000, 1.000000);
  262. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw7], -1);
  263. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw7], 0);
  264. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw7], 1);
  265. PlayerTextDrawSetShadow(playerid,Te_xT[playerid][Textdraw7], 1);
  266. PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw7], 1);
  267. PlayerTextDrawBoxColor(playerid,Te_xT[playerid][Textdraw7], 255);
  268. PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw7], 440.000000, 13.000000);
  269.  
  270. Te_xT[playerid][Textdraw8] = CreatePlayerTextDraw(playerid,480.000000, 352.000000, "SAIR");
  271. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw8], -65516);
  272. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw8], 2);
  273. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw8], 0.559998, 2.000000);
  274. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw8], -65281);
  275. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw8], 1);
  276. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw8], 1);
  277.  
  278. //-- new --//
  279. Te_xT[playerid][Textdraw1] = CreatePlayerTextDraw(playerid,100.000000, 356.000000, "> Escolha o ID do carro <");
  280. PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw1], 30);
  281. PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw1], 1);
  282. PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw1], 0.240000, 1.200000);
  283. PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw1], 16711935);
  284. PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw1], 1);
  285. PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw1], 1);
  286. PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw1], 1);
  287. PlayerTextDrawBoxColor(playerid,Te_xT[playerid][Textdraw1], 16711740);
  288. PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw1], 210.000000, 20.000000);
  289. PlayerTextDrawSetSelectable(playerid,Te_xT[playerid][Textdraw1], 1);
  290.  
  291. PlayerTextDrawSetSelectable(playerid, Te_xT[playerid][Textdraw2], 1);
  292. PlayerTextDrawSetSelectable(playerid, Te_xT[playerid][Textdraw3], 1);
  293. PlayerTextDrawSetSelectable(playerid, Te_xT[playerid][Textdraw4], 1);
  294. PlayerTextDrawSetSelectable(playerid, Te_xT[playerid][Textdraw8], 1);
  295. return true;
  296. }
  297.  
  298.  
  299. #if defined _zcmd_included
  300. CMD:spawn(playerid)
  301. {
  302. SetPlayerPos(playerid,2140.0034,-1176.8870,23.9922);
  303. return 1;
  304. }
  305. CMD:comprarveiculo(playerid, cores[])
  306. {
  307.  
  308. if(Te_xT[playerid][InText])
  309. return SendClientMessage(playerid, 0xFF0000FF, "Você já está escolhendo um carro.");
  310.  
  311. if(!IsPlayerInRangeOfPoint(playerid, 2.0,2140.0034,-1176.8870,23.9922))
  312. return SendClientMessage(playerid, 0xFF0000FF, "Você não está no local de comprar carros.");
  313.  
  314. if(GetPlayerMoney(playerid) < CUSTO_CARRO)
  315. return SendClientMessage(playerid, 0xFF0000FF, "Você não tem o dinheiro suficiente.");
  316.  
  317.  
  318. new cor[2];
  319. if(sscanf(cores, "dd",cor[0], cor[1]))return SendClientMessage(playerid, 0x00CC00FF, "(SERVER): /comprarveiculo [cor1] [cor2]");
  320. Te_xT[playerid][carrocor1] = cor[0];
  321. Te_xT[playerid][carrocor2] = cor[1];
  322. PlayerTextDrawSetPreviewVehCol(playerid,Te_xT[playerid][Textdraw4], cor[0], cor[1]);
  323. Te_xT[playerid][InText] = true;
  324.  
  325. CreateTexts(playerid);
  326.  
  327. Escolher (playerid);
  328.  
  329. UpdateText(playerid);
  330.  
  331. return true;
  332. }
  333.  
  334.  
  335. CMD:sairtext(playerid, cores[])
  336. {
  337.  
  338. if(!Te_xT[playerid][InText])
  339. return SendClientMessage(playerid, 0xFF0000FF, "Você já está escolhendo um carro.");
  340.  
  341. SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Você escolheu sair.");
  342. Terminar(playerid);
  343. return true;
  344. }
  345.  
  346. CMD:salvarpos(playerid)
  347. {
  348. if(Te_xT[playerid][CarroDono] == INVALID_VEHICLE_ID)
  349. return SendClientMessage(playerid, 0xFF0000FF, "Você não tem um carro próprio.");
  350.  
  351. if(!IsPlayerInAnyVehicle(playerid) || GetPlayerVehicleID(playerid) != Te_xT[playerid][CarroDono])
  352. return SendClientMessage(playerid, 0xFF0000FF, "Você não está no seu veículo.");
  353.  
  354. new Float:x, Float:y, Float:z, Float:A;
  355. GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
  356. GetVehicleZAngle(GetPlayerVehicleID(playerid), A);
  357.  
  358. Te_xT[playerid][CarroX] = x;
  359. Te_xT[playerid][CarroY] = y;
  360. Te_xT[playerid][CarroZ] = z;
  361. Te_xT[playerid][CarroAng] = A;
  362.  
  363. SalvarPlayerCarro(playerid);
  364.  
  365. SendClientMessage(playerid, 0x00CC00FF, "(SERVER): Seu carro ficará salvo neste local a partir de agora.");
  366. return true;
  367. }
  368. #endif
  369.  
  370.  
  371. public OnPlayerStateChange(playerid, newstate, oldstate)
  372. {
  373. if(newstate == PLAYER_STATE_DRIVER)
  374. {
  375. if(DonoCarro[GetPlayerVehicleID(playerid)] != INVALID_PLAYER_ID && DonoCarro[GetPlayerVehicleID(playerid)] != playerid)
  376. {
  377. SendClientMessage(playerid, 0xFF0000FF, "{SERVER): Este veiculo não pertence a você.");
  378. RemovePlayerFromVehicle(playerid);
  379. }
  380. }
  381. return true;
  382. }
  383.  
  384.  
  385. UpdateText(playerid)
  386. {
  387. new nomecarro[63] = "Carro: ~y~";
  388.  
  389. PlayerTextDrawSetPreviewVehCol(playerid,Te_xT[playerid][Textdraw4], Te_xT[playerid][carrocor1], Te_xT[playerid][carrocor2]);
  390.  
  391. strcat(nomecarro, NomesCarroS[Te_xT[playerid][CarroID]-400]);
  392.  
  393. PlayerTextDrawSetString(playerid,Te_xT[playerid][Textdraw5], nomecarro);
  394.  
  395. /*Te_xT[playerid][RotCarroX] = -16.0 ;
  396. Te_xT[playerid][RotCarroY] = 0.0 ;
  397. Te_xT[playerid][RotCarroZ] = -55.0 ;*/
  398.  
  399. PlayerTextDrawSetPreviewModel(playerid,Te_xT[playerid][Textdraw4], Te_xT[playerid][CarroID]);
  400.  
  401. PlayerTextDrawShow(playerid,Te_xT[playerid][Textdraw4]);
  402. return 0;
  403.  
  404. }
  405.  
  406.  
  407.  
  408.  
  409.  
  410. Escolher(playerid)
  411. {
  412.  
  413. Te_xT[playerid][RotCarroX] = -16.0 ;
  414. Te_xT[playerid][RotCarroY] = 0.0 ;
  415. Te_xT[playerid][RotCarroZ] = -55.0 ;
  416.  
  417. Te_xT[playerid][CarroID] = 400;
  418.  
  419. PlayerTextDrawSetPreviewModel(playerid,Te_xT[playerid][Textdraw4], Te_xT[playerid][CarroID]);
  420. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw0]);
  421. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw2]);
  422. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw3]);
  423. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw4]);
  424. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw5]);
  425. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw6]);
  426. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw7]);
  427. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw8]);
  428. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw1]);
  429. SelectTextDraw(playerid, 0xFF0000FF);
  430.  
  431. KillTimer(Te_xT[playerid][timerplayer]);
  432. Te_xT[playerid][timerplayer] = SetTimerEx("AtualizarPos", 4000, true, "i", playerid);
  433.  
  434. SetPlayerCameraPos(playerid, 729.42, -1569.42, 49.15);
  435. SetPlayerCameraLookAt(playerid, 729.65, -1564.39, 45.89);
  436. SetPlayerPos(playerid, 729.42, -1569.42, 49.15+25.0);
  437. TogglePlayerControllable(playerid, false);
  438. SendClientMessage(playerid, 0x00CC00ff, "(SERVER): Escolha o carro desejado. Caso de algum bug, digite: /sairtext");
  439. GivePlayerMoney(playerid, -CUSTO_CARRO);
  440. }
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447. Terminar(playerid)
  448. {
  449.  
  450. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw0]);
  451. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw2]);
  452. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw3]);
  453. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw4]);
  454. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw5]);
  455. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw6]);
  456. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw7]);
  457. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw8]);
  458. PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw1]);
  459. KillTimer(Te_xT[playerid][timerplayer]);
  460. SetCameraBehindPlayer(playerid);
  461. TogglePlayerControllable(playerid, true);
  462. SetPlayerPos(playerid, 2140.0034,-1176.8870,23.9922);
  463. Te_xT[playerid][InText] = false;
  464. CancelSelectTextDraw(playerid);
  465. return true;
  466.  
  467. }
  468.  
  469.  
  470. forward AtualizarPos(playerid);
  471. public AtualizarPos(playerid)
  472. {
  473. Te_xT[playerid][RotCarroZ] += 50.0;
  474.  
  475. PlayerTextDrawSetPreviewRot(playerid,Te_xT[playerid][Textdraw4], Te_xT[playerid][RotCarroX], Te_xT[playerid][RotCarroY], Te_xT[playerid][RotCarroZ]);
  476. PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw4]);
  477.  
  478. return 0;
  479. }
  480.  
  481.  
  482.  
  483.  
  484. public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
  485. {
  486. if(playertextid == PlayerText:0xFFFF && Te_xT[playerid][InText])
  487. {
  488. SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Você deve escolher um carro, ou aperte em 'SAIR'");
  489. SelectTextDraw(playerid, 0xFF0000FF);// (( << Se o player apertar ESC ))
  490. }
  491. if(Te_xT[playerid][InText])
  492. {
  493. if(playertextid == Te_xT[playerid][Textdraw2])
  494. {
  495. if(Te_xT[playerid][CarroID] >= 605)return false;
  496.  
  497. Te_xT[playerid][CarroID]++;
  498.  
  499. UpdateText(playerid);
  500.  
  501. }
  502.  
  503. if(playertextid == Te_xT[playerid][Textdraw3])
  504. {
  505. if(Te_xT[playerid][CarroID] <= 400)return false;
  506. Te_xT[playerid][CarroID]--;
  507.  
  508. UpdateText(playerid);
  509.  
  510. }
  511.  
  512. if(playertextid == Te_xT[playerid][Textdraw4])
  513. {
  514.  
  515. if(!VeiculosValidos(Te_xT[playerid][CarroID]))
  516. {
  517. return SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Veiculo proibido.");
  518. }
  519. EscolherCarro(playerid);
  520. return true;
  521.  
  522. }
  523.  
  524. if(playertextid == Te_xT[playerid][Textdraw8])
  525. {
  526.  
  527. SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Você escolheu sair.");
  528. Terminar(playerid);
  529.  
  530. }
  531.  
  532. if(playertextid == Te_xT[playerid][Textdraw1])
  533. {
  534.  
  535. CancelSelectTextDraw(playerid);
  536. SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Escolha o ID do veículo...");
  537. ShowPlayerDialog(playerid, Dialog_03x_1, DIALOG_STYLE_LIST, "Car Infos","» Veiculo Modelo\n» Color 1\n» Color 2","Escolher","Cancelar");
  538. }
  539. }
  540. return 0;
  541. }
  542.  
  543.  
  544.  
  545.  
  546. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  547. {
  548. if(dialogid == Dialog_03x_1)
  549. {
  550. if(!response)return SelectTextDraw(playerid, 0xFF0000FF);
  551. if(listitem == 0)
  552. {
  553. ShowPlayerDialog(playerid, Dialog_03x_2, DIALOG_STYLE_INPUT, "ID do veiculo","Digite o ID do veiculo que você deseja comprar\nOBS: Não pode ser abaixo de 400 ou acima de 600","Escolher","Cancelar");
  554. }
  555. else if(listitem == 1)
  556. {
  557. ShowPlayerDialog(playerid, Dialog_03x_3, DIALOG_STYLE_INPUT, "Color 1","Digite a primeira cor do veiculo", "Escolher","Voltar");
  558. }
  559. else if(listitem == 2)
  560. {
  561. ShowPlayerDialog(playerid, Dialog_03x_4, DIALOG_STYLE_INPUT, "Color 2","Digite a segunda cor do veiculo", "Escolher","Voltar");
  562. }
  563. return 0;
  564.  
  565. }
  566. if(dialogid == Dialog_03x_2)
  567. {
  568. new id = strval(inputtext);
  569. if(!id || id < 400 || id > 600 || !VeiculosValidos(id))
  570. {
  571. return ShowPlayerDialog(playerid, Dialog_03x_2, DIALOG_STYLE_INPUT, \
  572. "ID do veiculo","Digite o ID do veiculo que você deseja comprar\n\
  573. OBS: Não pode ser abaixo de 400 ou acima de 600\n\
  574. {FF0000}ID Invalido","Escolher","Cancelar");
  575. }
  576. SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Veiculo escolhido com sucesso.");
  577.  
  578. Te_xT[playerid][CarroID] = id;
  579.  
  580. UpdateText(playerid);
  581. ShowPlayerDialog(playerid, Dialog_03x_1, DIALOG_STYLE_LIST, "Car Infos","» Veiculo Modelo\n» Color 1\n» Color 2","Escolher","Cancelar");
  582.  
  583. }
  584. if(dialogid == Dialog_03x_3)
  585. {
  586. new id = strval(inputtext);
  587. if(!id)
  588. {
  589. return ShowPlayerDialog(playerid, Dialog_03x_3, DIALOG_STYLE_INPUT, "Color 1","Digite a primeira cor do veiculo", "Escolher","Voltar");
  590. }
  591. SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Cor 1 trocada com sucesso.");
  592.  
  593. Te_xT[playerid][carrocor1] = id;
  594.  
  595. UpdateText(playerid);
  596. ShowPlayerDialog(playerid, Dialog_03x_1, DIALOG_STYLE_LIST, "Car Infos","» Veiculo Modelo\n» Color 1\n» Color 2","Escolher","Cancelar");
  597.  
  598. }
  599. if(dialogid == Dialog_03x_4)
  600. {
  601. new id = strval(inputtext);
  602. if(!id)
  603. {
  604. return ShowPlayerDialog(playerid, Dialog_03x_4, DIALOG_STYLE_INPUT, "Color 2","Digite a segunda cor do veiculo", "Escolher","Voltar");
  605. }
  606. SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Cor 2 trocada com sucesso.");
  607.  
  608. Te_xT[playerid][carrocor2] = id;
  609.  
  610. UpdateText(playerid);
  611. ShowPlayerDialog(playerid, Dialog_03x_1, DIALOG_STYLE_LIST, "Car Infos","» Veiculo Modelo\n» Color 1\n» Color 2","Escolher","Cancelar");
  612.  
  613. }
  614. return false;
  615. }
  616.  
  617.  
  618.  
  619. stock EscolherCarro(playerid)
  620. {
  621. new randompos = random(sizeof(RandomPosXYZ)), text3d[128], nome[24];
  622. GetPlayerName(playerid, nome, 24);
  623. if(Te_xT[playerid][CarroDono] == INVALID_VEHICLE_ID)
  624. {
  625. Te_xT[playerid][CarroDono] = AddStaticVehicleEx(Te_xT[playerid][CarroID],
  626. RandomPosXYZ[randompos][0], RandomPosXYZ[randompos][1], RandomPosXYZ[randompos][2],RandomPosXYZ[randompos][3],
  627. Te_xT[playerid][carrocor1],Te_xT[playerid][carrocor2], -1);
  628.  
  629. format(text3d, 100, "{FFFFFF}Este veiculo pertence a:{00D4F6}\n%s", nome);
  630. Te_xT[playerid][CarroText3D] = Create3DTextLabel(text3d, -1, 0.0, 0.0, 0.0, 12.0, 0);
  631. Attach3DTextLabelToVehicle(Te_xT[playerid][CarroText3D], Te_xT[playerid][CarroDono], 0.0,0.0,0.0);
  632. }
  633. else
  634. {
  635. DestroyVehicle(Te_xT[playerid][CarroDono]);
  636. Te_xT[playerid][CarroDono] = AddStaticVehicleEx(Te_xT[playerid][CarroID],
  637. RandomPosXYZ[randompos][0], RandomPosXYZ[randompos][1], RandomPosXYZ[randompos][2],RandomPosXYZ[randompos][3],
  638. Te_xT[playerid][carrocor1],Te_xT[playerid][carrocor2], -1);
  639. Attach3DTextLabelToVehicle(Te_xT[playerid][CarroText3D], Te_xT[playerid][CarroDono], 0.0,0.0,0.0);
  640. }
  641. Terminar(playerid);
  642. PutPlayerInVehicle(playerid, Te_xT[playerid][CarroDono], 0);
  643. format(text3d, 127, "(SERVER): Você comprou o carro %s por $%d, USE: /salvarpos para salva-lo.",NomesCarroS[Te_xT[playerid][CarroID]-400], CUSTO_CARRO);
  644. GivePlayerMoney(playerid, -CUSTO_CARRO),SendClientMessage(playerid, -1, text3d);
  645. return true;
  646. }
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653. stock SalvarPlayerCarro(playerid)
  654. {
  655. new file[100], nome[24];
  656. GetPlayerName(playerid, nome, 24);
  657. format(file, 74, "0.3xCarroSystem/%s.txt", nome);
  658. if(!DOF2_FileExists(file))DOF2_CreateFile(file);
  659. DOF2_SetInt(file, "ModeloCarro", Te_xT[playerid][CarroID]);
  660. DOF2_SetInt(file, "Color1", Te_xT[playerid][carrocor1]);
  661. DOF2_SetInt(file, "Color2", Te_xT[playerid][carrocor2]);
  662. DOF2_SetFloat(file, "PosCarroX", Te_xT[playerid][CarroX]);
  663. DOF2_SetFloat(file, "PosCarroY", Te_xT[playerid][CarroY]);
  664. DOF2_SetFloat(file, "PosCarroZ", Te_xT[playerid][CarroZ]);
  665. DOF2_SetFloat(file, "PosCarroAng", Te_xT[playerid][CarroAng]);
  666. DOF2_SaveFile();
  667. return 0;
  668. }
  669.  
  670.  
  671.  
  672.  
  673. CarregarCarro(playerid)
  674. {
  675. new file[100], nome[24], text3d[100];
  676. GetPlayerName(playerid, nome, 24);
  677. format(file, 74, "0.3xCarroSystem/%s.txt", nome);
  678. if(DOF2_FileExists(file))
  679. {
  680.  
  681. Te_xT[playerid][CarroID] = DOF2_GetInt(file, "ModeloCarro");
  682. Te_xT[playerid][carrocor1] = DOF2_GetInt(file, "Color1");
  683. Te_xT[playerid][carrocor2] = DOF2_GetInt(file, "Color2");
  684. Te_xT[playerid][CarroX] = DOF2_GetFloat(file, "PosCarroX");
  685. Te_xT[playerid][CarroY] = DOF2_GetFloat(file, "PosCarroY");
  686. Te_xT[playerid][CarroZ] = DOF2_GetFloat(file, "PosCarroZ");
  687. Te_xT[playerid][CarroAng] = DOF2_GetFloat(file, "PosCarroAng");
  688.  
  689. Te_xT[playerid][CarroDono] = CreateVehicle(Te_xT[playerid][CarroID],
  690. Te_xT[playerid][CarroX], Te_xT[playerid][CarroY], Te_xT[playerid][CarroZ],Te_xT[playerid][CarroAng],
  691. Te_xT[playerid][carrocor1],Te_xT[playerid][carrocor2], -1);
  692. format(text3d, 100, "{FFFFFF}Este veiculo pertence a:{00D4F6}\n%s", nome);
  693. Te_xT[playerid][CarroText3D] = Create3DTextLabel(text3d, -1, 0.0, 0.0, 0.0, 12.0, 0);
  694. Attach3DTextLabelToVehicle(Te_xT[playerid][CarroText3D], Te_xT[playerid][CarroDono], 0.0,0.0,0.0);
  695. }
  696. return 0;
  697. }
Advertisement
Add Comment
Please, Sign In to add comment