Guest User

Untitled

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