Advertisement
Guest User

Untitled

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