Guest User

Untitled

a guest
Jun 20th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.91 KB | None | 0 0
  1. /*
  2. -=========SunGame=========-
  3. -======Modifikacijos Pradininkas======-
  4. '****Alahan_Sandwichan****'
  5. -======Modifikacijos pirmosios eilutės pradėtos======-
  6. '****2018-06-20** 20:25****'
  7. */
  8.  
  9.  
  10. #include <a_samp>
  11. #include <streamer>
  12. #include <sscanf2>
  13. #include <a_mysql>
  14.  
  15.  
  16.  
  17.  
  18. #pragma tabsize 0
  19.  
  20.  
  21. //============================ REGISTRACIJA ===================================
  22. #define MYSQL_HOST "localhost"
  23. #define MYSQL_USER "root"
  24. #define MYSQL_DATABASE "esketit"
  25. #define MYSQL_PASSWORD ""
  26.  
  27. #define SPAWN_X 10.0
  28. #define SPAWN_Y 10.0
  29. #define SPAWN_Z 14.0
  30. #define SPAWN_A 0.0
  31.  
  32.  
  33.  
  34. enum
  35. {
  36. LoginDialog,
  37. RegisterDialog
  38. };
  39.  
  40.  
  41. enum PlayerData
  42. {
  43. ID,
  44. Name[MAX_PLAYER_NAME],
  45. Password[129],
  46. IP[16],
  47. Admin,
  48. VIP,
  49. Money,
  50. Float:posX,
  51. Float:posY,
  52. Float:posZ,
  53. Float:posA
  54. };
  55. new Player[MAX_PLAYERS][PlayerData];
  56.  
  57.  
  58. new
  59. mysql;
  60.  
  61. native WP_Hash(buffer[], len, const str[]);
  62. //=============================================================================
  63.  
  64.  
  65. //=======================FORWARDAI=============================================
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78. //======================Timeriai===============================================
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87. //======================NEW====================================================
  88. //vm
  89. /*new vmcar[7];
  90.  
  91. new mw[MAX_PLAYERS][18];
  92.  
  93.  
  94. new vm1[MAX_PLAYERS];
  95. new vm2[MAX_PLAYERS];
  96. new vm3[MAX_PLAYERS];
  97. new vm4[MAX_PLAYERS];
  98. new vm5[MAX_PLAYERS];
  99. new vm6[MAX_PLAYERS];
  100. new vm7[MAX_PLAYERS];
  101. new vm8[MAX_PLAYERS];
  102. new vm9[MAX_PLAYERS];
  103. new vm10[MAX_PLAYERS];
  104. new vm12[MAX_PLAYERS];
  105. new vm13[MAX_PLAYERS];
  106. new vm14[MAX_PLAYERS];
  107. new vm15[MAX_PLAYERS];
  108. new vm16[MAX_PLAYERS];
  109. new vm17[MAX_PLAYERS];
  110. new vm18[MAX_PLAYERS];
  111. new vm19[MAX_PLAYERS];
  112. new vm20[MAX_PLAYERS];
  113. new vm21[MAX_PLAYERS];
  114. new vm22[MAX_PLAYERS];
  115. new vm23[MAX_PLAYERS];
  116. new vm24[MAX_PLAYERS];
  117. new vm25[MAX_PLAYERS];
  118. new vm26[MAX_PLAYERS];
  119. new vm27[MAX_PLAYERS];
  120. new vm28[MAX_PLAYERS];
  121. new vm29[MAX_PLAYERS];
  122. new vm30[MAX_PLAYERS];
  123. new vm31[MAX_PLAYERS];
  124. new vm32[MAX_PLAYERS];
  125. new vm33[MAX_PLAYERS];
  126. new vm34[MAX_PLAYERS];
  127. new vm35[MAX_PLAYERS];
  128. new vm36[MAX_PLAYERS];
  129. new vm37[MAX_PLAYERS];
  130. new vm38[MAX_PLAYERS];
  131. new vm39[MAX_PLAYERS];
  132. new vm40[MAX_PLAYERS];
  133. new vm41[MAX_PLAYERS];
  134. new vm42[MAX_PLAYERS];
  135. new vm43[MAX_PLAYERS];
  136. new vm44[MAX_PLAYERS];
  137. new vm45[MAX_PLAYERS];
  138. new vm46[MAX_PLAYERS];
  139. new vm47[MAX_PLAYERS];
  140. new vm48[MAX_PLAYERS];
  141.  
  142. */
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152. main() {
  153. print("\n----------------------------------");
  154. print(" Serveris paleistas sekmingai");
  155. print("----------------------------------\n");
  156. }
  157.  
  158.  
  159. public OnGameModeInit()
  160. {
  161. mysql_log();
  162. mysql = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
  163. if(mysql_errno() != 0)
  164. {
  165. printf("[MySQL] Prisijungimas nepavyko.");
  166. }
  167. else
  168. {
  169. printf("[MySQL] Prisijungimas pavyko.");
  170. }
  171. SetGameModeText("SunGame 0.0[1]");
  172. AddPlayerClass(46, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  173. return true;
  174. }
  175.  
  176. public OnGameModeExit()
  177. {
  178. return 1;
  179. }
  180.  
  181. public OnPlayerRequestClass(playerid, classid)
  182. {
  183. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  184. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  185. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  186. return 1;
  187. }
  188.  
  189.  
  190. public OnPlayerConnect(playerid)
  191. {
  192.  
  193. TogglePlayerSpectating(playerid, true);
  194. new
  195. query[128],
  196. playername[MAX_PLAYER_NAME];
  197.  
  198. GetPlayerName(playerid, playername, sizeof(playername));
  199. mysql_format(mysql, query, sizeof(query), "SELECT `Password`, `ID` FROM `zaidejai` WHERE `Name` = '%e' LIMIT 1", playername);
  200. mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
  201. return true;
  202.  
  203. }
  204.  
  205.  
  206. public OnPlayerDisconnect(playerid, reason)
  207. {
  208.  
  209. new
  210. query[128],
  211. Float:pos[4];
  212.  
  213. GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  214. GetPlayerFacingAngle(playerid, pos[3]);
  215.  
  216. mysql_format(mysql, query, sizeof(query), "UPDATE `zaidejai` SET `Money` = %d, `PosX` = %f, `PosY` = %f, `PosZ` = %f, `PosA` = %f WHERE `ID` = %d",
  217. GetPlayerMoney(playerid), pos[0], pos[1], pos[2], pos[3], Player[playerid][ID]);
  218. mysql_tquery(mysql, query, "", "");
  219.  
  220. return true;
  221. }
  222.  
  223. public OnPlayerSpawn(playerid)
  224. {
  225. return 1;
  226. }
  227.  
  228. public OnPlayerDeath(playerid, killerid, reason)
  229. {
  230. return 1;
  231. }
  232.  
  233. public OnVehicleSpawn(vehicleid)
  234. {
  235. return 1;
  236. }
  237.  
  238. public OnVehicleDeath(vehicleid, killerid)
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnPlayerText(playerid, text[])
  244. {
  245. return 1;
  246. }
  247.  
  248. public OnPlayerCommandText(playerid, cmdtext[])
  249. {
  250. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  251. {
  252. // Do something here
  253. return 1;
  254. }
  255. return 0;
  256. }
  257.  
  258. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnPlayerExitVehicle(playerid, vehicleid)
  264. {
  265. return 1;
  266. }
  267.  
  268. public OnPlayerStateChange(playerid, newstate, oldstate)
  269. {
  270. return 1;
  271. }
  272.  
  273. public OnPlayerEnterCheckpoint(playerid)
  274. {
  275. return 1;
  276. }
  277.  
  278. public OnPlayerLeaveCheckpoint(playerid)
  279. {
  280. return 1;
  281. }
  282.  
  283. public OnPlayerEnterRaceCheckpoint(playerid)
  284. {
  285. /*
  286. if(mw[playerid][1] == 1)
  287. {
  288. mw[playerid][2] = SetPlayerRaceCheckpoint(playerid,2,-2078.3408,-156.7084,35.0634,0.0,0.0,0.0,2);
  289. mw[playerid][1]=-1;
  290. }
  291. else if(mw[playerid][2] == 1)
  292. {
  293. mw[playerid][3] = SetPlayerRaceCheckpoint(playerid,2,-2078.3174,-169.9781,35.0637,0.0,0.0,0.0,2);
  294. mw[playerid][2]=-1;
  295. }
  296. else if(mw[playerid][3] == 1)
  297. {
  298. mw[playerid][4] = SetPlayerRaceCheckpoint(playerid,2,-2072.6924,-179.8053,35.0630,0.0,0.0,0.0,2);
  299. mw[playerid][3]=-1;
  300. }
  301. else if(mw[playerid][4] == 1)
  302. {
  303. mw[playerid][5] = SetPlayerRaceCheckpoint(playerid,2,-2083.8909,-192.1481,35.0637,0.0,0.0,0.0,2);
  304. mw[playerid][4]=-1;
  305. }
  306. else if(mw[playerid][5] == 1)
  307. {
  308. mw[playerid][6] = SetPlayerRaceCheckpoint(playerid,2,-2080.0181,-184.0436,35.0629,0.0,0.0,0.0,2);
  309. mw[playerid][5]=-1;
  310. }
  311. else if(mw[playerid][6] == 1)
  312. {
  313. mw[playerid][7] = SetPlayerRaceCheckpoint(playerid,2,-2078.4207,-201.4787,35.0633,0.0,0.0,0.0,2);
  314. mw[playerid][6]=-1;
  315. }
  316. else if(mw[playerid][7] == 1)
  317. {
  318. mw[playerid][8] = SetPlayerRaceCheckpoint(playerid,2,-2067.8062,-209.7677,35.0634,0.0,0.0,0.0,2);
  319. mw[playerid][7]=-1;
  320. }
  321. else if(mw[playerid][8] == 1)
  322. {
  323. mw[playerid][9] = SetPlayerRaceCheckpoint(playerid,2,-2062.4541,-185.9279,36.5295,0.0,0.0,0.0,2);
  324. mw[playerid][8]=-1;
  325. }
  326. else if(mw[playerid][9] == 1)
  327. {
  328. mw[playerid][10] = SetPlayerRaceCheckpoint(playerid,2,-2062.0220,-167.1833,35.0633,0.0,0.0,0.0,2);
  329. mw[playerid][9]=-1;
  330. }
  331. else if(mw[playerid][10] == 1)
  332. {
  333. mw[playerid][11] = SetPlayerRaceCheckpoint(playerid,2,-2078.4294,-144.3878,35.1069,0.0,0.0,0.0,2);
  334. mw[playerid][10]=-1;
  335. }
  336. else if(mw[playerid][11] == 1)
  337. {
  338. DisablePlayerRaceCheckpoint(playerid);
  339. SendClientMessage(playerid,Raudona, "{00CC00}Vairavimo egzaminas baigtas.");
  340. mw[playerid][11]=-1;
  341. new Float:health,veh;
  342. veh = GetPlayerVehicleID(playerid);
  343. GetVehicleHealth(veh, health);
  344. if(health > 900)
  345. {
  346. new vehicleid = GetPlayerVehicleID(playerid);
  347. new model = GetVehicleModel(vehicleid);
  348. if(model == 426)
  349. {
  350. SendClientMessage(playerid,Raudona,"{FFD400}Pravažiavimas aikštelėje {00FF00}išlaikytas. {FFD400}Galite atlikti pravažiavimą mieste");
  351. PlayerPlaySound(playerid,1149,0.0,0.0,0.0 );
  352. playerDB[playerid][aikstele]=true;
  353. SetVehicleToRespawn(vehicleid);
  354. RemovePlayerFromVehicle(playerid); return 1;
  355. }
  356. }
  357. if(health < 900)
  358. {
  359. SendClientMessage(playerid,Raudona,"{FFD400}Pravažiavimas aikštelėje {DC00FF}neišlaikytas.{FFD400} Bandyk dar kartą");
  360. PlayerPlaySound(playerid,1057,0.0,0.0,0.0 );
  361. SetVehicleToRespawn(veh);
  362. RemovePlayerFromVehicle(playerid);*/
  363. return 1;
  364. }
  365.  
  366. public OnPlayerLeaveRaceCheckpoint(playerid)
  367. {
  368. return 1;
  369. }
  370.  
  371. public OnRconCommand(cmd[])
  372. {
  373. return 1;
  374. }
  375.  
  376. public OnPlayerRequestSpawn(playerid)
  377. {
  378. return 1;
  379. }
  380.  
  381. public OnObjectMoved(objectid)
  382. {
  383. return 1;
  384. }
  385.  
  386. public OnPlayerObjectMoved(playerid, objectid)
  387. {
  388. return 1;
  389. }
  390.  
  391. public OnPlayerPickUpPickup(playerid, pickupid)
  392. {
  393. return 1;
  394. }
  395.  
  396. public OnVehicleMod(playerid, vehicleid, componentid)
  397. {
  398. return 1;
  399. }
  400.  
  401. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  402. {
  403. return 1;
  404. }
  405.  
  406. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  407. {
  408. return 1;
  409. }
  410.  
  411. public OnPlayerSelectedMenuRow(playerid, row)
  412. {
  413. return 1;
  414. }
  415.  
  416. public OnPlayerExitedMenu(playerid)
  417. {
  418. return 1;
  419. }
  420.  
  421. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  422. {
  423. return 1;
  424. }
  425.  
  426. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  427. {
  428. return 1;
  429. }
  430.  
  431. public OnRconLoginAttempt(ip[], password[], success)
  432. {
  433. return 1;
  434. }
  435.  
  436. public OnPlayerUpdate(playerid)
  437. {
  438. return 1;
  439. }
  440.  
  441. public OnPlayerStreamIn(playerid, forplayerid)
  442. {
  443. return 1;
  444. }
  445.  
  446. public OnPlayerStreamOut(playerid, forplayerid)
  447. {
  448. return 1;
  449. }
  450.  
  451. public OnVehicleStreamIn(vehicleid, forplayerid)
  452. {
  453. return 1;
  454. }
  455.  
  456. public OnVehicleStreamOut(vehicleid, forplayerid)
  457. {
  458. return 1;
  459. }
  460.  
  461. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  462. {
  463.  
  464.  
  465. switch(dialogid)
  466. {
  467. case LoginDialog:
  468. {
  469. if(!response) Kick(playerid);
  470.  
  471. new
  472. hashpass[129],
  473. query[100],
  474. playername[MAX_PLAYER_NAME];
  475.  
  476. GetPlayerName(playerid, playername, sizeof(playername));
  477. WP_Hash(hashpass, sizeof(hashpass), inputtext);
  478. if(!strcmp(hashpass, Player[playerid][Password]))
  479. {
  480. mysql_format(mysql, query, sizeof(query), "SELECT * FROM `zaidejai` WHERE `Name` = '%e' LIMIT 1", playername);
  481. mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
  482. }
  483. else
  484. {
  485. SendClientMessage(playerid, -1, "Jus įvedėte neteisingą slaptažodį!");
  486. ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_INPUT, "Prisijungimas", "Sveikas gryžęs į serverį!\nJūsų paskyrą radome duomenų bazėje. Prašau įrašykite žemiau jūsų slaptažodį:", "Prisijungti", "Iseiti");
  487. }
  488. }
  489. case RegisterDialog:
  490. {
  491. if(!response) return Kick(playerid);
  492. if(strlen(inputtext) < 5)
  493. {
  494. SendClientMessage(playerid, -1, "Jūsų slaptažodis turi turėti daugiau nei 4simbolių.");
  495. return ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_INPUT, "Registracija", "Sveikas atvykęs į serverį!\nJūsų paskyra dar nebuvo užregistruota, todėl dabar galite užsiregistruoti. Prašau įrašykite žemiau jūsų sugalvota slaptažodį:", "Registruotis", "Iseiti");
  496. }
  497. new
  498. query[512],
  499. playername[MAX_PLAYER_NAME],
  500. playerip[16];
  501.  
  502.  
  503. GetPlayerName(playerid, playername, sizeof(playername));
  504. GetPlayerIp(playerid, playerip, sizeof(playerip));
  505. WP_Hash(Player[playerid][Password], 129, inputtext);
  506. mysql_format(mysql, query, sizeof(query), "INSERT INTO `zaidejai` (`Name`, `Password`, `IP`, `Admin`, `VIP`, `Money`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%e', '%e', '%e', 0, 0, 0, %f, %f, %f, %f)", playername, Player[playerid][Password], playerip, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A);
  507. mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
  508. }
  509. }
  510. return false;
  511.  
  512.  
  513. //Apmokymai
  514.  
  515.  
  516.  
  517.  
  518.  
  519. }
  520.  
  521. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  522. {
  523. return 1;
  524. }
  525.  
  526.  
  527. forward OnAccountCheck(playerid);
  528. public OnAccountCheck(playerid)
  529. {
  530. new
  531. rows,
  532. fields;
  533. cache_get_data(rows, fields, mysql);
  534.  
  535. if(rows)
  536. {
  537. cache_get_field_content(0, "Password", Player[playerid][Password], mysql, 129);
  538. Player[playerid][ID] = cache_get_field_content_int(0, "ID");
  539. ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_INPUT, "Prisijungimas", "Sveikas gryžęs į serverį!\nJūsų paskyrą radome duomenų bazėje. Prašau įrašykite žemiau jūsų slaptažodį:", "Prisijungti", "Iseiti");
  540. }
  541. else
  542. {
  543. ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_INPUT, "Registracija", "Sveikas atvykęs į serverį!\nJūsų paskyra dar nebuvo užregistruota, todėl dabar galite užsiregistruoti. Prašau įrašykite žemiau jūsų sugalvota slaptažodį:", "Registruotis", "Iseiti");
  544. }
  545. return true;
  546. }
  547.  
  548. forward OnAccountLoad(playerid);
  549. public OnAccountLoad(playerid)
  550. {
  551. Player[playerid][Admin] = cache_get_field_content_int(0, "Admin");
  552. Player[playerid][VIP] = cache_get_field_content_int(0, "VIP");
  553. Player[playerid][Money] = cache_get_field_content_int(0, "Money");
  554. Player[playerid][posX] = cache_get_field_content_float(0, "PosX");
  555. Player[playerid][posY] = cache_get_field_content_float(0, "PosY");
  556. Player[playerid][posZ] = cache_get_field_content_float(0, "PosZ");
  557. Player[playerid][posA] = cache_get_field_content_float(0, "PosA");
  558.  
  559. TogglePlayerSpectating(playerid, false);
  560.  
  561. GivePlayerMoney(playerid, Player[playerid][Money]);
  562.  
  563. SetSpawnInfo(playerid, 0, 23, Player[playerid][posX], Player[playerid][posY], Player[playerid][posZ], Player[playerid][posA], 0, 0, 0, 0, 0, 0);
  564. SpawnPlayer(playerid);
  565.  
  566. SendClientMessage(playerid, -1, "Jūs sėkmingai prisijungėte į serverį.");
  567. return true;
  568. }
  569.  
  570.  
  571. forward OnAccountRegister(playerid);
  572. public OnAccountRegister(playerid)
  573. {
  574. Player[playerid][ID] = cache_insert_id();
  575. printf("[Registracija] Nauja paskyra užregistruota serveryje. Duomenų bazės ID: [%d]", Player[playerid][ID]);
  576.  
  577. TogglePlayerSpectating(playerid, false);
  578.  
  579. SetSpawnInfo(playerid, 0, 23, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A, 0, 0, 0, 0, 0, 0);
  580. SpawnPlayer(playerid);
  581. return true;
  582. }
Advertisement
Add Comment
Please, Sign In to add comment