Guest User

Untitled

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