Advertisement
Guest User

Untitled

a guest
Dec 13th, 2013
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 54.30 KB | None | 0 0
  1. //----------------------------------------------------------
  2. //
  3. // Play Brasil v2.0
  4. // Divirta-s no nosso servidor
  5. //
  6. //----------------------------------------------------------
  7.  
  8.  
  9.  
  10. #include <a_samp>
  11. #include <dini>
  12. #pragma tabsize 0
  13.  
  14. /*
  15. Salvando armas editado caio
  16. */
  17.  
  18. #define PATH "Armas" // Aqui é onde vai salvar os negocios
  19.  
  20. new bool:AlreadyGiveWeapons[MAX_PLAYERS];
  21.  
  22. SaveWeaponsToFile(playerid)
  23. {
  24. new i, path[50], string[128], weaponid, ammo;
  25. path = GetPlayerFormattedName(playerid);
  26. if (!dini_Exists(path)) dini_Create(path);
  27. for (i=0; i<13; i++)
  28. {
  29. GetPlayerWeaponData(playerid,i,weaponid,ammo);
  30. format(string,sizeof(string),"Arma - %d",i);
  31. dini_IntSet(path,string,weaponid);
  32. format(string,sizeof(string),"Municao - %d",i);
  33. dini_IntSet(path,string,ammo == 65535 ? 0 : ammo);
  34. }
  35. }
  36.  
  37. forward LoadArmasToFile(playerid);
  38. public LoadArmasToFile(playerid)
  39. {
  40. new i, path[50], string[128], weaponid, ammo;
  41. path = GetPlayerFormattedName(playerid);
  42. ResetPlayerWeapons(playerid);
  43. for (i=0; i<13; i++)
  44. {
  45. format(string,sizeof(string),"Arma - %d",i);
  46. weaponid = dini_Int(path,string);
  47. format(string,sizeof(string),"Municao - %d",i);
  48. ammo = dini_Int(path,string);
  49. GivePlayerWeapon(playerid,weaponid,ammo);
  50. }
  51. AlreadyGiveWeapons[playerid] = true;
  52. }
  53.  
  54. GetPlayerFormattedName(playerid)
  55. {
  56. new name[24], full[50];
  57. GetPlayerName(playerid,name,sizeof(name));
  58. format(full,sizeof(full),"%s/%s.txt",PATH,name);
  59. return full;
  60. }
  61.  
  62. //----------------------------------------------------------
  63.  
  64. #include <a_samp>
  65. #include a_samp
  66. #include DOF2
  67. #include <YSI\y_commands>
  68. #include <YSI\y_va>
  69. #include <core>
  70. #include <float>
  71. #include "../include/gl_common.inc"
  72. #include "../include/gl_spawns.inc"
  73.  
  74. #pragma tabsize 0
  75.  
  76. //----------------------------------------------------------
  77.  
  78. #define COLOR_WHITE 0xFFFFFFFF
  79. #define COLOR_NORMAL_PLAYER 0xFFBB7777
  80.  
  81. #define CITY_LOS_SANTOS 0
  82. #define CITY_SAN_FIERRO 1
  83. #define CITY_LAS_VENTURAS 2
  84.  
  85. new total_vehicles_from_files=0;
  86.  
  87. // Class selection globals
  88. new gPlayerCitySelection[MAX_PLAYERS];
  89. new gPlayerHasCitySelected[MAX_PLAYERS];
  90. new gPlayerLastCitySelectionTick[MAX_PLAYERS];
  91.  
  92. new Text:txtClassSelHelper;
  93. new Text:txtLosSantos;
  94. new Text:txtSanFierro;
  95. new Text:txtLasVenturas;
  96.  
  97. new thisanimid=0;
  98. new lastanimid=0;
  99.  
  100. //----------------------------------------------------------
  101.  
  102. main()
  103. {
  104. print("\n---------------------------------------");
  105. print("Iniciando Play Brasil v2.0\n");
  106. print("---------------------------------------\n");
  107. }
  108.  
  109. //----------------------------------------------------------
  110.  
  111. public OnPlayerDeath(playerid, killerid, reason)
  112. {
  113. new playercash;
  114.  
  115. // if they ever return to class selection make them city
  116. // select again first
  117. gPlayerHasCitySelected[playerid] = 0;
  118.  
  119. if(killerid == INVALID_PLAYER_ID) {
  120. ResetPlayerMoney(playerid);
  121. } else {
  122. playercash = GetPlayerMoney(playerid);
  123. if(playercash > 0) {
  124. GivePlayerMoney(killerid, playercash);
  125. ResetPlayerMoney(playerid);
  126. }
  127. }
  128. return 1;
  129. }
  130.  
  131. //----------------------------------------------------------
  132.  
  133.  
  134. ClassSel_SetupCharSelection(playerid)
  135. {
  136. if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
  137. SetPlayerInterior(playerid,11);
  138. SetPlayerPos(playerid,508.7362,-87.4335,998.9609);
  139. SetPlayerFacingAngle(playerid,0.0);
  140. SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609);
  141. SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609);
  142. }
  143. else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
  144. SetPlayerInterior(playerid,3);
  145. SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516);
  146. SetPlayerFacingAngle(playerid,181.0);
  147. SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516);
  148. SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516);
  149. }
  150. else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
  151. SetPlayerInterior(playerid,3);
  152. SetPlayerPos(playerid,349.0453,193.2271,1014.1797);
  153. SetPlayerFacingAngle(playerid,286.25);
  154. SetPlayerCameraPos(playerid,352.9164,194.5702,1014.1875);
  155. SetPlayerCameraLookAt(playerid,349.0453,193.2271,1014.1797);
  156. }
  157.  
  158. }
  159.  
  160. //----------------------------------------------------------
  161. // Used to init textdraws of city names
  162.  
  163. ClassSel_InitCityNameText(Text:txtInit)
  164. {
  165. TextDrawUseBox(txtInit, 0);
  166. TextDrawLetterSize(txtInit,1.25,3.0);
  167. TextDrawFont(txtInit, 0);
  168. TextDrawSetShadow(txtInit,0);
  169. TextDrawSetOutline(txtInit,1);
  170. TextDrawColor(txtInit,0xEEEEEEFF);
  171. TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
  172. }
  173.  
  174. //----------------------------------------------------------
  175.  
  176. ClassSel_InitTextDraws()
  177. {
  178. // Init our observer helper text display
  179. txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos");
  180. ClassSel_InitCityNameText(txtLosSantos);
  181. txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro");
  182. ClassSel_InitCityNameText(txtSanFierro);
  183. txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas");
  184. ClassSel_InitCityNameText(txtLasVenturas);
  185.  
  186. // Init our observer helper text display
  187. txtClassSelHelper = TextDrawCreate(10.0, 415.0,
  188. " Press ~b~~k~~GO_LEFT~ ~w~or ~b~~k~~GO_RIGHT~ ~w~to switch cities.~n~ Press ~r~~k~~PED_FIREWEAPON~ ~w~to select.");
  189. TextDrawUseBox(txtClassSelHelper, 1);
  190. TextDrawBoxColor(txtClassSelHelper,0x222222BB);
  191. TextDrawLetterSize(txtClassSelHelper,0.3,1.0);
  192. TextDrawTextSize(txtClassSelHelper,400.0,40.0);
  193. TextDrawFont(txtClassSelHelper, 2);
  194. TextDrawSetShadow(txtClassSelHelper,0);
  195. TextDrawSetOutline(txtClassSelHelper,1);
  196. TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
  197. TextDrawColor(txtClassSelHelper,0xFFFFFFFF);
  198. }
  199.  
  200. //----------------------------------------------------------
  201.  
  202. ClassSel_SetupSelectedCity(playerid)
  203. {
  204. if(gPlayerCitySelection[playerid] == -1) {
  205. gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
  206. }
  207.  
  208. if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
  209. SetPlayerInterior(playerid,0);
  210. SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0);
  211. SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167);
  212.  
  213. TextDrawShowForPlayer(playerid,txtLosSantos);
  214. TextDrawHideForPlayer(playerid,txtSanFierro);
  215. TextDrawHideForPlayer(playerid,txtLasVenturas);
  216. }
  217. else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
  218. SetPlayerInterior(playerid,0);
  219. SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823);
  220. SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589);
  221.  
  222. TextDrawHideForPlayer(playerid,txtLosSantos);
  223. TextDrawShowForPlayer(playerid,txtSanFierro);
  224. TextDrawHideForPlayer(playerid,txtLasVenturas);
  225. }
  226. else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
  227. SetPlayerInterior(playerid,0);
  228. SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390);
  229. SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275);
  230.  
  231. TextDrawHideForPlayer(playerid,txtLosSantos);
  232. TextDrawHideForPlayer(playerid,txtSanFierro);
  233. TextDrawShowForPlayer(playerid,txtLasVenturas);
  234. }
  235. }
  236.  
  237. //----------------------------------------------------------
  238.  
  239. ClassSel_SwitchToNextCity(playerid)
  240. {
  241. gPlayerCitySelection[playerid]++;
  242. if(gPlayerCitySelection[playerid] > CITY_LAS_VENTURAS) {
  243. gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
  244. }
  245. PlayerPlaySound(playerid,1052,0.0,0.0,0.0);
  246. gPlayerLastCitySelectionTick[playerid] = GetTickCount();
  247. ClassSel_SetupSelectedCity(playerid);
  248. }
  249.  
  250. //----------------------------------------------------------
  251.  
  252. ClassSel_SwitchToPreviousCity(playerid)
  253. {
  254. gPlayerCitySelection[playerid]--;
  255. if(gPlayerCitySelection[playerid] < CITY_LOS_SANTOS) {
  256. gPlayerCitySelection[playerid] = CITY_LAS_VENTURAS;
  257. }
  258. PlayerPlaySound(playerid,1053,0.0,0.0,0.0);
  259. gPlayerLastCitySelectionTick[playerid] = GetTickCount();
  260. ClassSel_SetupSelectedCity(playerid);
  261. }
  262.  
  263. //----------------------------------------------------------
  264.  
  265. ClassSel_HandleCitySelection(playerid)
  266. {
  267. new Keys,ud,lr;
  268. GetPlayerKeys(playerid,Keys,ud,lr);
  269.  
  270. if(gPlayerCitySelection[playerid] == -1) {
  271. ClassSel_SwitchToNextCity(playerid);
  272. return;
  273. }
  274.  
  275. // only allow new selection every ~500 ms
  276. if( (GetTickCount() - gPlayerLastCitySelectionTick[playerid]) < 500 ) return;
  277.  
  278. if(Keys & KEY_FIRE) {
  279. gPlayerHasCitySelected[playerid] = 1;
  280. TextDrawHideForPlayer(playerid,txtClassSelHelper);
  281. TextDrawHideForPlayer(playerid,txtLosSantos);
  282. TextDrawHideForPlayer(playerid,txtSanFierro);
  283. TextDrawHideForPlayer(playerid,txtLasVenturas);
  284. TogglePlayerSpectating(playerid,0);
  285. return;
  286. }
  287.  
  288. if(lr > 0) {
  289. ClassSel_SwitchToNextCity(playerid);
  290. }
  291. else if(lr < 0) {
  292. ClassSel_SwitchToPreviousCity(playerid);
  293. }
  294. }
  295.  
  296. //----------------------------------------------------------
  297.  
  298. public OnPlayerRequestClass(playerid, classid)
  299. {
  300. SetPlayerPos(playerid, Float:1128.87866210, Float:-1491.12988281, Float:22.76144409);
  301. SetPlayerCameraPos(playerid, Float:1128.87866210, Float:-1491.12988281, Float:22.76144409);
  302. SetPlayerCameraLookAt(playerid, Float:1128.87866210, Float:-1491.12988281, Float:22.76144409);
  303. return 1;
  304. }
  305. //----------------------------------------------------------
  306.  
  307. public OnGameModeInit()
  308. {
  309. SendRconCommand("reloadfs Seifistration");
  310. SetGameModeText("Play Brasil v2.0");
  311. ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
  312. ShowNameTags(1);
  313. SetNameTagDrawDistance(40.0);
  314. EnableStuntBonusForAll(0);
  315. DisableInteriorEnterExits();
  316. SetWeather(2);
  317. SetWorldTime(11);
  318.  
  319. //UsePlayerPedAnims();
  320. //ManualVehicleEngineAndLights();
  321. //LimitGlobalChatRadius(300.0);
  322.  
  323. ClassSel_InitTextDraws();
  324.  
  325. // Player Class
  326. AddPlayerClass(281,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  327. AddPlayerClass(282,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  328. AddPlayerClass(283,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  329. AddPlayerClass(284,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  330. AddPlayerClass(285,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  331. AddPlayerClass(286,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  332. AddPlayerClass(287,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  333. AddPlayerClass(288,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  334. AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  335. AddPlayerClass(265,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  336. AddPlayerClass(266,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  337. AddPlayerClass(267,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  338. AddPlayerClass(268,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  339. AddPlayerClass(269,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  340. AddPlayerClass(270,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  341. AddPlayerClass(1,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  342. AddPlayerClass(2,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  343. AddPlayerClass(3,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  344. AddPlayerClass(4,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  345. AddPlayerClass(5,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  346. AddPlayerClass(6,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  347. AddPlayerClass(8,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  348. AddPlayerClass(42,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  349. AddPlayerClass(65,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  350. //AddPlayerClass(74,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  351. AddPlayerClass(86,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  352. AddPlayerClass(119,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  353. AddPlayerClass(149,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  354. AddPlayerClass(208,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  355. AddPlayerClass(273,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  356. AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  357.  
  358. AddPlayerClass(47,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  359. AddPlayerClass(48,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  360. AddPlayerClass(49,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  361. AddPlayerClass(50,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  362. AddPlayerClass(51,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  363. AddPlayerClass(52,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  364. AddPlayerClass(53,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  365. AddPlayerClass(54,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  366. AddPlayerClass(55,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  367. AddPlayerClass(56,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  368. AddPlayerClass(57,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  369. AddPlayerClass(58,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  370. AddPlayerClass(68,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  371. AddPlayerClass(69,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  372. AddPlayerClass(70,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  373. AddPlayerClass(71,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  374. AddPlayerClass(72,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  375. AddPlayerClass(73,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  376. AddPlayerClass(75,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  377. AddPlayerClass(76,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  378. AddPlayerClass(78,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  379. AddPlayerClass(79,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  380. AddPlayerClass(80,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  381. AddPlayerClass(81,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  382. AddPlayerClass(82,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  383. AddPlayerClass(83,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  384. AddPlayerClass(84,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  385. AddPlayerClass(85,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  386. AddPlayerClass(87,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  387. AddPlayerClass(88,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  388. AddPlayerClass(89,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  389. AddPlayerClass(91,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  390. AddPlayerClass(92,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  391. AddPlayerClass(93,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  392. AddPlayerClass(95,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  393. AddPlayerClass(96,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  394. AddPlayerClass(97,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  395. AddPlayerClass(98,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  396. AddPlayerClass(99,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
  397.  
  398. // SPECIAL
  399. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt");
  400. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt");
  401.  
  402. // LAS VENTURAS
  403. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
  404. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
  405. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
  406.  
  407. // SAN FIERRO
  408. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
  409. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
  410. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
  411.  
  412. // LOS SANTOS
  413. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
  414. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
  415. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
  416. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
  417.  
  418. // OTHER AREAS
  419. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
  420. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt");
  421. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
  422. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
  423. total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");
  424.  
  425. printf("Total de veículos carregados: %d",total_vehicles_from_files);
  426.  
  427. return 1;
  428. }
  429.  
  430. //----------------------------------------------------------
  431.  
  432. // Sitema de Login criado por Matheus_Mendes //
  433. //Baixado na Tech Samp - www.techsamp.blogspot.com.br//
  434.  
  435. #include <a_samp>
  436. #include a_samp
  437. #define GREEN 0x21DD00FF
  438. #define RED 0xE60000FF
  439. #define ADMIN_RED 0xFB0000FF
  440. #define YELLOW 0xFFFF00FF
  441. #define ORANGE 0xF97804FF
  442. #define LIGHTRED 0xFF8080FF
  443. #define LIGHTBLUE 0x00C2ECFF
  444. #define PURPLE 0xB360FDFF
  445. #define PLAYER_COLOR 0xFFFFFFFF
  446. #define BLUE 0x1229FAFF
  447. #define LIGHTGREEN 0x38FF06FF
  448. #define DARKPINK 0xE100E1FF
  449. #define DARKGREEN 0x008040FF
  450. #define ANNOUNCEMENT 0x6AF7E1FF
  451. #define COLOR_SYSTEM 0xEFEFF7AA
  452. #define GREY 0xCECECEFF
  453. #define PINK 0xD52DFFFF
  454. #define DARKGREY 0x626262FF
  455. #define AQUAGREEN 0x03D687FF
  456. #define NICESKY 0x99FFFFAA
  457. #define WHITE 0xFFFFFFFF
  458. //**MISC**//
  459. #define ACCOUNTS_FOLDER "Contas/%s.ini"
  460. #define LOGIN_DELAY 3 //
  461. //Variaveis Nao retire//
  462. enum aInfo
  463. {
  464. aSenha[128],
  465. aLogged,
  466. }
  467. ;
  468. new AccountInfo[MAX_PLAYERS][aInfo];
  469. new registro[MAX_PLAYERS];
  470. new login[MAX_PLAYERS];
  471. forward LogIn(playerid);
  472. forward OnPlayerUpdate(playerid);
  473.  
  474. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  475. {
  476. if (response == 1)
  477. {
  478. if(dialogid == 12345)
  479. {
  480. if(strlen(inputtext))
  481. {
  482. Encrypt(inputtext);
  483. new player[MAX_PLAYER_NAME];
  484. GetPlayerName(playerid, player, 50);
  485. new string3[32];
  486. new playername3[MAX_PLAYER_NAME];
  487. GetPlayerName(playerid, playername3, sizeof(playername3));
  488. format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
  489. new ip[20];
  490. GetPlayerIp(playerid,ip,sizeof(ip));
  491. new File: hFile = fopen(string3, io_write);
  492. if (hFile)
  493. {
  494. strmid(AccountInfo[playerid][aSenha], inputtext, 0, strlen(inputtext), 255);
  495. new var[128];
  496. format(var, 128, "Senha=%s\n", AccountInfo[playerid][aSenha]);fwrite(hFile, var);
  497. format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
  498. fclose(hFile);
  499. printf("%s is signed up.",playername3);
  500. SendClientMessage(playerid, GREEN, "|- Voce já esta registrado, faça login. -|");
  501. new girismsg[256];
  502. format(girismsg,256,"Seja Bem Vindo\n\nNick: %s\n\nSenha:",playername3);
  503. ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  504. registro[playerid] = 0;
  505. login[playerid] = 1;
  506. }
  507. }
  508. else if(!strlen(inputtext))
  509. {
  510. new name[MAX_PLAYER_NAME];
  511. GetPlayerName(playerid, name, sizeof(name));
  512. new kayitmsg[256];
  513. format(kayitmsg,256,"Seja Bem Vindo\n\n%s Por favor, se registre!\n\nSenha:",name);
  514. ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrar",kayitmsg,"Registrar","Sair");
  515. registro[playerid] = 1;
  516. login[playerid] = 0;
  517. }
  518. }
  519. if(dialogid == 12346)
  520. {
  521. Encrypt(inputtext);
  522. new string2[128];
  523. new playername2[MAX_PLAYER_NAME];
  524. GetPlayerName(playerid, playername2, sizeof(playername2));
  525. format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
  526. new File: UserFile = fopen(string2, io_read);
  527. if ( UserFile )
  528. {
  529. new PassData[256];
  530. new keytmp[256], valtmp[256];
  531. fread( UserFile , PassData , sizeof( PassData ) );
  532. keytmp = ini_GetKey( PassData );
  533. if( strcmp( keytmp , "Senha" , true ) == 0 )
  534. {
  535. valtmp = ini_GetValue( PassData );
  536. strmid(AccountInfo[playerid][aSenha], valtmp, 0, strlen(valtmp)-1, 255);
  537. }
  538. if(strcmp(AccountInfo[playerid][aSenha],inputtext, true ) == 0)
  539. {
  540. if(strlen(inputtext))
  541. {
  542. for(new p = 0; p < strlen(AccountInfo[playerid][aSenha]); p++)
  543. {
  544. inputtext[p] = '?';
  545. }
  546. SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
  547. printf("%s esta logando.",playername2);
  548. new key[256];
  549. new Data[256];
  550. while ( fread( UserFile , Data , sizeof( Data ) ) )
  551.  
  552. {
  553. key = ini_GetKey( Data );
  554. /*if(strcmp(key, "AdminLevel", true) == 0) // This is only an example if you want to add more stuff to store in a file.
  555.  
  556. {
  557. val = ini_GetValue( Data );
  558. AccountInfo[playerid][AdminLevel] = strval(val); // Uncommenting this will give you errors if the variable isn't defined.
  559.  
  560. }
  561. */
  562.  
  563. }
  564. fclose(UserFile);
  565. }
  566. }
  567. else
  568. {
  569. if(strlen(inputtext))
  570. {
  571. new girismsg[256];
  572. printf("%s esta usando senha errada.",playername2);
  573. format(girismsg,256,"SENHA ERRADA\n\nSenha:");
  574. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  575. login[playerid] = 1;
  576. registro[playerid] = 0;
  577. fclose(UserFile);
  578. return 1;
  579. }
  580. }
  581. if(!strlen(inputtext))
  582. {
  583. new girismsg[256];
  584. printf("%s nao esta entrando com senha.",playername2);
  585. format(girismsg,256,"SENHA ERRADA\n\nSenha:");
  586. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  587. login[playerid] = 1;
  588. registro[playerid] = 0;
  589. fclose(UserFile);
  590. return 1;
  591. }
  592. }
  593. }
  594. if(dialogid == 12347)
  595. {
  596. Encrypt(inputtext);
  597. new string2[128];
  598. new playername2[MAX_PLAYER_NAME];
  599. GetPlayerName(playerid, playername2, sizeof(playername2));
  600. format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
  601. new File: UserFile = fopen(string2, io_read);
  602. if ( UserFile )
  603. {
  604. new PassData[256];
  605. new keytmp[256], valtmp[256];
  606. fread( UserFile , PassData , sizeof( PassData ) );
  607. keytmp = ini_GetKey( PassData );
  608. if( strcmp( keytmp , "Senha" , true ) == 0 )
  609. {
  610. valtmp = ini_GetValue( PassData );
  611. strmid(AccountInfo[playerid][aSenha], valtmp, 0, strlen(valtmp)-1, 255);
  612. }
  613. if(strcmp(AccountInfo[playerid][aSenha],inputtext, true ) == 0)
  614. {
  615. if(strlen(inputtext))
  616. {
  617. for(new p = 0; p < strlen(AccountInfo[playerid][aSenha]); p++)
  618. {
  619. inputtext[p] = '?';
  620. }
  621. SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
  622. printf("%s esta logando.",playername2);
  623. new key[256];
  624. new Data[256];
  625. while ( fread( UserFile , Data , sizeof( Data ) ) )
  626.  
  627. {
  628. key = ini_GetKey( Data );
  629. /*if(strcmp(key, "AdminLevel", true) == 0) // Este é apenas um exemplo, se você quiser acrescentar mais coisas para guardar em um arquivo.
  630.  
  631. {
  632. val = ini_GetValue( Data );
  633. AccountInfo[playerid][AdminLevel] = strval(val); // Descomentando isso vai lhe dar erros se a variável não está definida.
  634.  
  635. }
  636. */
  637.  
  638. }
  639. fclose(UserFile);
  640. }
  641. }
  642. else
  643. {
  644. if(strlen(inputtext))
  645. {
  646. new girismsg[256];
  647. printf("%s esta errando a senha.",playername2);
  648. format(girismsg,256,"SENHA ERRADA\n\nSenha:");
  649. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  650. login[playerid] = 1;
  651. registro[playerid] = 0;
  652. fclose(UserFile);
  653. return 1;
  654. }
  655. }
  656. if(!strlen(inputtext))
  657. {
  658. new girismsg[256];
  659. printf("%s did not enter the Senha.",playername2);
  660. format(girismsg,256,"SENHA ERRADA\n\nSenha:");
  661. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  662. login[playerid] = 1;
  663. registro[playerid] = 0;
  664. fclose(UserFile);
  665. return 1;
  666. }
  667. }
  668.  
  669. }
  670. }
  671. else return Kick(playerid);
  672. return 0;
  673. }
  674.  
  675.  
  676. public OnVehicleSpawn(vehicleid)
  677. {
  678. return 1;
  679. }
  680.  
  681. public OnVehicleDeath(vehicleid, killerid)
  682. {
  683. return 1;
  684. }
  685.  
  686. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  687. {
  688. return 1;
  689. }
  690.  
  691. public OnPlayerExitVehicle(playerid, vehicleid)
  692. {
  693. return 1;
  694. }
  695.  
  696. public OnPlayerStateChange(playerid, newstate, oldstate)
  697. {
  698. return 1;
  699. }
  700.  
  701. public OnPlayerEnterCheckpoint(playerid)
  702. {
  703. return 1;
  704. }
  705.  
  706. public OnPlayerLeaveCheckpoint(playerid)
  707. {
  708. return 1;
  709. }
  710.  
  711. public OnPlayerEnterRaceCheckpoint(playerid)
  712. {
  713. return 1;
  714. }
  715.  
  716. public OnPlayerLeaveRaceCheckpoint(playerid)
  717. {
  718. return 1;
  719. }
  720.  
  721. public OnRconCommand(cmd[])
  722. {
  723. return 1;
  724. }
  725.  
  726. public OnObjectMoved(objectid)
  727. {
  728. return 1;
  729. }
  730.  
  731. public OnPlayerObjectMoved(playerid, objectid)
  732. {
  733. return 1;
  734. }
  735.  
  736. public OnPlayerPickUpPickup(playerid, pickupid)
  737. {
  738. return 1;
  739. }
  740.  
  741. public OnPlayerSelectedMenuRow(playerid, row)
  742. {
  743. return 1;
  744. }
  745.  
  746. public OnPlayerExitedMenu(playerid)
  747. {
  748. return 1;
  749. }
  750.  
  751. stock ini_GetKey( line[] )
  752. {
  753. new keyRes[256];
  754. keyRes[0] = 0;
  755. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  756. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  757. return keyRes;
  758. }
  759.  
  760. stock ini_GetValue( line[] )
  761. {
  762. new valRes[256];
  763. valRes[0]=0;
  764. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  765. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  766. return valRes;
  767. }
  768.  
  769. public LogIn(playerid)
  770. {
  771. AccountInfo[playerid][aLogged] = 1;
  772. registro[playerid] = 0;
  773. login[playerid] = 0;
  774. return 1;
  775. }
  776.  
  777. public OnPlayerUpdate(playerid)
  778. {
  779. if(!IsPlayerConnected(playerid)) return 0;
  780. if(IsPlayerNPC(playerid)) return 1;
  781.  
  782. // changing cities by inputs
  783. if( !gPlayerHasCitySelected[playerid] &&
  784. GetPlayerState(playerid) == PLAYER_STATE_SPECTATING ) {
  785. ClassSel_HandleCitySelection(playerid);
  786. return 1;
  787. }
  788.  
  789. // No weapons in interiors
  790. if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) {
  791. SetPlayerArmedWeapon(playerid,0); // fists
  792. return 0; // no syncing until they change their weapon
  793. }
  794.  
  795. // Don't allow minigun
  796. if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN) {
  797. Kick(playerid);
  798. return 0;
  799. }
  800.  
  801. /* No jetpacks allowed
  802. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) {
  803. Kick(playerid);
  804. return 0;
  805. }*/
  806.  
  807. /* For testing animations
  808. new msg[128+1];
  809. new animlib[32+1];
  810. new animname[32+1];
  811.  
  812. thisanimid = GetPlayerAnimationIndex(playerid);
  813. if(lastanimid != thisanimid)
  814. {
  815. GetAnimationName(thisanimid,animlib,32,animname,32);
  816. format(msg, 128, "anim(%d,%d): %s %s", lastanimid, thisanimid, animlib, animname);
  817. lastanimid = thisanimid;
  818. SendClientMessage(playerid, 0xFFFFFFFF, msg);
  819. }*/
  820.  
  821. if(IsPlayerConnected(playerid))
  822. {
  823. if(AccountInfo[playerid][aLogged] == 1)
  824. {
  825. new string3[128];
  826. new playername3[MAX_PLAYER_NAME];
  827. GetPlayerName(playerid, playername3, sizeof(playername3));
  828. format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
  829. new ip[20];
  830. GetPlayerIp(playerid,ip,sizeof(ip));
  831. new File: hFile = fopen(string3, io_write);
  832. if (hFile)
  833. {
  834. new var[128];
  835. format(var, 128, "Senha=%s\n", AccountInfo[playerid][aSenha]);fwrite(hFile, var);
  836. format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
  837. fclose(hFile);
  838. }
  839. }
  840. }
  841. return 1;
  842. }
  843.  
  844. Encrypt(string[])
  845. {
  846. for(new x=0; x < strlen(string); x++)
  847. {
  848. string[x] += (3^x) * (x % 15);
  849. if(string[x] > (0xff))
  850. {
  851. string[x] -= 256;
  852. }
  853. }
  854. }
  855.  
  856. //----------------------------------------------------------
  857.  
  858.  
  859. #include <a_samp>
  860. #include <DOF2>
  861. #include <YSI\y_commands>
  862. #include <YSI\y_va>
  863.  
  864. /*-------------------------------------------------------------------------------------------------------------------------------
  865. | Configurações |
  866. | - PLAYER_FILE |
  867. | Definição utilizada para obter o caminho do arquivo. |
  868. | Caso deixar padrão, é necessário a pasta Spawn dentro da scriptfiles. |
  869. | |
  870. | - SPAWN_MODE |
  871. | Caso o modo de spawn seja 1 o jogador será forçado a ser levado a última posição salva assim |
  872. | que ele der spawn pela primeira vez. |
  873. | |
  874. | Caso seja 2, o jogador tem um certo tempo para poder decidir se quer continuar na última posi- |
  875. | ção salva. (O tempo é configuravel) |
  876. | |
  877. | Caso seja 3, um dialog sera mostrado ao jogador para que ele escolha se quer continuar da úl- |
  878. | tima posição salva ou continuar no local em que spawnou. |
  879. | |
  880. | - SPAWN_TIME |
  881. | Tempo em segundos, em que o jogador deverá escolher se quer voltar à última posição salva, ou |
  882. | continuar aonde está. |
  883. | |
  884. | O SPAWN_TIME só é utilizado caso SPAWN_MODE seja 2. |
  885. | |
  886. | - SPAWN_COMMAND_STYLE |
  887. | Caso SPAWN_MODE seja 2, e SPAWN_COMMAND_STYLE seja 1, o jogador deverá apertar Y para continu- |
  888. | continuar da útima posição salva. |
  889. | |
  890. | Caso SPAWN_COMMAND_STYLE seja 2, o jogador deverá apertar digitar o comando para continuar da |
  891. | útima posição salva. |
  892. | |
  893. | - SPAWN_COMMAND |
  894. | Comando utilizado para continuar do última posição salva. |
  895. | |
  896. | O SPAWN_COMMAND só é utilizado caso SPAWN_MODE seja 2. |
  897. | |
  898. | - SPAWN_DIALOG |
  899. | ID do dialog que vai ser utilizado. |
  900. | |
  901. --------------------------------------------------------------------------------------------------------------------------------*/
  902. #define PLAYER_FILE "Spawn/%s.ini"
  903. #define SPAWN_MODE 1
  904. #define SPAWN_TIME 20//utilize em segundos, no caso 10 = 10 segundos.
  905. #define SPAWN_COMMAND_STYLE 2
  906. #define SPAWN_COMMAND "continuar"
  907. #define SPAWN_DIALOG 1380
  908.  
  909. #if SPAWN_MODE == 2
  910. new
  911. timeCheck[MAX_PLAYERS],
  912. timerCheckSpawn[MAX_PLAYERS],
  913. bool: spawningPlayer[MAX_PLAYERS];
  914. #endif
  915. new
  916. bool: playerConnected[MAX_PLAYERS];
  917.  
  918. forward CheckSpawnPos(playerid);
  919. forward CheckSpawnPosTime(playerid);
  920.  
  921. public OnFilterScriptInit()
  922. {
  923. printf("|------------------------------------------------|");
  924. printf("|-------- Sistema de armas editado por caio --------|");
  925. printf("|------------------------------------------------|");
  926. print("Sistema de salvar dinheiro carregado ....");
  927.  
  928. #if SPAWN_MODE == 2
  929. #if SPAWN_COMMAND_STYLE == 2
  930. Command_AddAltNamed("8b89cef034928dc", SPAWN_COMMAND);
  931. #endif
  932. #endif
  933. return 1;
  934. }
  935.  
  936. public OnFilterScriptExit()
  937. {
  938. printf("|------------------------------------------------|");
  939. printf("|--------- Sistema de salvar armas editado por caio ---------|");
  940. printf("|------------------------------------------------|");
  941. new i, Nome[25], Diretorio[40];
  942.  
  943. for ( i = 0; i < MAX_PLAYERS; ++i ) {
  944.  
  945. if ( IsPlayerConnected(i) ) {
  946.  
  947. GetPlayerName(i, Nome, 25);
  948.  
  949. format (Diretorio, sizeof Diretorio, "Dinheiro/%s.ini", Nome);
  950.  
  951. DOF2_SetInt(Diretorio, "Quantia", GetPlayerMoney(i));
  952. DOF2_SaveFile();
  953. }
  954.  
  955. }
  956. DOF2_Exit();
  957.  
  958. DOF2_Exit();
  959. return 1;
  960. }
  961.  
  962. public OnPlayerConnect(playerid)
  963. {
  964. SendClientMessage(playerid, 0x008080FF, "Sempre use /capacete ou /cinto");
  965. AlreadyGiveWeapons[playerid] = false;
  966. GameTextForPlayer(playerid,"~w~Play Brasil v2.0",3000,4);
  967. SendClientMessage(playerid,COLOR_WHITE,"Bem vindo ao {88AA88}P{FFFFFF}lay {88AA88}B{FFFFFF}rasil");
  968.  
  969. // class selection init vars
  970. gPlayerCitySelection[playerid] = -1;
  971. gPlayerHasCitySelected[playerid] = 0;
  972. gPlayerLastCitySelectionTick[playerid] = GetTickCount();
  973.  
  974. //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
  975.  
  976. //Kick(playerid);
  977.  
  978. /*
  979. Removes vending machines
  980. RemoveBuildingForPlayer(playerid, 1302, 0.0, 0.0, 0.0, 6000.0);
  981. RemoveBuildingForPlayer(playerid, 1209, 0.0, 0.0, 0.0, 6000.0);
  982. RemoveBuildingForPlayer(playerid, 955, 0.0, 0.0, 0.0, 6000.0);
  983. RemoveBuildingForPlayer(playerid, 1775, 0.0, 0.0, 0.0, 6000.0);
  984. RemoveBuildingForPlayer(playerid, 1776, 0.0, 0.0, 0.0, 6000.0);
  985. */
  986.  
  987. /*
  988. new ClientVersion[32];
  989. GetPlayerVersion(playerid, ClientVersion, 32);
  990. printf("Player %d reports client version: %s", playerid, ClientVersion);*/
  991.  
  992. new name[MAX_PLAYER_NAME];
  993. GetPlayerName(playerid, name, sizeof(name));
  994. new string[128];
  995. format(string, sizeof(string), ACCOUNTS_FOLDER, name);
  996. if (AccountInfo[playerid][aLogged] == 0)
  997. {
  998. if (!fexist(string))
  999. {
  1000. new kayitmsg[256];
  1001. format(kayitmsg,256,"Seja Bem Vindo\n\n%s Por favor, se registre!\n\nSenha:",name);
  1002. ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrar",kayitmsg,"Registrar","Sair");
  1003. GivePlayerMoney(playerid, 30000);
  1004. registro[playerid] = 1;
  1005. login[playerid] = 0;
  1006. }
  1007. else if (fexist(string))
  1008. {
  1009. new girismsg[256];
  1010. format(girismsg,256,"Seja Bem Vindo\n\nNick: %s\n\nSenha:",name);
  1011. ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Logar",girismsg,"Logar","Sair");
  1012. registro[playerid] = 0;
  1013. login[playerid] = 1;
  1014. }
  1015. }
  1016.  
  1017. playerConnected[playerid]= true;
  1018.  
  1019. return 1;
  1020. }
  1021.  
  1022. public OnPlayerSpawn(playerid)
  1023. {
  1024. if (!AlreadyGiveWeapons[playerid]) SetTimerEx("LoadArmasToFile",250,false,"i",playerid);
  1025. new Diretorio[40], Nome[25];
  1026.  
  1027. GetPlayerName(playerid, Nome, 25);
  1028.  
  1029. format (Diretorio, sizeof Diretorio, "Dinheiro/%s.ini", Nome);
  1030.  
  1031. if ( fexist(Diretorio) )
  1032. GivePlayerMoney(playerid, DOF2_GetInt(Diretorio, "Quantia"));
  1033. else {
  1034.  
  1035. DOF2_CreateFile(Diretorio);
  1036. DOF2_SetInt(Diretorio, "Quantia", 0);
  1037. DOF2_SaveFile();
  1038. }
  1039. if(IsPlayerNPC(playerid))
  1040. return true;
  1041.  
  1042. new randSpawn = 0;
  1043.  
  1044. SetPlayerInterior(playerid,0);
  1045. TogglePlayerClock(playerid,0);
  1046.  
  1047. if(CITY_LOS_SANTOS == gPlayerCitySelection[playerid]) {
  1048. randSpawn = random(sizeof(gRandomSpawns_LosSantos));
  1049. SetPlayerPos(playerid,
  1050. gRandomSpawns_LosSantos[randSpawn][0],
  1051. gRandomSpawns_LosSantos[randSpawn][1],
  1052. gRandomSpawns_LosSantos[randSpawn][2]);
  1053. SetPlayerFacingAngle(playerid,gRandomSpawns_LosSantos[randSpawn][3]);
  1054. }
  1055. else if(CITY_SAN_FIERRO == gPlayerCitySelection[playerid]) {
  1056. randSpawn = random(sizeof(gRandomSpawns_SanFierro));
  1057. SetPlayerPos(playerid,
  1058. gRandomSpawns_SanFierro[randSpawn][0],
  1059. gRandomSpawns_SanFierro[randSpawn][1],
  1060. gRandomSpawns_SanFierro[randSpawn][2]);
  1061. SetPlayerFacingAngle(playerid,gRandomSpawns_SanFierro[randSpawn][3]);
  1062. }
  1063. else if(CITY_LAS_VENTURAS == gPlayerCitySelection[playerid]) {
  1064. randSpawn = random(sizeof(gRandomSpawns_LasVenturas));
  1065. SetPlayerPos(playerid,
  1066. gRandomSpawns_LasVenturas[randSpawn][0],
  1067. gRandomSpawns_LasVenturas[randSpawn][1],
  1068. gRandomSpawns_LasVenturas[randSpawn][2]);
  1069. SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]);
  1070. }
  1071.  
  1072. //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
  1073.  
  1074. SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,200);
  1075. SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,200);
  1076. SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,200);
  1077. SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,200);
  1078. SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,200);
  1079. SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,200);
  1080. SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,200);
  1081. SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,200);
  1082. SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,200);
  1083. SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,200);
  1084. SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,200);
  1085.  
  1086. GivePlayerWeapon(playerid,WEAPON_COLT45,100);
  1087. //GivePlayerWeapon(playerid,WEAPON_MP5,100);
  1088. TogglePlayerClock(playerid, 0);
  1089. if(playerConnected[playerid])
  1090. {
  1091. new
  1092. playerFileFormatted[62];
  1093.  
  1094. format(playerFileFormatted, 62, PLAYER_FILE, GetPlayerNameEx(playerid));
  1095.  
  1096. if(!DOF2_FileExists(playerFileFormatted))
  1097. return DOF2_CreateFile(playerFileFormatted);
  1098.  
  1099. #if SPAWN_MODE == 1
  1100. return SetTimerEx("CheckSpawnPos", 500, false, "i", playerid);
  1101. #elseif SPAWN_MODE == 2
  1102. timerCheckSpawn[playerid] = SetTimerEx("CheckSpawnPosTime", 1000, true, "i", playerid);
  1103. spawningPlayer[playerid] = true;
  1104. return 1;
  1105. #elseif SPAWN_MODE == 3
  1106. ShowDialog(playerid, SPAWN_DIALOG);
  1107. #endif
  1108.  
  1109. playerConnected[playerid] = false;
  1110. }
  1111.  
  1112. return 1;
  1113. }
  1114. #if SPAWN_MODE == 2
  1115. #if SPAWN_COMMAND_STYLE == 1
  1116. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
  1117. if ((newkeys & KEY_YES) && !(oldkeys & KEY_YES))
  1118. if(spawningPlayer[playerid]) {
  1119. BreakLine(playerid);
  1120. SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}Enviado à última posição salva.");
  1121. KillTimer(timerCheckSpawn[playerid]);
  1122. spawningPlayer[playerid] = false;
  1123. return CheckSpawnPos(playerid);
  1124. }
  1125. return 1;
  1126. }
  1127. #endif
  1128. #elseif SPAWN_MODE == 3
  1129. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1130. {
  1131. switch(dialogid)
  1132. {
  1133. case SPAWN_DIALOG:
  1134. {
  1135. if(!response)
  1136. return 1;
  1137.  
  1138. SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}Enviado à última posição salva.");
  1139. CheckSpawnPos(playerid);
  1140. return 1;
  1141. }
  1142. }
  1143. return 0;
  1144. }
  1145. #endif
  1146.  
  1147. public OnPlayerDisconnect(playerid)
  1148. {
  1149. SaveWeaponsToFile(playerid);
  1150. new Diretorio[40], Nome[25];
  1151.  
  1152. GetPlayerName(playerid, Nome, 25);
  1153.  
  1154. format (Diretorio, sizeof Diretorio, "Dinheiro/%s.ini", Nome);
  1155. DOF2_SetInt(Diretorio, "Quantia", GetPlayerMoney(playerid) );
  1156. DOF2_SaveFile();
  1157. OnPlayerUpdate(playerid);
  1158. AccountInfo[playerid][aLogged] = 0;
  1159. registro[playerid] = 0;
  1160. login[playerid] = 0;
  1161. new
  1162. Float: flo_player_pos[3],
  1163. Float: flo_player_fa,
  1164. int_player_int = GetPlayerInterior(playerid),
  1165. playerFileFormatted[62];
  1166.  
  1167. GetPlayerPos(playerid, flo_player_pos[0], flo_player_pos[1], flo_player_pos[2]);
  1168. GetPlayerFacingAngle(playerid, flo_player_fa);
  1169.  
  1170. format(playerFileFormatted, 62, PLAYER_FILE, GetPlayerNameEx(playerid));
  1171.  
  1172. if(!DOF2_FileExists(playerFileFormatted))
  1173. DOF2_CreateFile(playerFileFormatted);
  1174.  
  1175. DOF2_SetFloat(playerFileFormatted, "Last Pos X", flo_player_pos[0]);
  1176. DOF2_SetFloat(playerFileFormatted, "Last Pos Y", flo_player_pos[1]);
  1177. DOF2_SetFloat(playerFileFormatted, "Last Pos Z", flo_player_pos[2]);
  1178. DOF2_SetFloat(playerFileFormatted, "Last Pos FA", flo_player_fa);
  1179. DOF2_SetInt(playerFileFormatted, "Last Int", int_player_int);
  1180.  
  1181. DOF2_SaveFile();
  1182.  
  1183. return 1;
  1184. }
  1185.  
  1186. public CheckSpawnPos(playerid)
  1187. {
  1188. new
  1189. Float: oldPlayerPos[3],
  1190. Float: oldPlayerPosFA,
  1191. oldPlayerPosInt,
  1192. playerFileFormatted[62];
  1193.  
  1194. playerConnected[playerid] = false;
  1195.  
  1196. format(playerFileFormatted, 62, PLAYER_FILE, GetPlayerNameEx(playerid));
  1197.  
  1198. oldPlayerPos[0] = DOF2_GetFloat(playerFileFormatted, "Last Pos X");
  1199. oldPlayerPos[1] = DOF2_GetFloat(playerFileFormatted, "Last Pos Y");
  1200. oldPlayerPos[2] = DOF2_GetFloat(playerFileFormatted, "Last Pos Z");
  1201. oldPlayerPosFA = DOF2_GetFloat(playerFileFormatted, "Last Pos FA");
  1202. oldPlayerPosInt = DOF2_GetInt(playerFileFormatted, "Last Int");
  1203.  
  1204. SetPlayerPos(playerid, oldPlayerPos[0], oldPlayerPos[1], oldPlayerPos[2]);
  1205. SetPlayerFacingAngle(playerid, oldPlayerPosFA);
  1206. SetPlayerInterior(playerid, oldPlayerPosInt);
  1207.  
  1208. return 1;
  1209. }
  1210.  
  1211. #if SPAWN_MODE == 2
  1212. public CheckSpawnPosTime(playerid)
  1213. {
  1214. timeCheck[playerid]++;
  1215.  
  1216. if (timeCheck[playerid] == 1)
  1217. {
  1218. #if SPAWN_COMMAND_STYLE == 1
  1219. va_SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}Você tem {64DCFF}%d {FFFFFF}segundos para apertar a tecla {64DCFF}Y {FFFFFF}e continuar aonde", SPAWN_TIME);
  1220. SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}estava quando se desconectou do servidor pela última vez.");
  1221. #elseif SPAWN_COMMAND_STYLE == 2
  1222. va_SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}Você tem {64DCFF}%d {FFFFFF}segundos para digitar o comando {64DCFF}/%s {FFFFFF}e continuar aonde", SPAWN_TIME, SPAWN_COMMAND);
  1223. SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}estava quando se desconectou do servidor pela última vez.");
  1224. #endif
  1225. }
  1226. else if (timeCheck[playerid] == SPAWN_TIME/2)
  1227. {
  1228. #if SPAWN_COMMAND_STYLE == 1
  1229. BreakLine(playerid);
  1230. va_SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}Você tem {64DCFF}%d {FFFFFF}segundos para apertar a tecla {64DCFF}Y {FFFFFF}e continuar aonde", SPAWN_TIME/2);
  1231. SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}estava quando se desconectou do servidor pela última vez.");
  1232. #elseif SPAWN_COMMAND_STYLE == 2
  1233. BreakLine(playerid);
  1234. va_SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}Você tem {64DCFF}%d {FFFFFF}segundos para digitar o comando {64DCFF}/%s {FFFFFF}e continuar aonde", SPAWN_TIME/2, SPAWN_COMMAND);
  1235. SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}estava quando se desconectou do servidor pela última vez.");
  1236. #endif
  1237. }
  1238. else if (timeCheck[playerid] == SPAWN_TIME)
  1239. {
  1240. BreakLine(playerid);
  1241. SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}O tempo acabou e você vai continuar aonde está.");
  1242. timeCheck[playerid] = 0;
  1243. spawningPlayer[playerid] = false;
  1244. KillTimer(timerCheckSpawn[playerid]);
  1245. return 1;
  1246. }
  1247.  
  1248. return 1;
  1249. }
  1250. #endif
  1251.  
  1252. #if SPAWN_MODE == 2
  1253. #if SPAWN_COMMAND_STYLE == 2
  1254. YCMD:8b89cef034928dc(playerid, params[], help)
  1255. {
  1256. if(!spawningPlayer[playerid])
  1257. return 0;
  1258.  
  1259. BreakLine(playerid);
  1260. SendClientMessage(playerid, 0x6491FFFF, "| LSpawn | {FFFFFF}Enviado à última posição salva.");
  1261. KillTimer(timerCheckSpawn[playerid]);
  1262. spawningPlayer[playerid] = false;
  1263. return CheckSpawnPos(playerid);
  1264. }
  1265. #endif
  1266. #elseif SPAWN_MODE == 3
  1267. ShowDialog(playerid, dialogid)
  1268. {
  1269. switch(dialogid)
  1270. {
  1271. case SPAWN_DIALOG:
  1272. {
  1273. new
  1274. formatMsg[128];
  1275.  
  1276. BreakLine(playerid);
  1277. format(formatMsg, sizeof formatMsg, "{FFFFFF}Olá {64DCFF}%s{FFFFFF}, gostaria de continuar de onde você parou na sua última sessão?", GetPlayerNameEx(playerid));
  1278. ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_MSGBOX, "Spawn...", formatMsg, "Sim", "Não");
  1279.  
  1280. return 1;
  1281. }
  1282. }
  1283. return 1;
  1284. }
  1285. #endif
  1286.  
  1287. GetPlayerNameEx(playerid)
  1288. {
  1289. new
  1290. playerName[MAX_PLAYER_NAME];
  1291.  
  1292. GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
  1293.  
  1294. return playerName;
  1295. }
  1296.  
  1297. BreakLine(playerid) {
  1298. return SendClientMessage(playerid, -1, " ");
  1299. }
  1300.  
  1301.  
  1302. //----------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement