Advertisement
matheusspohr

MC

Dec 3rd, 2015
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 55.88 KB | None | 0 0
  1. //Mundo dos Caminhoneiros
  2. //Iniciado 20/10/2015 ás: 00:00
  3. new Text:TDCaminhoneiro;
  4. new Text:BTCaminhoneiroBase[9];
  5. new PlayersON = 0;
  6. new NumeroDaMensagem = 0;
  7. new PKLicencas;
  8.  
  9. #include <a_samp>
  10. #include <DOF2>
  11. #include <ICMD>
  12. #include <sscanf2>
  13. #include <streamer>
  14.  
  15. #if defined MAX_PLAYERS
  16. #undef MAX_PLAYERS
  17. #endif
  18. #define MAX_PLAYERS 100
  19.  
  20. #define Contas "Jogadores/%s.ply"
  21. #define Padrao 128
  22. #define NAO_EXISTE "{FF00FF}#{FF0000} Este comando não existe. {FFFF00} :p"
  23. #define CONTA_INATIVA "{FF00FF}#{FF0000} Sua conta ainda não foi ativada."
  24. #define TagInfo "{FFFF00}[INFO]:{FF0000} "
  25. #define TagErro "{FFFF00}[ERRO]:{FF0000} "
  26.  
  27. #define CargaFluido 123
  28. #define CargaMinerio 124
  29. #define CargaBau 125
  30.  
  31. #define TrailerFluidos 584
  32. #define TrailerFechado1 435
  33. #define TrailerFechado2 591
  34. #define TrailerMinerio 450
  35.  
  36. #define VehicleFlatbed 455
  37. #define VehicleCementTruck 524
  38. #define VehicleDFT30 578
  39. #define VeiculoRoadTrain 515
  40. #define VeiculoLineRunner 403
  41. #define VeiculoTanker 514
  42.  
  43. //Profissões:
  44. #define Caminhoneiro 1
  45. #define CorCaminhoneiro 0xFFFF00FF
  46.  
  47.  
  48. main(){}
  49.  
  50. enum Dados//Enum do player
  51. {
  52. Nick[24],
  53. Senha[50],
  54. Admin,
  55. Entrou,
  56. Calado,
  57. Procurado,
  58. CarteiraTerrestre,
  59. Classe,
  60. Text:BTCaminhoneiroProd,
  61. Text:BTCaminhoneiroInic,
  62. Text:BTCaminhoneiroFim,
  63. CargaID,
  64. Carregamento,
  65. Descarregamento,
  66. PartedoTrabalho,
  67. VeiculoID,
  68. TrailerID,
  69. TempoCargaDescarga,
  70. bool:Trabalhando,
  71. MissoesCaminhoneiro,
  72. Dinheiro,
  73. Score
  74. };
  75. new pInfo[MAX_PLAYERS][Dados];
  76.  
  77. enum//Enum das dialogs
  78. {
  79. D_Registro,
  80. D_Login,
  81. D_Click,
  82. D_CMDS,
  83. D_Licencas,
  84. D_Resgates,
  85. DialogoCaminhaoEscolha,
  86. DialogoCaminhaoCarga,
  87. DialogoCaminhaoCarregamento,
  88. DialogoCaminhaoDescarregamento
  89. };
  90.  
  91. enum Local_CargaDescarga//Enum dados Cargas
  92. {
  93. NomedoLocal[50],
  94. Float:LocX,
  95. Float:LocY,
  96. Float:LocZ
  97. }
  98.  
  99.  
  100. new LocalCargaDescarga[][Local_CargaDescarga] =//Pontos de carga/descarga
  101. {
  102. //"Local", FloatX, FloatY, FloatZ
  103. {"Dummy location", 0.0, 0.0, 0.0},//Local 00
  104. {"Quarry Top", 370.0, 874.0, 20.5},//Local 01
  105. {"Deposito De Cargas (LV)", 599.5, 1224.75, 11.8}//Local 02
  106.  
  107. };
  108.  
  109. enum TLoad//Enum dados rota
  110. {
  111. LoadName[50],
  112. Float:PayPerUnit,
  113. PCV_Required,
  114. FromLocations[30],
  115. ToLocations[30]
  116. }
  117.  
  118. new ALoads[][TLoad] =
  119. {
  120. //"Nome da Carga", Preço por metro, Veículo que precisa, Local que pega, Local que entrega
  121. {"Dummy", 0.00, 0, {0}, {0}},
  122. {"Carvão", 1.00, CargaMinerio, {1}, {2}}//Rota 01 - Minerio
  123. };
  124. public OnGameModeInit()
  125. {
  126. TDCaminhoneiro = TextDrawCreate(260.000000, 376.000000, "Caminhoneiro");
  127. TextDrawBackgroundColor(TDCaminhoneiro, 255);
  128. TextDrawFont(TDCaminhoneiro, 1);
  129. TextDrawLetterSize(TDCaminhoneiro, 0.549999, 1.700000);
  130. TextDrawColor(TDCaminhoneiro, -65281);
  131. TextDrawSetOutline(TDCaminhoneiro, 0);
  132. TextDrawSetProportional(TDCaminhoneiro, 1);
  133. TextDrawSetShadow(TDCaminhoneiro, 1);
  134. TextDrawSetSelectable(TDCaminhoneiro, 0);
  135.  
  136. BTCaminhoneiroBase[0] = TextDrawCreate(611.000000, 129.000000, "_");
  137. TextDrawBackgroundColor(BTCaminhoneiroBase[0], 255);
  138. TextDrawFont(BTCaminhoneiroBase[0], 1);
  139. TextDrawLetterSize(BTCaminhoneiroBase[0], 0.500000, -0.100000);
  140. TextDrawColor(BTCaminhoneiroBase[0], -1);
  141. TextDrawSetOutline(BTCaminhoneiroBase[0], 0);
  142. TextDrawSetProportional(BTCaminhoneiroBase[0], 1);
  143. TextDrawSetShadow(BTCaminhoneiroBase[0], 1);
  144. TextDrawUseBox(BTCaminhoneiroBase[0], 1);
  145. TextDrawBoxColor(BTCaminhoneiroBase[0], 65382);
  146. TextDrawTextSize(BTCaminhoneiroBase[0], 495.000000, 3.000000);
  147. TextDrawSetSelectable(BTCaminhoneiroBase[0], 0);
  148.  
  149. BTCaminhoneiroBase[1] = TextDrawCreate(611.000000, 133.000000, "_");
  150. TextDrawBackgroundColor(BTCaminhoneiroBase[1], 255);
  151. TextDrawFont(BTCaminhoneiroBase[1], 1);
  152. TextDrawLetterSize(BTCaminhoneiroBase[1], 0.500000, 10.899991);
  153. TextDrawColor(BTCaminhoneiroBase[1], -1);
  154. TextDrawSetOutline(BTCaminhoneiroBase[1], 0);
  155. TextDrawSetProportional(BTCaminhoneiroBase[1], 1);
  156. TextDrawSetShadow(BTCaminhoneiroBase[1], 1);
  157. TextDrawUseBox(BTCaminhoneiroBase[1], 1);
  158. TextDrawBoxColor(BTCaminhoneiroBase[1], 65382);
  159. TextDrawTextSize(BTCaminhoneiroBase[1], 604.000000, 0.000000);
  160. TextDrawSetSelectable(BTCaminhoneiroBase[1], 0);
  161.  
  162. BTCaminhoneiroBase[2] = TextDrawCreate(502.000000, 133.000000, "_");
  163. TextDrawBackgroundColor(BTCaminhoneiroBase[2], 255);
  164. TextDrawFont(BTCaminhoneiroBase[2], 1);
  165. TextDrawLetterSize(BTCaminhoneiroBase[2], 0.500000, 10.899991);
  166. TextDrawColor(BTCaminhoneiroBase[2], -1);
  167. TextDrawSetOutline(BTCaminhoneiroBase[2], 0);
  168. TextDrawSetProportional(BTCaminhoneiroBase[2], 1);
  169. TextDrawSetShadow(BTCaminhoneiroBase[2], 1);
  170. TextDrawUseBox(BTCaminhoneiroBase[2], 1);
  171. TextDrawBoxColor(BTCaminhoneiroBase[2], 65382);
  172. TextDrawTextSize(BTCaminhoneiroBase[2], 495.000000, 0.000000);
  173. TextDrawSetSelectable(BTCaminhoneiroBase[2], 0);
  174.  
  175. BTCaminhoneiroBase[3] = TextDrawCreate(608.000000, 133.000000, "_");
  176. TextDrawBackgroundColor(BTCaminhoneiroBase[3], 255);
  177. TextDrawFont(BTCaminhoneiroBase[3], 1);
  178. TextDrawLetterSize(BTCaminhoneiroBase[3], 0.500000, 10.899991);
  179. TextDrawColor(BTCaminhoneiroBase[3], -1);
  180. TextDrawSetOutline(BTCaminhoneiroBase[3], 0);
  181. TextDrawSetProportional(BTCaminhoneiroBase[3], 1);
  182. TextDrawSetShadow(BTCaminhoneiroBase[3], 1);
  183. TextDrawUseBox(BTCaminhoneiroBase[3], 1);
  184. TextDrawBoxColor(BTCaminhoneiroBase[3], 85);
  185. TextDrawTextSize(BTCaminhoneiroBase[3], 498.000000, 0.000000);
  186. TextDrawSetSelectable(BTCaminhoneiroBase[3], 0);
  187.  
  188. BTCaminhoneiroBase[4] = TextDrawCreate(611.000000, 236.000000, "_");
  189. TextDrawBackgroundColor(BTCaminhoneiroBase[4], 255);
  190. TextDrawFont(BTCaminhoneiroBase[4], 1);
  191. TextDrawLetterSize(BTCaminhoneiroBase[4], 0.500000, -0.100000);
  192. TextDrawColor(BTCaminhoneiroBase[4], -1);
  193. TextDrawSetOutline(BTCaminhoneiroBase[4], 0);
  194. TextDrawSetProportional(BTCaminhoneiroBase[4], 1);
  195. TextDrawSetShadow(BTCaminhoneiroBase[4], 1);
  196. TextDrawUseBox(BTCaminhoneiroBase[4], 1);
  197. TextDrawBoxColor(BTCaminhoneiroBase[4], 65382);
  198. TextDrawTextSize(BTCaminhoneiroBase[4], 495.000000, 3.000000);
  199. TextDrawSetSelectable(BTCaminhoneiroBase[4], 0);
  200.  
  201. BTCaminhoneiroBase[5] = TextDrawCreate(553.000000, 132.000000, "Transportando:");
  202. TextDrawAlignment(BTCaminhoneiroBase[5], 2);
  203. TextDrawBackgroundColor(BTCaminhoneiroBase[5], 255);
  204. TextDrawFont(BTCaminhoneiroBase[5], 0);
  205. TextDrawLetterSize(BTCaminhoneiroBase[5], 0.419999, 1.299998);
  206. TextDrawColor(BTCaminhoneiroBase[5], -1);
  207. TextDrawSetOutline(BTCaminhoneiroBase[5], 0);
  208. TextDrawSetProportional(BTCaminhoneiroBase[5], 1);
  209. TextDrawSetShadow(BTCaminhoneiroBase[5], 1);
  210. TextDrawSetSelectable(BTCaminhoneiroBase[5], 0);
  211.  
  212. BTCaminhoneiroBase[6] = TextDrawCreate(555.000000, 164.000000, "De:");
  213. TextDrawAlignment(BTCaminhoneiroBase[6], 2);
  214. TextDrawBackgroundColor(BTCaminhoneiroBase[6], 255);
  215. TextDrawFont(BTCaminhoneiroBase[6], 1);
  216. TextDrawLetterSize(BTCaminhoneiroBase[6], 0.310000, 1.299998);
  217. TextDrawColor(BTCaminhoneiroBase[6], -1);
  218. TextDrawSetOutline(BTCaminhoneiroBase[6], 0);
  219. TextDrawSetProportional(BTCaminhoneiroBase[6], 1);
  220. TextDrawSetShadow(BTCaminhoneiroBase[6], 1);
  221. TextDrawSetSelectable(BTCaminhoneiroBase[6], 0);
  222.  
  223. BTCaminhoneiroBase[7] = TextDrawCreate(556.000000, 199.000000, "Para:");
  224. TextDrawAlignment(BTCaminhoneiroBase[7], 2);
  225. TextDrawBackgroundColor(BTCaminhoneiroBase[7], 255);
  226. TextDrawFont(BTCaminhoneiroBase[7], 1);
  227. TextDrawLetterSize(BTCaminhoneiroBase[7], 0.379999, 1.299998);
  228. TextDrawColor(BTCaminhoneiroBase[7], -1);
  229. TextDrawSetOutline(BTCaminhoneiroBase[7], 0);
  230. TextDrawSetProportional(BTCaminhoneiroBase[7], 1);
  231. TextDrawSetShadow(BTCaminhoneiroBase[7], 1);
  232. TextDrawSetSelectable(BTCaminhoneiroBase[7], 0);
  233.  
  234. ShowPlayerMarkers(1);
  235. ShowNameTags(1);
  236. UsePlayerPedAnims();
  237. DisableInteriorEnterExits();
  238. SetGameModeText("MC - Brasil");
  239. SetTimer("MSGAleatoria", 5000, true);
  240. AddPlayerClass(122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);//Caminhoneiro
  241. AddPlayerClass(23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);//Caminhoneiro
  242.  
  243. //Doherty:
  244. CreateDynamicObject(1290, -2104.56738, -238.98505, 37.05182, 0.00000, 0.00000, 0.00000);
  245. CreateDynamicObject(1290, -2126.87988, -91.24747, 34.30332, 0.00000, 0.00000, 0.00000);
  246. CreateDynamicObject(1597, -2126.97534, -95.90330, 36.94910, 0.00000, 0.00000, 0.00000);
  247. CreateDynamicObject(1290, -2126.74609, -100.77952, 34.30332, 0.00000, 0.00000, 0.00000);
  248. CreateDynamicObject(1597, -2127.06152, -105.12248, 36.94910, 0.00000, 0.00000, 0.00000);
  249. CreateDynamicObject(1290, -2126.81079, -109.95646, 34.30332, 0.00000, 0.00000, 0.00000);
  250. CreateDynamicObject(1597, -2127.12500, -114.35410, 36.94910, 0.00000, 0.00000, 0.00000);
  251. CreateDynamicObject(1290, -2127.04907, -119.16721, 34.30332, 0.00000, 0.00000, 0.00000);
  252. CreateDynamicObject(1597, -2127.34302, -123.58611, 36.94910, 0.00000, 0.00000, 0.00000);
  253. CreateDynamicObject(1290, -2127.24683, -128.44762, 34.30332, 0.00000, 0.00000, 0.00000);
  254. CreateDynamicObject(1597, -2127.43823, -132.87445, 36.94910, 0.00000, 0.00000, 0.00000);
  255. CreateDynamicObject(1290, -2127.40918, -137.66666, 34.30332, 0.00000, 0.00000, 0.00000);
  256. CreateDynamicObject(1597, -2127.52710, -142.32422, 36.94910, 0.00000, 0.00000, 0.00000);
  257. CreateDynamicObject(1290, -2127.42261, -147.12721, 34.30332, 0.00000, 0.00000, 0.00000);
  258. CreateDynamicObject(1597, -2127.62207, -151.81894, 36.94910, 0.00000, 0.00000, 0.00000);
  259. CreateDynamicObject(1290, -2127.41089, -156.56323, 34.30332, 0.00000, 0.00000, 0.00000);
  260. AddStaticVehicle(VehicleCementTruck, -2103.7625, -165.3916, 36.0526, -273.0000, -1, -1);
  261. AddStaticVehicle(VehicleFlatbed, -2104.0068, -175.6289, 35.6530, -273.0000, -1, -1);
  262. AddStaticVehicle(VehicleCementTruck, -2103.4998, -145.6018, 36.0526, -273.0000, -1, -1);
  263. AddStaticVehicle(VehicleFlatbed, -2103.6304, -155.8054, 35.6530, -273.0000, -1, -1);
  264. AddStaticVehicle(VehicleDFT30, -2103.5662, -170.4604, 35.7531, -273.0000, -1, -1);
  265. AddStaticVehicle(VehicleDFT30, -2103.6589, -160.5564, 35.7531, -273.0000, -1, -1);
  266. AddStaticVehicle(VehicleDFT30, -2103.2847, -150.7635, 35.7531, -273.0000, -1, -1);
  267. AddStaticVehicle(TrailerMinerio, -2152.0315, -88.6454, 35.7668, -91.0000, -1, -1);
  268. AddStaticVehicle(TrailerMinerio, -2151.8245, -98.2138, 35.7668, -91.0000, -1, -1);
  269. AddStaticVehicle(TrailerMinerio, -2151.7029, -106.2489, 35.7668, -91.0000, -1, -1);
  270. AddStaticVehicle(TrailerFechado1, -2151.5283, -112.9360, 35.7680, -91.0000, -1, -1);
  271. AddStaticVehicle(TrailerFechado1, -2151.2290, -119.1638, 35.7680, -91.0000, -1, -1);
  272. AddStaticVehicle(TrailerFechado1, -2150.8884, -125.3083, 35.7680, -91.0000, -1, -1);
  273. AddStaticVehicle(TrailerFluidos, -2150.9958, -131.6297, 36.1270, -91.0000, -1, -1);
  274. AddStaticVehicle(TrailerFluidos, -2151.3010, -137.1844, 36.1270, -91.0000, -1, -1);
  275. AddStaticVehicle(TrailerFluidos, -2151.5181, -143.5871, 36.1270, -91.0000, -1, -1);
  276. AddStaticVehicle(TrailerFechado1, -2102.4529, -114.9794, 35.7680, 91.0000, -1, -1);
  277. AddStaticVehicle(TrailerFechado1, -2101.9739, -121.8234, 35.7680, 91.0000, -1, -1);
  278. AddStaticVehicle(TrailerMinerio, -2101.8823, -128.6714, 35.7668, 91.0000, -1, -1);
  279. AddStaticVehicle(TrailerMinerio, -2101.6226, -135.1684, 35.7668, 91.0000, -1, -1);
  280. AddStaticVehicle(TrailerMinerio, -2101.1946, -140.9732, 35.7668, 91.0000, -1, -1);
  281. AddStaticVehicle(VeiculoRoadTrain, -2143.0627, -88.7344, 36.1743, -91.0000, -1, -1);
  282. AddStaticVehicle(VeiculoRoadTrain, -2142.8596, -98.3144, 36.1743, -91.0000, -1, -1);
  283. AddStaticVehicle(VeiculoRoadTrain, -2143.0532, -106.4598, 36.1743, -91.0000, -1, -1);
  284. AddStaticVehicle(VeiculoRoadTrain, -2141.9604, -113.1587, 36.1743, -91.0000, -1, -1);
  285. AddStaticVehicle(VeiculoRoadTrain, -2141.7114, -119.2752, 36.1743, -91.0000, -1, -1);
  286. AddStaticVehicle(VeiculoRoadTrain, -2141.6448, -125.3846, 36.1743, -91.0000, -1, -1);
  287. AddStaticVehicle(VeiculoRoadTrain, -2141.1365, -131.6194, 36.1743, -91.0000, -1, -1);
  288. AddStaticVehicle(VeiculoRoadTrain, -2141.2148, -136.8808, 36.1743, -91.0000, -1, -1);
  289. AddStaticVehicle(VeiculoRoadTrain, -2141.3967, -143.3828, 36.1743, -91.0000, -1, -1);
  290. AddStaticVehicle(VeiculoRoadTrain, -2110.9658, -121.8855, 35.8005, -273.0000, -1, -1);
  291. AddStaticVehicle(TrailerFechado1, -2102.6099, -108.1145, 35.7680, 91.0000, -1, -1);
  292. AddStaticVehicle(VeiculoRoadTrain, -2111.3118, -128.7118, 35.8005, -273.0000, -1, -1);
  293. AddStaticVehicle(VeiculoRoadTrain, -2111.5972, -135.0851, 35.8005, -273.0000, -1, -1);
  294. AddStaticVehicle(VeiculoRoadTrain, -2111.8098, -140.9171, 35.8005, -273.0000, -1, -1);
  295. AddStaticVehicle(VeiculoRoadTrain, -2111.9053, -114.9558, 35.8005, -273.0000, -1, -1);
  296. AddStaticVehicle(VeiculoRoadTrain, -2111.7117, -107.9337, 35.8005, -273.0000, -1, -1);
  297. AddStaticVehicle(TrailerFluidos, -2102.2039, -101.8879, 36.1270, 91.0000, -1, -1);
  298. AddStaticVehicle(TrailerFluidos, -2101.7471, -95.3993, 36.1270, 91.0000, -1, -1);
  299. AddStaticVehicle(TrailerFluidos, -2101.7126, -88.6247, 36.1270, 91.0000, -1, -1);
  300. AddStaticVehicle(VeiculoRoadTrain, -2112.0872, -101.7547, 35.8005, -273.0000, -1, -1);
  301. AddStaticVehicle(VeiculoRoadTrain, -2111.9568, -95.1328, 35.8005, -273.0000, -1, -1);
  302. AddStaticVehicle(VeiculoRoadTrain, -2112.3833, -89.0551, 35.8005, -273.0000, -1, -1);
  303. //Quarry Top
  304. AddStaticVehicle(VehicleCementTruck, 335.9957, 856.0544, 21.2777, 0.0000, 162, 1);
  305. AddStaticVehicle(VehicleCementTruck, 332.6190, 865.1432, 21.2777, 0.0000, 162, 1);
  306. AddStaticVehicle(VehicleCementTruck, 328.8407, 873.8334, 21.2777, 0.0000, 162, 1);
  307. AddStaticVehicle(VehicleCementTruck, 324.3564, 882.0521, 21.2777, 0.0000, 162, 1);
  308. AddStaticVehicle(VehicleFlatbed, 309.1292, 886.0334, 21.2777, -33.0000, -1, -1);
  309. AddStaticVehicle(VehicleFlatbed, 306.7415, 892.9316, 21.2777, -33.0000, -1, -1);
  310. AddStaticVehicle(VehicleFlatbed, 303.9342, 899.5141, 21.2777, -33.0000, -1, -1);
  311. AddStaticVehicle(TrailerMinerio, 412.6319, 987.5108, 31.1769, 105.0000, -1, -1);
  312. AddStaticVehicle(TrailerMinerio, 413.9378, 982.3334, 31.1769, 105.0000, -1, -1);
  313. AddStaticVehicle(TrailerMinerio, 415.2271, 977.5989, 31.1769, 105.0000, -1, -1);
  314. AddStaticVehicle(TrailerMinerio, 416.8279, 972.9687, 31.1769, 105.0000, -1, -1);
  315. AddStaticVehicle(VeiculoRoadTrain, 401.6505, 984.6223, 31.1769, 105.0000, 162, 1);
  316. AddStaticVehicle(VeiculoRoadTrain, 403.0109, 979.2497, 31.1769, 105.0000, 162, 1);
  317. AddStaticVehicle(VeiculoRoadTrain, 404.3711, 974.3962, 31.1769, 105.0000, 162, 1);
  318. AddStaticVehicle(VeiculoRoadTrain, 406.0979, 969.7915, 31.1769, 105.0000, 162, 1);
  319.  
  320. PKLicencas = CreatePickup(1274, 1, -2033.0, -100.0, 35.2, 0);
  321. Create3DTextLabel("Licenças", 0x008080FF, -2033.0, -100.0, 36.0, 30.0, 0);
  322. return 1;
  323. }
  324.  
  325. public OnGameModeExit()
  326. {
  327. for(new i;i<MAX_PLAYERS;i++)
  328. {
  329. SalvarConta(i);
  330. }
  331. DOF2_Exit();
  332. return 1;
  333. }
  334.  
  335. public OnPlayerRequestClass(playerid, classid)
  336. {
  337. SetPlayerPos(playerid, 2115.6000976563, 1917.3000488281, 10.800000190735);//Posição do player (X, Y, Z)
  338. SetPlayerFacingAngle(playerid, 294.001373);//Rotação do player (Ângulo)
  339. SetPlayerCameraPos(playerid, 2120.5, 1919.3000488281, 10.300000190735); //Posição da camera (X, Y, Z)
  340. SetPlayerCameraLookAt(playerid, 2001, 1870.0999755859, 25.900001525879);//Camera olhando para (X, Y, Z)
  341. switch(classid)
  342. {
  343. case 0..1:
  344. {
  345. TextDrawShowForPlayer(playerid, TDCaminhoneiro);
  346. pInfo[playerid][Classe] = Caminhoneiro;
  347. }
  348. }
  349. return 1;
  350. }
  351.  
  352. public OnPlayerConnect(playerid)
  353. {
  354. RemoveBuildingForPlayer(playerid, 11091, -2133.5547, -132.7031, 36.1328, 0.25);
  355. RemoveBuildingForPlayer(playerid, 11376, -2144.3516, -132.9609, 38.3359, 0.25);
  356. RemoveBuildingForPlayer(playerid, 11011, -2144.3516, -132.9609, 38.3359, 0.25);
  357. RemoveBuildingForPlayer(playerid, 11009, -2128.5391, -142.8438, 39.1406, 0.25);
  358. RemoveBuildingForPlayer(playerid, 1278, -2137.6172, -110.9375, 48.3516, 0.25);
  359. new ContaDoJogador[50], InfoRegistroLogin[310], NomeDoPlayer[MAX_PLAYER_NAME], IP[50];
  360. GetPlayerName(playerid, NomeDoPlayer, sizeof(NomeDoPlayer));/*-*/GetPlayerIp(playerid, IP, sizeof(IP));
  361. SetPlayerColor(playerid, 0xFFFFFFFF);
  362. format(ContaDoJogador, sizeof(ContaDoJogador), Contas, NomeDoPlayer);
  363. if(!DOF2_FileExists(ContaDoJogador))
  364. {
  365. format(InfoRegistroLogin, sizeof(InfoRegistroLogin), "{FFFFFF}%s %s. Percebi que você não se encontra registrado em nosso servidor.\n\
  366. {FFFFFF}Para se registrar basta inserir uma senha abaixo de seus dados:\n\
  367. {FFFFFF}\n\
  368. {FFFF00}\tNick:{FFFFFF} %s\n\
  369. {FFFF00}\tIP: {FFFFFF}%s\n\
  370. {FFFF00}\tID: {FFFFFF}%d\n\
  371. {FFFF00}\tSA:MP: {FFFFFF}0.3.7\n", Saudacao(), NomeDoPlayer, NomeDoPlayer, IP, playerid);
  372. ShowPlayerDialog(playerid, D_Registro, DIALOG_STYLE_INPUT, "{FFFF00}#{FFFFFF}Registrando...", InfoRegistroLogin, "Jogar", "Sair");
  373. }
  374. else
  375. {
  376. format(InfoRegistroLogin, sizeof(InfoRegistroLogin), "{FFFFFF}%s %s. Percebi que você se encontra registrado em nosso servidor.\n\
  377. {FFFFFF}Para logar basta inserir sua senha abaixo de seus dados:\n\
  378. {FFFFFF}\n\
  379. {FFFF00}\tNick:{FFFFFF} %s\n\
  380. {FFFF00}\tIP: {FFFFFF}%s\n\
  381. {FFFF00}\tID: {FFFFFF}%d\n\
  382. {FFFF00}\tSA:MP: {FFFFFF}0.3.7\n", Saudacao(), NomeDoPlayer, NomeDoPlayer, IP, playerid);
  383. ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_PASSWORD, "{FFFF00}#{FFFFFF}Logando...", InfoRegistroLogin, "Jogar", "Sair");
  384. }
  385. pInfo[playerid][Entrou] = 0;
  386. if(!strcmp(NomeDoPlayer, "MatheusF.B.Spohr", true))pInfo[playerid][Admin] = 5;
  387.  
  388. pInfo[playerid][BTCaminhoneiroProd] = TextDrawCreate(553.000000, 148.000000, "Comb. Sem Chumbo");
  389. TextDrawAlignment(pInfo[playerid][BTCaminhoneiroProd], 2);
  390. TextDrawBackgroundColor(pInfo[playerid][BTCaminhoneiroProd], 255);
  391. TextDrawFont(pInfo[playerid][BTCaminhoneiroProd], 1);
  392. TextDrawLetterSize(pInfo[playerid][BTCaminhoneiroProd], 0.319999, 1.399999);
  393. TextDrawColor(pInfo[playerid][BTCaminhoneiroProd], -65281);
  394. TextDrawSetOutline(pInfo[playerid][BTCaminhoneiroProd], 0);
  395. TextDrawSetProportional(pInfo[playerid][BTCaminhoneiroProd], 1);
  396. TextDrawSetShadow(pInfo[playerid][BTCaminhoneiroProd], 1);
  397. TextDrawSetSelectable(pInfo[playerid][BTCaminhoneiroProd], 0);
  398.  
  399. pInfo[playerid][BTCaminhoneiroInic] = TextDrawCreate(553.000000, 180.000000, "Deposito de cargas (LV)");
  400. TextDrawAlignment(pInfo[playerid][BTCaminhoneiroInic], 2);
  401. TextDrawBackgroundColor(pInfo[playerid][BTCaminhoneiroInic], 255);
  402. TextDrawFont(pInfo[playerid][BTCaminhoneiroInic], 1);
  403. TextDrawLetterSize(pInfo[playerid][BTCaminhoneiroInic], 0.270000, 1.399999);
  404. TextDrawColor(pInfo[playerid][BTCaminhoneiroInic], 16711935);
  405. TextDrawSetOutline(pInfo[playerid][BTCaminhoneiroInic], 0);
  406. TextDrawSetProportional(pInfo[playerid][BTCaminhoneiroInic], 1);
  407. TextDrawSetShadow(pInfo[playerid][BTCaminhoneiroInic], 1);
  408. TextDrawSetSelectable(pInfo[playerid][BTCaminhoneiroInic], 0);
  409.  
  410. pInfo[playerid][BTCaminhoneiroFim] = TextDrawCreate(552.000000, 216.000000, "Deposito de cargas (LV)");
  411. TextDrawAlignment(pInfo[playerid][BTCaminhoneiroFim], 2);
  412. TextDrawBackgroundColor(pInfo[playerid][BTCaminhoneiroFim], 255);
  413. TextDrawFont(pInfo[playerid][BTCaminhoneiroFim], 1);
  414. TextDrawLetterSize(pInfo[playerid][BTCaminhoneiroFim], 0.270000, 1.399999);
  415. TextDrawColor(pInfo[playerid][BTCaminhoneiroFim], -16776961);
  416. TextDrawSetOutline(pInfo[playerid][BTCaminhoneiroFim], 0);
  417. TextDrawSetProportional(pInfo[playerid][BTCaminhoneiroFim], 1);
  418. TextDrawSetShadow(pInfo[playerid][BTCaminhoneiroFim], 1);
  419. TextDrawSetSelectable(pInfo[playerid][BTCaminhoneiroFim], 0);
  420. return 1;
  421. }
  422.  
  423. public OnPlayerDisconnect(playerid, reason)
  424. {
  425. new NomeDoPlayer[MAX_PLAYER_NAME], Msg[Padrao];
  426. GetPlayerName(playerid, NomeDoPlayer, sizeof(NomeDoPlayer));
  427. PlayersON--;
  428. format(Msg, sizeof(Msg), "{FFFF00}#{FF0000} O jogador {FFFFFF}%s [ID: %d]{FF0000} desconectou no Mundo dos Caminhoneiros![%d/100]", NomeDoPlayer, playerid, PlayersON);
  429. SendClientMessageToAll(-1, Msg);
  430. pInfo[playerid][Entrou] = 0;
  431. SalvarConta(playerid);
  432. return 1;
  433. }
  434. public OnPlayerSpawn(playerid)
  435. {
  436. if(pInfo[playerid][Entrou] != 1)
  437. {
  438. SendClientMessage(playerid, -1, CONTA_INATIVA);
  439. Kick(playerid);
  440. }
  441. if(pInfo[playerid][Classe] == Caminhoneiro)
  442. {
  443. SetSpawnInfo(playerid, 0, GetPlayerSkin(playerid), 0, 0, 2, 0, 0, 0, 0, 0, 0, 0);
  444. SetPlayerColor(playerid, CorCaminhoneiro);
  445. TextDrawHideForPlayer(playerid, TDCaminhoneiro);
  446. }
  447. return 1;
  448. }
  449. public OnPlayerDeath(playerid, killerid, reason)
  450. {
  451. if(pInfo[playerid][Trabalhando] == true)Caminhoneiro_FimTrabalho(playerid);
  452. return 1;
  453. }
  454. public OnVehicleSpawn(vehicleid){ return 1;}
  455. public OnVehicleDeath(vehicleid, killerid){ return 1;}
  456. public OnPlayerText(playerid, text[])
  457. {
  458. if(pInfo[playerid][Entrou] != 1)
  459. {
  460. SendClientMessage(playerid, -1, CONTA_INATIVA);
  461. return 0;
  462. }
  463. if(pInfo[playerid][Calado] != 0)
  464. {
  465. SendClientMessage(playerid, -1, "{FFFF00}#{FF0000} Você está calado e não pode falar.");
  466. return 0;
  467. }
  468. new String[Padrao], NameText[MAX_PLAYER_NAME];
  469. GetPlayerName(playerid, NameText, sizeof(NameText));
  470. format(String, sizeof(String), "{FFFFFF}[%s] {%06x}%s [ID:%d]:{FFFFFF} %s", CargoNome(playerid), GetPlayerColor(playerid)>>>8, NameText, playerid, text);
  471. SendClientMessageToAll(-1, String);
  472. return 0;
  473. }
  474. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ return 1;}
  475. public OnPlayerExitVehicle(playerid, vehicleid){ return 1;}
  476. public OnPlayerStateChange(playerid, newstate, oldstate)
  477. {
  478. new vID, Motor, Farol, Alarme, Portas, Capo, Mala, Objetivo;
  479. vID = GetPlayerVehicleID(playerid);
  480. GetVehicleParamsEx(vID, Motor, Farol, Alarme, Portas, Capo, Mala, Objetivo);
  481. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  482. {
  483. if(pInfo[playerid][CarteiraTerrestre] == 0)
  484. {
  485. SendClientMessage(playerid, -1, TagErro "Você não possui carteira de motorista, vá a auto-escolha(/autoescola)");
  486. SetVehicleParamsEx(vID, 0, 0, 0, Portas, Capo, Mala, 0);
  487. RemovePlayerFromVehicle(playerid);
  488. return 1;
  489. }
  490. else
  491. {
  492. SendClientMessage(playerid, -1, "{00FF00}Você possui carteira de motorista terrestre e pode utilizar este veículo!");
  493. SetVehicleParamsEx(vID, 1, 1, Alarme, Portas, Capo, Mala, 0);
  494. return 1;
  495. }
  496. }
  497. return 1;
  498. }
  499. public OnPlayerEnterCheckpoint(playerid)
  500. {
  501. Caminhoneiro_EntrouCP(playerid);
  502. return 1;
  503. }
  504. public OnPlayerLeaveCheckpoint(playerid){ return 1;}
  505. public OnPlayerEnterRaceCheckpoint(playerid){ return 1;}
  506. public OnPlayerLeaveRaceCheckpoint(playerid){ return 1;}
  507. public OnRconCommand(cmd[]){ return 1;}
  508. public OnPlayerRequestSpawn(playerid){ return 1;}
  509. public OnObjectMoved(objectid){ return 1;}
  510. public OnPlayerObjectMoved(playerid, objectid){ return 1;}
  511. public OnPlayerPickUpPickup(playerid, pickupid)
  512. {
  513. if (pickupid == PKLicencas)
  514. {
  515. ShowPlayerDialog(playerid,D_Licencas,DIALOG_STYLE_TABLIST_HEADERS,"{FFFF00}#{FFFFFF}Licenças:","Nome\tPreço\tScore's\n\
  516. Carteira Terrestre\tR$5.000\t50\n","Comprar","Sair");
  517. }
  518. return 1;
  519. }
  520. public OnVehicleMod(playerid, vehicleid, componentid){ return 1;}
  521. public OnVehiclePaintjob(playerid, vehicleid, paintjobid){ return 1;}
  522. public OnVehicleRespray(playerid, vehicleid, color1, color2){ return 1;}
  523. public OnPlayerSelectedMenuRow(playerid, row){ return 1;}
  524. public OnPlayerExitedMenu(playerid){ return 1;}
  525. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid){ return 1;}
  526. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){ return 1;}
  527. public OnRconLoginAttempt(ip[], password[], success){ return 1;}
  528. public OnPlayerUpdate(playerid){ return 1;}
  529. public OnPlayerStreamIn(playerid, forplayerid){ return 1;}
  530. public OnPlayerStreamOut(playerid, forplayerid){ return 1;}
  531. public OnVehicleStreamIn(vehicleid, forplayerid){ return 1;}
  532. public OnVehicleStreamOut(vehicleid, forplayerid){ return 1;}
  533. public OnCommandCalled(playerid, params[])
  534. {
  535. get_cmd_noparams(parartrabalho)
  536. {
  537. if(pInfo[playerid][Trabalhando] == false) return SendClientMessage(playerid, -1, "{FF0000}Você não está trabalhando.");
  538. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  539. SendClientMessage(playerid, -1, "{FF0000}Você cancelou o trabalho e pagou R$2500 por isso!");
  540. DarAoJogador(playerid, -2500, 0);
  541. Caminhoneiro_FimTrabalho(playerid);
  542. return 1;
  543. }
  544. get_cmd_noparams(sf)
  545. {
  546. SetPlayerPos(playerid, -2043.0, -100.0, 36.0);
  547. return 1;
  548. }
  549. get_cmd_noparams(v)
  550. {
  551. new Float:x, Float:y, Float:z;
  552. GetPlayerPos(playerid, x, y, z);
  553. CreateVehicle(411, x, y, z, 0, 1, 1, 0, 1);
  554. return 1;
  555. }
  556. get_cmd_noparams(trabalhar)
  557. {
  558. if(pInfo[playerid][Trabalhando] == true)
  559. return SendClientMessage(playerid, -1, TagInfo "Você já está trabalhando");
  560. if(pInfo[playerid][Entrou] != 1)
  561. return SendClientMessage(playerid, -1, CONTA_INATIVA);
  562. if(GetPlayerVehicleSeat(playerid) != 0)
  563. return SendClientMessage(playerid, -1, TagErro "Você deve ser o condutor de um veículo.");
  564.  
  565. switch(pInfo[playerid][Classe])
  566. {
  567. case Caminhoneiro:
  568. {
  569. new ListadeProdutos[50], NumProducts, TotalLoadList[1000];
  570. switch (GetVehicleModel(GetPlayerVehicleID(playerid)))
  571. {
  572. case VeiculoRoadTrain, VeiculoLineRunner, VeiculoTanker:
  573. {
  574. switch (GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))))
  575. {
  576. case TrailerFechado1, TrailerFechado2:
  577. ListadeProdutos = Product_GetList(CargaBau, NumProducts);
  578. case TrailerMinerio:
  579. ListadeProdutos = Product_GetList(CargaMinerio, NumProducts);
  580. case TrailerFluidos:
  581. ListadeProdutos = Product_GetList(CargaFluido, NumProducts);
  582. case 0:
  583. SendClientMessage(playerid, -1, "[ERRO] Você precisa de um trailer para continuar!");
  584. }
  585. }
  586. case 482, 499, 440, 414, 456:
  587. ListadeProdutos = Product_GetList(CargaBau, NumProducts);
  588. case 0:
  589. SendClientMessage(playerid, -1, "[ERRO] Você precisa estar em um veículo para começar a trabalhar!");
  590. }
  591. for (new i; i < NumProducts; i++)
  592. format(TotalLoadList, 1000, "%s%s\n", TotalLoadList, ALoads[ListadeProdutos[i]][LoadName]);
  593. ShowPlayerDialog(playerid, DialogoCaminhaoCarga, DIALOG_STYLE_LIST, "Selecione sua carga:", TotalLoadList, "Selecionar", "Sair");
  594. }
  595. case 0:
  596. SendClientMessage(playerid, -1, CONTA_INATIVA);
  597. }
  598. return 1;
  599. }
  600. get_cmd_noparams(comandos)
  601. {
  602. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  603. new ListCMDS[200];
  604. format(ListCMDS, sizeof(ListCMDS), "Tipo de comandos:\tQuantidade de comandos\n");
  605. format(ListCMDS, sizeof(ListCMDS), "%s{FFFFFF}Comandos Gerais\t150\n", ListCMDS);
  606. format(ListCMDS, sizeof(ListCMDS), "%s{FFFFFF}Comandosde Profissões\t20\n", ListCMDS);
  607. if(pInfo[playerid][Admin]>=1)
  608. format(ListCMDS, sizeof(ListCMDS), "%s{FFFFFF}Comandos Admin\t60\n", ListCMDS);
  609. if(pInfo[playerid][Admin]>=1)
  610. format(ListCMDS, sizeof(ListCMDS), "%s{FFFFFF}Comandos de VIP\t35\n", ListCMDS);
  611. ShowPlayerDialog(playerid, D_CMDS, DIALOG_STYLE_TABLIST_HEADERS, "{FFFF00}#{FFFFFF}Escolha o estilo:", ListCMDS, "Selecionar", "Sair");
  612. return 1;
  613. }
  614. get_cmd_noparams(vida)
  615. {
  616. if(pInfo[playerid][Admin] < 0) return SendClientMessage(playerid, -1, NAO_EXISTE);
  617. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  618. SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Você renovou sua vida, bom proveito!");
  619. SetPlayerHealth(playerid, 100.0);
  620. return 1;
  621. }
  622. get_cmd_noparams(autoescola)
  623. {
  624. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  625. if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, -1, "{FF0000}Você não pode estar em um interior.");
  626. if(GetPlayerVehicleID(playerid) != 0) return SendClientMessage(playerid, -1, "{FF0000}Você não pode estar em um veículo.");
  627. SetPlayerPos(playerid, -2033.36, -95.63, 35.16);
  628. SetPlayerFacingAngle(playerid, 185.39);
  629. SendClientMessageToAll(-1, "{FFFF00}#{FFFFFF} Você foi para a Auto-Escola com sucesso!");
  630. return 1;
  631. }
  632. get_cmd_noparams(acolisoes)
  633. {
  634. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  635. if(pInfo[playerid][Admin] < 5) return SendClientMessage(playerid, -1, NAO_EXISTE);
  636. DisableRemoteVehicleCollisions(playerid, false);
  637. SendClientMessage(playerid, -1, "Você habilitou as colisões do seu veículo.");
  638. return 1;
  639. }
  640. get_cmd_noparams(dcolisoes)
  641. {
  642. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  643. if(pInfo[playerid][Admin] < 5) return SendClientMessage(playerid, -1, NAO_EXISTE);
  644. DisableRemoteVehicleCollisions(playerid, true);
  645. SendClientMessage(playerid, -1, "Você desabilitou as colisões do seu veículo.");
  646. return 1;
  647. }
  648. get_cmd_noparams(resgate)
  649. {
  650. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  651. if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, -1, "{FF0000}Você não pode estar em um interior.");
  652. if(GetPlayerVehicleID(playerid) != 0) return SendClientMessage(playerid, -1, "{FF0000}Você não pode estar em um veículo.");
  653. switch(pInfo[playerid][Classe])
  654. {
  655. case Caminhoneiro:
  656. {
  657. new Msg[Padrao], Float:DistanciaDoherty;
  658. DistanciaDoherty = GetPlayerDistanceFromPoint(playerid, -2127.56, -172.88, 35.32);
  659. format(Msg, sizeof(Msg), "Resgate:\tDistância:\tValor:\n\
  660. 01 - Doherty\t%4.2f\t%4.2f",DistanciaDoherty, DistanciaDoherty/10);//Funcionou, só arrumar pq n ta indo até a posição :p
  661. ShowPlayerDialog(playerid, D_Resgates, DIALOG_STYLE_TABLIST_HEADERS, "{FFFF00}#{FFFFFF} Resgates:", Msg, "Ir", "Cancelar");
  662. }
  663. }
  664. return 1;
  665. }
  666. //Localização:
  667. get_cmd_noparams(local)
  668. {
  669. if(pInfo[playerid][Admin] > 3)
  670. {
  671. new Msg[200], Float:Pos[4],Int,World;
  672. GetPlayerPos(playerid, Pos[0],Pos[1],Pos[2]);
  673. if(GetPlayerVehicleSeat(playerid)==-1)
  674. GetPlayerFacingAngle(playerid,Pos[3]);
  675. else
  676. GetVehicleZAngle(GetPlayerVehicleID(playerid),Pos[3]);
  677. Int=GetPlayerInterior(playerid);
  678. World=GetPlayerVirtualWorld(playerid);
  679. format(Msg,200,"Localização: X=%4.2f, Y=%4.2f, Z=%4.2f, Rotação=%4.2f, Interior=%i, Mundo=%i", Pos[0], Pos[1], Pos[2], Pos[3], Int, World);
  680. SendClientMessage(playerid,-1,Msg);
  681. }
  682. else
  683. SendClientMessage(playerid, -1, NAO_EXISTE);
  684. return 1;
  685. }
  686. get_cmd_params(procurado)
  687. {
  688. new Outro, Stars, Msg[Padrao], NomeAdmin[MAX_PLAYER_NAME], NomePlay[MAX_PLAYER_NAME];
  689. GetPlayerName(playerid, NomeAdmin, sizeof(NomeAdmin));
  690. GetPlayerName(playerid, NomePlay, sizeof(NomePlay));
  691. if(sscanf(params, "ui", Outro, Stars)) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Procurado [ID] [Nivel]");
  692. if(Outro==INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Procurado [ID] [Nivel]");
  693. SetPlayerWantedLevel(Outro, Stars);
  694. pInfo[playerid][Procurado] = Stars;
  695. format(Msg, sizeof(Msg), "{FFFF00}O %s {FFFFFF}%s{FFFF00} setou seu nivel de procurado para %d", CargoNome(playerid), NomeAdmin, Stars);
  696. SendClientMessage(Outro, -1, Msg);
  697. format(Msg, sizeof(Msg), "{00FF00}Você setou o nível de procurado de {FFFFFF}%s{00FF00} para {FFFFFF}%d", NomePlay, Stars);
  698. SendClientMessage(playerid, -1, Msg);
  699. return 1;
  700. }
  701. get_cmd_params(dinheiro)
  702. {
  703. new Quantia, Msg[Padrao];
  704. if(sscanf(params,"i",Quantia)) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Dinheiro [Quantia]");
  705. if((Quantia > 100000000) || (Quantia < 0)) return SendClientMessage(playerid, -1, "{FF0000}Quantia inválida. [Máximo 1kkk - Minimo 0]");
  706. DarAoJogador(playerid, Quantia, 0);
  707. format(Msg, sizeof(Msg), "{FF00FF}#{00FF00} Você gerou R$%d", Quantia);
  708. SendClientMessage(playerid, -1, Msg);
  709. return 1;
  710. }
  711. get_cmd_params(score)
  712. {
  713. new Quantia, Msg[Padrao];
  714. if(sscanf(params,"i",Quantia)) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Score [Quantia]");
  715. if((Quantia > 100000000) || (Quantia < 0)) return SendClientMessage(playerid, -1, "{FF0000}Quantia inválida. [Máximo 1kkk - Minimo 0]");
  716. DarAoJogador(playerid, 0, Quantia);
  717. format(Msg, sizeof(Msg), "{FF00FF}#{00FF00} Você gerou %d Scores", Quantia);
  718. SendClientMessage(playerid, -1, Msg);
  719. return 1;
  720. }
  721. get_cmd_params(skin)
  722. {
  723. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  724. new SkinID;
  725. if(sscanf(params, "i", SkinID)) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Skin [ID]");
  726. if((SkinID>311)||(SkinID<0)) return SendClientMessage(playerid, -1, "{FFFF00}#{FF0000} Skin deve ser de 0 até 312!");
  727. SetPlayerSkin(playerid, SkinID);
  728. return 1;
  729. }
  730. get_cmd_params(calar)
  731. {
  732. new OutroID, NomeAdm[MAX_PLAYER_NAME], NomeJog[MAX_PLAYER_NAME], Motivo[50], Msg[200];
  733. if(pInfo[playerid][Admin] < 2) return SendClientMessage(playerid, -1, NAO_EXISTE);
  734. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  735. if(pInfo[OutroID][Calado] == 1) return SendClientMessage(playerid, -1, "{FF00FF}#{FF0000} O outro jogador já está calado!");
  736. if(sscanf(params, "is[50]", OutroID, Motivo)) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Calar [ID] [Motivo]");
  737. if(OutroID==INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Calar [ID] [Motivo]");
  738. GetPlayerName(playerid, NomeAdm, sizeof(NomeAdm));
  739. GetPlayerName(OutroID, NomeJog, sizeof(NomeJog));
  740. pInfo[OutroID][Calado] = 1;
  741. format(Msg, sizeof(Msg), "{FF00FF}#{FF0000} Você foi calado pelo %s %s. Motivo: %s", CargoNome(playerid), NomeAdm, Motivo);
  742. SendClientMessage(OutroID, -1, Msg);
  743. format(Msg, sizeof(Msg), "{FF00FF}#{00FF00} Você calou %s", NomeJog);
  744. SendClientMessage(playerid, -1, Msg);
  745. format(Msg, sizeof(Msg), "{FF00FF}#{FF0000} {FFFFFF}%s{FF0000} Foi calado por {FFFFFF}%s{FF0000}. Motivo: {FFFFFF}%s{FF0000}.", NomeJog, NomeAdm, Motivo);
  746. SendClientMessageToAll(-1, Msg);
  747. return 1;
  748. }
  749. get_cmd_params(descalar)
  750. {
  751. new OutroID, NomeAdm[MAX_PLAYER_NAME], NomeJog[MAX_PLAYER_NAME], Msg[200];
  752. if(pInfo[playerid][Admin] < 2) return SendClientMessage(playerid, -1, NAO_EXISTE);
  753. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  754. if(pInfo[OutroID][Calado] == 0) return SendClientMessage(playerid, -1, "{FF00FF}#{FF0000} O outro jogador já está descalado!");
  755. if(sscanf(params, "i", OutroID)) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Desalar [ID]");
  756. if(OutroID==INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /Descalar [ID]");
  757. GetPlayerName(playerid, NomeAdm, sizeof(NomeAdm));
  758. GetPlayerName(OutroID, NomeJog, sizeof(NomeJog));
  759. pInfo[OutroID][Calado] = 0;
  760. format(Msg, sizeof(Msg), "{FF00FF}#{00FF00} Você foi descalado pelo %s %s.", CargoNome(playerid), NomeAdm);
  761. SendClientMessage(OutroID, -1, Msg);
  762. format(Msg, sizeof(Msg), "{FF00FF}#{00FF00} Você descalou %s", NomeJog);
  763. SendClientMessage(playerid, -1, Msg);
  764. format(Msg, sizeof(Msg), "{FF00FF}#{FF0000} {FFFFFF}%s{00FF00} Foi descalado por {FFFFFF}%s{00FF00}.", NomeJog, NomeAdm);
  765. SendClientMessageToAll(-1, Msg);
  766. return 1;
  767. }
  768. get_cmd_params(darvida)
  769. {
  770. new outroid, vida, Msg[Padrao], NomeAdmin[MAX_PLAYER_NAME], NomePlayer[MAX_PLAYER_NAME];
  771. if(pInfo[playerid][Admin] < 1) return SendClientMessage(playerid, -1, NAO_EXISTE);
  772. if(pInfo[playerid][Entrou] != 1) return SendClientMessage(playerid, -1, CONTA_INATIVA);
  773. if(sscanf(params, "ui", outroid, vida)) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /DarVida [ID] [Quantia]");
  774. if(outroid==INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /DarVida [ID] [Quantia]");
  775. GetPlayerName(playerid, NomeAdmin, sizeof(NomeAdmin));
  776. GetPlayerName(outroid, NomePlayer, sizeof(NomePlayer));
  777. format(Msg, sizeof(Msg), "{FF00FF}#{FFFFFF} O admin %s setou sua vida para %d", NomeAdmin, vida);
  778. SendClientMessage(outroid, -1, Msg);
  779. format(Msg, sizeof(Msg), "{FF00FF}#{FFFFFF} Você setou a vida de %s para %d", NomePlayer, vida);
  780. SendClientMessage(playerid, -1, Msg);
  781. SetPlayerHealth(outroid, vida);
  782. return 1;
  783. }
  784. return 1;
  785. }
  786. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  787. {
  788. new ClickedID, NomeClickedID[MAX_PLAYER_NAME], String[300], Str[50];
  789. GetPlayerName(ClickedID, NomeClickedID, sizeof(NomeClickedID));
  790. format(Str, sizeof(Str), "{FFFFFF}%s", NomeClickedID);
  791. if(pInfo[ClickedID][Admin] > 0)
  792. {
  793. format(String, sizeof(String),"%s{BEBEBE}Admin: {00FF00}Sim\n", String);
  794. format(String, sizeof(String),"%s{BEBEBE}Cargo: {FFFFFF}%s - [%d]\n", String, CargoNome(ClickedID), pInfo[ClickedID][Admin]);
  795. }
  796. else
  797. format(String, sizeof(String),"%s{BEBEBE}Admin: {FF0000}Não\n", String);
  798. switch(pInfo[ClickedID][Classe])
  799. {
  800. case Caminhoneiro: format(String, sizeof(String),"%s{BEBEBE}Classe: {%06x}Caminhoneiro\n", String, GetPlayerColor(playerid)>>>8);
  801. }
  802. if(pInfo[ClickedID][Entrou] == 0)
  803. format(String, sizeof(String),"%s{BEBEBE}Entrou: {FF0000}Não\n", String);
  804. else
  805. format(String, sizeof(String),"%s{BEBEBE}Entrou: {00FF00}Sim\n", String);
  806. if(pInfo[ClickedID][Calado] == 0)
  807. format(String, sizeof(String),"%s{BEBEBE}Calado: {FF0000}Não\n", String);
  808. else
  809. format(String, sizeof(String),"%s{BEBEBE}Calado: {00FF00}Sim\n", String);
  810. format(String, sizeof(String),"%s{BEBEBE}Missões Caminhoneiro: {FFFFFF}%d\n", String, pInfo[playerid][MissoesCaminhoneiro]);
  811. format(String, sizeof(String),"%s{BEBEBE}Skin: {FFFFFF}%d\n", String, GetPlayerSkin(ClickedID));
  812. format(String, sizeof(String),"%s{BEBEBE}Score: {FFFFFF}%d\n", String, GetPlayerScore(ClickedID));
  813. format(String, sizeof(String),"%s{BEBEBE}Dinheiro: {FFFFFF}%d\n", String, GetPlayerMoney(ClickedID));
  814. ShowPlayerDialog(playerid, D_Click, DIALOG_STYLE_MSGBOX, Str, String, "Ok", "");
  815. return 1;
  816. }
  817. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  818. {
  819. new ContaDoJogador[50], Msg[Padrao], NomeDoPlayer[MAX_PLAYER_NAME];
  820. GetPlayerName(playerid, NomeDoPlayer, sizeof(NomeDoPlayer));
  821. format(ContaDoJogador, sizeof(ContaDoJogador), Contas, NomeDoPlayer);
  822. if(dialogid == D_Registro)
  823. {
  824. if(response)
  825. {
  826. if(strlen(inputtext) < 3 || strlen(inputtext) > 50)
  827. {
  828. SendClientMessage(playerid, -1, "{FFFF00}#{FF0000} Sua senha deve conter entre 3 e 50 caracteres, você foi kickado.");
  829. Kick(playerid);
  830. }
  831. else
  832. {
  833. PlayersON++;
  834. SendClientMessage(playerid, -1, "{FFFF00}#{00FF00} Parabéns, você se registrou com sucesso no Mundo dos Caminhoneiros!");
  835. format(Msg, sizeof(Msg), "{00FF00}O Jogador {FFFFFF}%s [ID: %d]{00FF00} se registrou com sucesso no servidor![%d/100]", NomeDoPlayer, playerid, PlayersON);
  836. pInfo[playerid][Entrou] = 1;
  837. SendClientMessageToAll(-1, Msg);
  838. DOF2_CreateFile(ContaDoJogador);
  839. DOF2_SetString(ContaDoJogador, "Nick", NomeDoPlayer);
  840. DOF2_SetString(ContaDoJogador, "Senha", inputtext);
  841. DOF2_SetInt(ContaDoJogador, "Admin", 0);
  842. DOF2_SetInt(ContaDoJogador, "Calado", 0);
  843. DOF2_SaveFile();
  844. return 1;
  845. }
  846. }
  847. else
  848. {
  849. SendClientMessage(playerid, -1, "{FFFF00}#{FF0000} Você clicou em \"{FFFFFF}Sair{FF0000}\" e foi kickado.");
  850. Kick(playerid);
  851. }
  852. return 1;
  853. }
  854. if(dialogid == D_Login)
  855. {
  856. if(response)
  857. {
  858. if(strcmp(inputtext, DOF2_GetString(ContaDoJogador, "Senha"),true) == 0)
  859. {
  860. PlayersON++;
  861. SendClientMessage(playerid, -1, "{FFFF00}#{00FF00} Parabéns, você logou com sucesso no Mundo dos Caminhoneiros!");
  862. format(Msg, sizeof(Msg), "{00FF00}O jogador {FFFFFF}%s [ID: %d]{00FF00} logou com sucesso no servidor![%d/100]", NomeDoPlayer, playerid, PlayersON);
  863. pInfo[playerid][Entrou] = 1;
  864. SendClientMessageToAll(-1, Msg);
  865. CarregarConta(playerid);
  866. }
  867. else
  868. {
  869. SendClientMessage(playerid, -1, "{FFFF00}#{FF0000} Você digitou a senha errada e foi kickado!");
  870. }
  871. }
  872. else
  873. {
  874. SendClientMessage(playerid, -1, "{FFFF00}#{FF0000} Você clicou em \"{FFFFFF}Sair{FF0000}\" e foi kickado.");
  875. Kick(playerid);
  876. }
  877. return 1;
  878. }
  879. if(dialogid == D_Click)
  880. {
  881. return 0;
  882. }
  883. if(dialogid == D_CMDS)
  884. {
  885. if(response)
  886. {
  887. if(listitem == 0)
  888. {
  889. SendClientMessage(playerid, -1, "{FFFF00}Em breve todos os comandos gerais!");
  890. }
  891. if(listitem == 1)
  892. {
  893. SendClientMessage(playerid, -1, "{FFFF00}Em breve todos os comandos de profissões!");
  894. }
  895. if(listitem == 2)
  896. {
  897. SendClientMessage(playerid, -1, "{FFFF00}Em breve todos os comandos de Admin!");
  898. }
  899. if(listitem == 3)
  900. {
  901. SendClientMessage(playerid, -1, "{FFFF00}Em breve todos os comandos de VIP!");
  902. }
  903. return 1;
  904. }
  905. return 1;
  906. }
  907. if(dialogid == D_Licencas)
  908. {
  909. if(response)
  910. {
  911. if(pInfo[playerid][CarteiraTerrestre] == 0)
  912. {
  913. if(pInfo[playerid][Dinheiro] > 5000 || pInfo[playerid][Score] > 50)
  914. {
  915. DarAoJogador(playerid, -5000, -50);
  916. pInfo[playerid][CarteiraTerrestre] = 1;
  917. SendClientMessage(playerid, -1, "{FF00FF}#{00FF00} Parabéns, você comprou a carteira de motorista terreste!");
  918. }
  919. else
  920. SendClientMessage(playerid, -1, TagErro "Você precisa de R$5000 e 50 score para adquirir essa carteira");
  921. }
  922. else
  923. SendClientMessage(playerid, -1, "{FF00FF}#{00FF00} Você já possui a carteira de motorista terrestre!");
  924. }
  925. else
  926. return 0;
  927. return 1;
  928. }
  929. if(dialogid == D_Resgates)
  930. {
  931. if(response)
  932. {
  933. switch(pInfo[playerid][Classe])
  934. {
  935. case Caminhoneiro:
  936. {
  937. if(listitem == 0)
  938. {
  939. SetSpawnInfo(playerid, 0, GetPlayerSkin(playerid), -2127.56, -172.88, 35.32, 358.18, 0, 0, 0, 0, 0, 0);
  940. }
  941. }
  942. }
  943. }
  944. else
  945. return 0;
  946. return 1;
  947. }
  948. if(dialogid == DialogoCaminhaoCarga)
  949. {
  950. new TotalStartLocList[1000], ListadeProdutos[50], NumProducts, ProductID, LocID;
  951. if(!response) return 1;
  952. switch (GetVehicleModel(GetPlayerVehicleID(playerid)))
  953. {
  954. case VeiculoRoadTrain, VeiculoLineRunner, VeiculoTanker:
  955. {
  956. switch (GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))))
  957. {
  958. case TrailerFechado1, TrailerFechado2:
  959. ListadeProdutos = Product_GetList(CargaBau, NumProducts);
  960. case TrailerMinerio:
  961. ListadeProdutos = Product_GetList(CargaMinerio, NumProducts);
  962. case TrailerFluidos:
  963. ListadeProdutos = Product_GetList(CargaFluido, NumProducts);
  964. }
  965. }
  966. case 482, 499, 440, 414, 456:
  967. ListadeProdutos = Product_GetList(CargaBau, NumProducts);
  968. }
  969. pInfo[playerid][CargaID] = ListadeProdutos[listitem];
  970. ProductID = pInfo[playerid][CargaID];
  971. for (new i; i < 30; i++)
  972. {
  973. LocID = ALoads[ProductID][FromLocations][i];
  974. if (LocID != 0)
  975. format(TotalStartLocList, 1000, "%s%s\n", TotalStartLocList, LocalCargaDescarga[LocID][NomedoLocal]);
  976. else
  977. break;
  978. }
  979. ShowPlayerDialog(playerid, DialogoCaminhaoCarregamento, DIALOG_STYLE_LIST, "Selecione o local de carregamento", TotalStartLocList, "Selecionar", "Cancelar");
  980. return 1;
  981. }
  982. if(dialogid == DialogoCaminhaoCarregamento)
  983. {
  984. new ProductID, LocID, TotalEndLocList[1000];
  985. if(!response) return 1;
  986. ProductID = pInfo[playerid][CargaID];
  987. pInfo[playerid][Carregamento] = ALoads[ProductID][FromLocations][listitem];
  988. for (new i; i < 30; i++)
  989. {
  990. LocID = ALoads[ProductID][ToLocations][i];
  991. if (LocID != 0)
  992. format(TotalEndLocList, 1000, "%s%s\n", TotalEndLocList, LocalCargaDescarga[LocID][NomedoLocal]);
  993. else
  994. break;
  995. }
  996. ShowPlayerDialog(playerid, DialogoCaminhaoDescarregamento, DIALOG_STYLE_LIST, "Selecione o local de descarregamento", TotalEndLocList, "Selecionar", "Cancelar");
  997. return 1;
  998. }
  999. if(dialogid == DialogoCaminhaoDescarregamento)
  1000. {
  1001. new loadName[50], startlocName[50], endlocName[50], LoadMsg[Padrao], Float:x3, Float:y3, Float:z3, ProductID;
  1002. if(!response) return 1;
  1003. ProductID = pInfo[playerid][CargaID];
  1004. pInfo[playerid][Descarregamento] = ALoads[ProductID][ToLocations][listitem];
  1005. format(loadName, 50, "%s", ALoads[ProductID][LoadName]);
  1006. format(startlocName, 50, "%s", LocalCargaDescarga[pInfo[playerid][Carregamento]][NomedoLocal]);
  1007. format(endlocName, 50, "%s", LocalCargaDescarga[pInfo[playerid][Descarregamento]][NomedoLocal]);
  1008. pInfo[playerid][Trabalhando] = true;
  1009. pInfo[playerid][VeiculoID] = GetPlayerVehicleID(playerid);
  1010. pInfo[playerid][TrailerID] = GetVehicleTrailer(GetPlayerVehicleID(playerid));
  1011. pInfo[playerid][PartedoTrabalho] = 1;
  1012. x3 = LocalCargaDescarga[pInfo[playerid][Carregamento]][LocX];
  1013. y3 = LocalCargaDescarga[pInfo[playerid][Carregamento]][LocY];
  1014. z3 = LocalCargaDescarga[pInfo[playerid][Carregamento]][LocZ];
  1015. SetPlayerCheckpoint(playerid, x3, y3, z3, 7);
  1016. format(LoadMsg, sizeof(LoadMsg), "Você está carregando %s de %s para %s", loadName, startlocName, endlocName);
  1017. SendClientMessage(playerid, 0xFFFFFFFF, LoadMsg);
  1018. TextDrawSetString(pInfo[playerid][BTCaminhoneiroProd], loadName);
  1019. TextDrawSetString(pInfo[playerid][BTCaminhoneiroInic], startlocName);
  1020. TextDrawSetString(pInfo[playerid][BTCaminhoneiroFim], endlocName);
  1021. TextDrawColor(Text:pInfo[playerid][BTCaminhoneiroProd], 0xFFFF00FF);
  1022. TextDrawColor(Text:pInfo[playerid][BTCaminhoneiroInic], 0x00FF00FF);
  1023. TextDrawColor(Text:pInfo[playerid][BTCaminhoneiroFim], 0xFF0000FF);
  1024. TextDrawShowForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroProd]);
  1025. TextDrawShowForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroInic]);
  1026. TextDrawShowForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroFim]);
  1027. for(new i;i<10;i++)
  1028. {
  1029. TextDrawShowForPlayer(playerid, Text:BTCaminhoneiroBase[i]);
  1030. }
  1031. return 1;
  1032. }
  1033. return 1;
  1034. }
  1035.  
  1036. stock Product_GetList(PCV_Needed, &NumProducts)
  1037. {
  1038. new ListadeProdutos[50];
  1039. for (new i; i < sizeof(ALoads); i++)
  1040. {
  1041. if (NumProducts < 50)
  1042. {
  1043. if (ALoads[i][PCV_Required] == PCV_Needed)
  1044. {
  1045. ListadeProdutos[NumProducts] = i;
  1046. NumProducts++;
  1047. }
  1048. }
  1049. }
  1050. return ListadeProdutos;
  1051. }
  1052.  
  1053. Caminhoneiro_EntrouCP(playerid)
  1054. {
  1055. if (GetPlayerVehicleID(playerid) != pInfo[playerid][VeiculoID])
  1056. return SendClientMessage(playerid, -1, "[ERRO] Você precisa estar em um caminhão para carregar seu trailer!");
  1057. if (pInfo[playerid][TrailerID] != GetVehicleTrailer(GetPlayerVehicleID(playerid)))
  1058. return SendClientMessage(playerid, -1, "[ERRO] Você precisa de um trailer para continuar o trabalho!");
  1059.  
  1060. switch (pInfo[playerid][PartedoTrabalho])
  1061. {
  1062. case 1:
  1063. {
  1064. SendClientMessage(playerid, -1, "Carregando seu caminhão, por favor, aguarde!");
  1065. GameTextForPlayer(playerid, "~w~Carregando caminhao...~n~~r~Aguarde", 5000, 1);
  1066. }
  1067. case 2:
  1068. {
  1069. SendClientMessage(playerid, -1, "Descarregando seu caminhão, por favor, aguarde!");
  1070. GameTextForPlayer(playerid, "~w~Descarregando caminhao...~n~~r~Aguarde", 5000, 1);
  1071. }
  1072. }
  1073. TogglePlayerControllable(playerid, 0);
  1074. pInfo[playerid][TempoCargaDescarga] = SetTimerEx("Caminhoneiro_CarregarCargDesc", 5000, false, "d" , playerid);
  1075. return 1;
  1076. }
  1077.  
  1078. forward Caminhoneiro_CarregarCargDesc(playerid);
  1079. public Caminhoneiro_CarregarCargDesc(playerid)
  1080. {
  1081. switch (pInfo[playerid][PartedoTrabalho])
  1082. {
  1083. case 1:
  1084. {
  1085. new StartLoc[50], EndLoc[50], Load[50], Float:x, Float:y, Float:z, UnloadMsg[100];
  1086. pInfo[playerid][PartedoTrabalho] = 2;
  1087. DisablePlayerCheckpoint(playerid);
  1088. format(StartLoc, 50, LocalCargaDescarga[pInfo[playerid][Carregamento]][NomedoLocal]);
  1089. format(EndLoc, 50, LocalCargaDescarga[pInfo[playerid][Descarregamento]][NomedoLocal]);
  1090. format(Load, 50, ALoads[pInfo[playerid][CargaID]][LoadName]);
  1091. x = LocalCargaDescarga[pInfo[playerid][Descarregamento]][LocX];
  1092. y = LocalCargaDescarga[pInfo[playerid][Descarregamento]][LocY];
  1093. z = LocalCargaDescarga[pInfo[playerid][Descarregamento]][LocZ];
  1094. SetPlayerCheckpoint(playerid, x, y, z, 7);
  1095. TogglePlayerControllable(playerid, 1);
  1096. format(UnloadMsg, 100, "Leve a carga de %s até %s.", Load, EndLoc);
  1097. SendClientMessage(playerid, 0xFFFFFFFF, UnloadMsg);
  1098. TextDrawHideForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroInic]);
  1099. TextDrawColor(Text:pInfo[playerid][BTCaminhoneiroInic], 0xFF0000FF);
  1100. TextDrawShowForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroInic]);
  1101. TextDrawHideForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroFim]);
  1102. TextDrawColor(Text:pInfo[playerid][BTCaminhoneiroFim], 0x00FF00FF);
  1103. TextDrawShowForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroFim]);
  1104. }
  1105. case 2:
  1106. {
  1107. new StartLoc[50], EndLoc[50], Load[50], Msg1[Padrao], Name[24];
  1108. GetPlayerName(playerid, Name, sizeof(Name));
  1109. format(StartLoc, 50, LocalCargaDescarga[pInfo[playerid][Carregamento]][NomedoLocal]);
  1110. format(EndLoc, 50, LocalCargaDescarga[pInfo[playerid][Descarregamento]][NomedoLocal]);
  1111. format(Load, 50, ALoads[pInfo[playerid][CargaID]][LoadName]);
  1112. format(Msg1, sizeof(Msg1), "Caminhoneiro %s entregou %s de %s para %s.", Name, Load, StartLoc, EndLoc);
  1113. SendClientMessageToAll(0xFFFFFFFF, Msg1);
  1114. new Float:x1, Float:y1, Float:x2, Float:y2, Float:Distance, Message[Padrao], Payment;
  1115. x1 = LocalCargaDescarga[pInfo[playerid][Carregamento]][LocX];
  1116. y1 = LocalCargaDescarga[pInfo[playerid][Carregamento]][LocY];
  1117. x2 = LocalCargaDescarga[pInfo[playerid][Descarregamento]][LocX];
  1118. y2 = LocalCargaDescarga[pInfo[playerid][Descarregamento]][LocY];
  1119. Distance = floatsqroot(((x2 - x1) * (x2 - x1)) + ((y2 - y1) * (y2 - y1)));
  1120. Payment = floatround((Distance * ALoads[pInfo[playerid][CargaID]][PayPerUnit]), floatround_floor);
  1121. DarAoJogador(playerid, Payment, 0);
  1122. format(Message, sizeof(Message), "Você finalizou a entrega e ganhou R$%i.", Payment);
  1123. SendClientMessage(playerid, -1, Message);
  1124. TogglePlayerControllable(playerid, 1);
  1125. if (Distance > 3000.0)
  1126. DarAoJogador(playerid, 0, 3);
  1127. else
  1128. DarAoJogador(playerid, 0, 2);
  1129. Caminhoneiro_AcabouTrabalho(playerid);
  1130. TextDrawHideForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroProd]);
  1131. TextDrawHideForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroInic]);
  1132. TextDrawHideForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroFim]);
  1133. for(new i;i<10;i++)
  1134. {
  1135. TextDrawHideForPlayer(playerid, Text:BTCaminhoneiroBase[i]);
  1136. }
  1137. }
  1138. }
  1139. return 1;
  1140. }
  1141. Caminhoneiro_AcabouTrabalho(playerid)
  1142. {
  1143. if (pInfo[playerid][Trabalhando] == true)
  1144. {
  1145. pInfo[playerid][Trabalhando] = false;
  1146. pInfo[playerid][PartedoTrabalho] = 0;
  1147. pInfo[playerid][VeiculoID] = 0;
  1148. pInfo[playerid][TrailerID] = 0;
  1149. pInfo[playerid][CargaID] = 0;
  1150. pInfo[playerid][Carregamento] = 0;
  1151. pInfo[playerid][Descarregamento] = 0;
  1152. pInfo[playerid][MissoesCaminhoneiro]++;
  1153. DisablePlayerCheckpoint(playerid);
  1154. TextDrawHideForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroProd]);
  1155. TextDrawHideForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroInic]);
  1156. TextDrawHideForPlayer(playerid, Text:pInfo[playerid][BTCaminhoneiroFim]);
  1157. for(new i;i<10;i++)
  1158. {
  1159. TextDrawHideForPlayer(playerid, Text:BTCaminhoneiroBase[i]);
  1160. }
  1161. }
  1162.  
  1163. return 1;
  1164. }
  1165.  
  1166. forward MSGAleatoria();
  1167. public MSGAleatoria()
  1168. {
  1169. new String[Padrao];
  1170. if(NumeroDaMensagem == 0)format(String, sizeof(String), "{28A9FF}MC {FF00FF}-{FFEA78} Cansado de missoes aleatorias? Adquira agora mesmo sua licença e saia das missoes aleatorias."), NumeroDaMensagem++;
  1171. else if(NumeroDaMensagem == 1)format(String, sizeof(String), "{28A9FF}MC {FF00FF}-{FFEA78} Use /autoescola para ir até a auto-escola!"), NumeroDaMensagem++;
  1172. else if(NumeroDaMensagem == 2)format(String, sizeof(String), "{28A9FF}MC {FF00FF}-{FFEA78} Respeite a vida, ande dentro do limite de velocidade, não abuse."), NumeroDaMensagem++;
  1173. else if(NumeroDaMensagem == 3)format(String, sizeof(String), "{28A9FF}MC {FF00FF}-{FFEA78} Agradecemos a sua presença, volte sempre!"), NumeroDaMensagem++;
  1174. else if(NumeroDaMensagem == 4)format(String, sizeof(String), "{28A9FF}MC {FF00FF}-{FFEA78} Que tal ouvir uma música enquanto joga? temos algumas rádios disponíveis em /Radios."), NumeroDaMensagem++;
  1175. else if(NumeroDaMensagem == 5)format(String, sizeof(String), "{28A9FF}MC {FF00FF}-{FFEA78} O futuro de nosso servidor depende só de você."), NumeroDaMensagem = 0;
  1176. SendClientMessageToAll(-1, String);
  1177. return 1;
  1178. }
  1179.  
  1180. DarAoJogador(playerid, dinheiro, score)
  1181. {
  1182. pInfo[playerid][Dinheiro] = pInfo[playerid][Dinheiro] + dinheiro;
  1183. pInfo[playerid][Score] = pInfo[playerid][Score] + score;
  1184. GivePlayerMoney(playerid, dinheiro);
  1185. SetPlayerScore(playerid, pInfo[playerid][Score]);
  1186. SalvarConta(playerid);
  1187. }
  1188.  
  1189. stock CargoNome(i)
  1190. {
  1191. new TextoCargo[15];
  1192. if(pInfo[i][Admin] == 0) TextoCargo = "Jogador";
  1193. else if(pInfo[i][Admin] == 1) TextoCargo = "Admin teste";
  1194. else if(pInfo[i][Admin] == 2) TextoCargo = "Moderador";
  1195. else if(pInfo[i][Admin] == 3) TextoCargo = "Administrador";
  1196. else if(pInfo[i][Admin] == 4) TextoCargo = "Gerente";
  1197. else if(pInfo[i][Admin] == 5) TextoCargo = "Dono";
  1198. return TextoCargo;
  1199. }
  1200. Caminhoneiro_FimTrabalho(playerid)
  1201. {
  1202. pInfo[playerid][Trabalhando] = false;
  1203. pInfo[playerid][PartedoTrabalho] = 0;
  1204. pInfo[playerid][CargaID] = 0;
  1205. pInfo[playerid][VeiculoID] = 0;
  1206. pInfo[playerid][TrailerID] = 0;
  1207. pInfo[playerid][CargaID] = 0;
  1208. pInfo[playerid][Carregamento] = 0;
  1209. pInfo[playerid][Descarregamento] = 0;
  1210. DisablePlayerCheckpoint(playerid);
  1211. TextDrawHideForPlayer(playerid, pInfo[playerid][BTCaminhoneiroProd]);
  1212. TextDrawHideForPlayer(playerid, pInfo[playerid][BTCaminhoneiroInic]);
  1213. TextDrawHideForPlayer(playerid, pInfo[playerid][BTCaminhoneiroFim]);
  1214. for(new i; i < 10; i++) TextDrawHideForPlayer(playerid, BTCaminhoneiroBase[i]);
  1215. }
  1216. stock CarregarConta(playerid)
  1217. {
  1218. new ContaDoJogador[50], Name[24];
  1219. GetPlayerName(playerid, Name, sizeof(Name));
  1220. format(ContaDoJogador, sizeof(ContaDoJogador), Contas, Name);
  1221. if(DOF2_FileExists(ContaDoJogador))
  1222. {
  1223. strpack(pInfo[playerid][Nick], DOF2_GetString(ContaDoJogador, "Nick"));
  1224. pInfo[playerid][Calado] = DOF2_GetInt(ContaDoJogador, "Calado");
  1225. pInfo[playerid][Admin] = DOF2_GetInt(ContaDoJogador, "Admin");
  1226. SetPlayerScore(playerid, 0);
  1227. SetPlayerScore(playerid, DOF2_GetInt(ContaDoJogador, "Score"));
  1228. pInfo[playerid][Score] = DOF2_GetInt(ContaDoJogador, "Score");
  1229. ResetPlayerMoney(playerid);
  1230. GivePlayerMoney(playerid, DOF2_GetInt(ContaDoJogador, "Dinheiro"));
  1231. pInfo[playerid][Dinheiro] = DOF2_GetInt(ContaDoJogador, "Dinheiro");
  1232. pInfo[playerid][CarteiraTerrestre] = DOF2_GetInt(ContaDoJogador, "CarteiraTerrestre");
  1233. pInfo[playerid][MissoesCaminhoneiro] = DOF2_GetInt(ContaDoJogador, "MissoesCaminhoneiro");
  1234. }
  1235. }
  1236. stock SalvarConta(playerid)
  1237. {
  1238. new ContaDoJogador[50], Name[24];
  1239. GetPlayerName(playerid, Name, sizeof(Name));
  1240. format(ContaDoJogador, sizeof(ContaDoJogador), Contas, Name);
  1241. if(DOF2_FileExists(ContaDoJogador))
  1242. {
  1243. DOF2_SetString(ContaDoJogador, "Nick", Name);
  1244. DOF2_SetInt(ContaDoJogador, "Calado", pInfo[playerid][Calado]);
  1245. DOF2_SetInt(ContaDoJogador, "Admin", pInfo[playerid][Admin]);
  1246. pInfo[playerid][Score] = GetPlayerScore(playerid);
  1247. DOF2_SetInt(ContaDoJogador, "Score", pInfo[playerid][Score]);
  1248. pInfo[playerid][Dinheiro] = GetPlayerMoney(playerid);
  1249. DOF2_SetInt(ContaDoJogador, "Dinheiro", pInfo[playerid][Dinheiro]);
  1250. DOF2_SetInt(ContaDoJogador, "CarteiraTerrestre", pInfo[playerid][CarteiraTerrestre]);
  1251. DOF2_SetInt(ContaDoJogador, "MissoesCaminhoneiro", pInfo[playerid][MissoesCaminhoneiro]);
  1252. DOF2_SaveFile();
  1253. }
  1254. }
  1255. stock Saudacao()
  1256. {
  1257. new h, m, s;
  1258. new MsgSaudacao[Padrao];
  1259. gettime(h, m, s);
  1260. switch(h)
  1261. {
  1262. case 0..5: MsgSaudacao = "Boa madrugada";
  1263. case 6..12: MsgSaudacao = "Bom dia";
  1264. case 13..19: MsgSaudacao = "Boa tarde";
  1265. case 20..23: MsgSaudacao = "Boa noite";
  1266. }
  1267. return MsgSaudacao;
  1268. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement