Advertisement
Guest User

Untitled

a guest
May 26th, 2014
374
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 12.83 KB | None | 0 0
  1. //samp includes
  2. #include <a_samp>
  3. #include <a_mysql>
  4. //non samp includes
  5. //nothing here yet
  6.  
  7. //registration/database defines.
  8. #define host    "localhost"
  9. #define user    "root"
  10. #define pass    ""
  11. #define db      "samp"
  12. //dialogs
  13. #define dregister    6287
  14. #define dlogin        6288
  15. //Global variables
  16. static
  17.     mysql,
  18.     Name[MAX_PLAYERS][24],
  19.     IP[MAX_PLAYERS][16]
  20.     ;
  21. native WP_Hash(buffer[], len, const str[]);
  22. enum PDATA
  23. {
  24.     ID,
  25.     Password[129],
  26.     Admin,
  27.     VIP,
  28.     Money,
  29.     Score,
  30.     XP
  31. }
  32. new pInfo[MAX_PLAYERS][PDATA]; //Variable that stores enumerator above
  33.  
  34. main()
  35. {
  36.     print("\n----------------------------------");
  37.     print(" Blank Gamemode by your name here");
  38.     print("----------------------------------\n");
  39. }
  40.  
  41. public OnGameModeInit()
  42. {
  43.     mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
  44.     mysql = mysql_connect(host, user, db, pass);
  45.     if(mysql_errno(mysql) != 0) print("[MYSQL]: [ERROR]: Kan niet verbinden met de database!");
  46.     else
  47.     print("[MYSQL]: [SUCCES]: Verbonden met de database!");
  48.     return 1;
  49. }
  50.  
  51. public OnGameModeExit()
  52. {
  53.     return 1;
  54. }
  55.  
  56. public OnPlayerRequestClass(playerid, classid)
  57. {
  58.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  59.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  60.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  61.     return 1;
  62. }
  63.  
  64. public OnPlayerConnect(playerid)
  65. {
  66.     new query[128];
  67.     GetPlayerName(playerid, Name[playerid], 24);
  68.     GetPlayerIp(playerid, IP[playerid], 16);
  69.     mysql_format(mysql, query, sizeof(query),"SELECT `Password`, `ID` FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
  70.     mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);\
  71.     return 1;
  72. }
  73.  
  74. forward OnAccountCheck(playerid);
  75. public OnAccountCheck(playerid)
  76. {
  77.     new rows, fields;
  78.     cache_get_data(rows, fields, mysql);
  79.     if(rows)
  80.     {
  81.         cache_get_field_content(0, "PASS", pInfo[playerid][Password], mysql, 129);
  82.         pInfo[playerid][ID] = cache_get_field_content_int(0, "ID");
  83.         printf("%s", pInfo[playerid][Password]); //OPTIONAL: Just for debugging. If it didn't show your password, then there must be something wrong while getting player's password
  84.         ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Login", "In order to play, you need to login", "Login", "Quit");
  85.     }
  86.     else
  87.     {
  88.         ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.", "Register", "Quit");
  89.     }
  90.     return 1;
  91. }
  92.  
  93. public OnPlayerDisconnect(playerid, reason)
  94. {
  95.     return 1;
  96. }
  97.  
  98. public OnPlayerSpawn(playerid)
  99. {
  100.     return 1;
  101. }
  102.  
  103. public OnPlayerDeath(playerid, killerid, reason)
  104. {
  105.     return 1;
  106. }
  107.  
  108. public OnVehicleSpawn(vehicleid)
  109. {
  110.     return 1;
  111. }
  112.  
  113. public OnVehicleDeath(vehicleid, killerid)
  114. {
  115.     return 1;
  116. }
  117.  
  118. public OnPlayerText(playerid, text[])
  119. {
  120.     return 1;
  121. }
  122.  
  123. public OnPlayerCommandText(playerid, cmdtext[])
  124. {
  125.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  126.     {
  127.         // Do something here
  128.         return 1;
  129.     }
  130.     return 0;
  131. }
  132.  
  133. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  134. {
  135.     return 1;
  136. }
  137.  
  138. public OnPlayerExitVehicle(playerid, vehicleid)
  139. {
  140.     return 1;
  141. }
  142.  
  143. public OnPlayerStateChange(playerid, newstate, oldstate)
  144. {
  145.     return 1;
  146. }
  147.  
  148. public OnPlayerEnterCheckpoint(playerid)
  149. {
  150.     return 1;
  151. }
  152.  
  153. public OnPlayerLeaveCheckpoint(playerid)
  154. {
  155.     return 1;
  156. }
  157.  
  158. public OnPlayerEnterRaceCheckpoint(playerid)
  159. {
  160.     return 1;
  161. }
  162.  
  163. public OnPlayerLeaveRaceCheckpoint(playerid)
  164. {
  165.     return 1;
  166. }
  167.  
  168. public OnRconCommand(cmd[])
  169. {
  170.     return 1;
  171. }
  172.  
  173. public OnPlayerRequestSpawn(playerid)
  174. {
  175.     return 1;
  176. }
  177.  
  178. public OnObjectMoved(objectid)
  179. {
  180.     return 1;
  181. }
  182.  
  183. public OnPlayerObjectMoved(playerid, objectid)
  184. {
  185.     return 1;
  186. }
  187.  
  188. public OnPlayerPickUpPickup(playerid, pickupid)
  189. {
  190.     return 1;
  191. }
  192.  
  193. public OnVehicleMod(playerid, vehicleid, componentid)
  194. {
  195.     return 1;
  196. }
  197.  
  198. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  199. {
  200.     return 1;
  201. }
  202.  
  203. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  204. {
  205.     return 1;
  206. }
  207. //samp includes
  208. #include <a_samp>
  209. #include <a_mysql>
  210. //non samp includes
  211. //nothing here yet
  212.  
  213. //registration/database defines.
  214. #define host    "localhost"
  215. #define user    "root"
  216. #define pass    ""
  217. #define db      "samp"
  218. //dialogs
  219. #define dregister    6287
  220. #define dlogin        6288
  221. //Global variables
  222. static
  223.     mysql,
  224.     Name[MAX_PLAYERS][24],
  225.     IP[MAX_PLAYERS][16]
  226.     ;
  227. native WP_Hash(buffer[], len, const str[]);
  228. enum PDATA
  229. {
  230.     ID,
  231.     Password[129],
  232.     Admin,
  233.     VIP,
  234.     Money,
  235.     Score,
  236.     XP
  237. }
  238. new pInfo[MAX_PLAYERS][PDATA]; //Variable that stores enumerator above
  239.  
  240. main()
  241. {
  242.     print("\n----------------------------------");
  243.     print(" Blank Gamemode by your name here");
  244.     print("----------------------------------\n");
  245. }
  246.  
  247. public OnGameModeInit()
  248. {
  249.     mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
  250.     mysql = mysql_connect(host, user, db, pass);
  251.     if(mysql_errno(mysql) != 0) print("[MYSQL]: [ERROR]: Kan niet verbinden met de database!");
  252.     else
  253.     print("[MYSQL]: [SUCCES]: Verbonden met de database!");
  254.     return 1;
  255. }
  256.  
  257. public OnGameModeExit()
  258. {
  259.     return 1;
  260. }
  261.  
  262. public OnPlayerRequestClass(playerid, classid)
  263. {
  264.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  265.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  266.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  267.     return 1;
  268. }
  269.  
  270. public OnPlayerConnect(playerid)
  271. {
  272.     new query[128];
  273.     GetPlayerName(playerid, Name[playerid], 24);
  274.     GetPlayerIp(playerid, IP[playerid], 16);
  275.     mysql_format(mysql, query, sizeof(query),"SELECT `Password`, `ID` FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
  276.     mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);\
  277.     return 1;
  278. }
  279.  
  280. forward OnAccountCheck(playerid);
  281. public OnAccountCheck(playerid)
  282. {
  283.     new rows, fields;
  284.     cache_get_data(rows, fields, mysql);
  285.     if(rows)
  286.     {
  287.         cache_get_field_content(0, "PASS", pInfo[playerid][Password], mysql, 129);
  288.         pInfo[playerid][ID] = cache_get_field_content_int(0, "ID");
  289.         printf("%s", pInfo[playerid][Password]); //OPTIONAL: Just for debugging. If it didn't show your password, then there must be something wrong while getting player's password
  290.         ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Login", "In order to play, you need to login", "Login", "Quit");
  291.     }
  292.     else
  293.     {
  294.         ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.", "Register", "Quit");
  295.     }
  296.     return 1;
  297. }
  298.  
  299. public OnPlayerDisconnect(playerid, reason)
  300. {
  301.     return 1;
  302. }
  303.  
  304. public OnPlayerSpawn(playerid)
  305. {
  306.     return 1;
  307. }
  308.  
  309. public OnPlayerDeath(playerid, killerid, reason)
  310. {
  311.     return 1;
  312. }
  313.  
  314. public OnVehicleSpawn(vehicleid)
  315. {
  316.     return 1;
  317. }
  318.  
  319. public OnVehicleDeath(vehicleid, killerid)
  320. {
  321.     return 1;
  322. }
  323.  
  324. public OnPlayerText(playerid, text[])
  325. {
  326.     return 1;
  327. }
  328.  
  329. public OnPlayerCommandText(playerid, cmdtext[])
  330. {
  331.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  332.     {
  333.         // Do something here
  334.         return 1;
  335.     }
  336.     return 0;
  337. }
  338.  
  339. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  340. {
  341.     return 1;
  342. }
  343.  
  344. public OnPlayerExitVehicle(playerid, vehicleid)
  345. {
  346.     return 1;
  347. }
  348.  
  349. public OnPlayerStateChange(playerid, newstate, oldstate)
  350. {
  351.     return 1;
  352. }
  353.  
  354. public OnPlayerEnterCheckpoint(playerid)
  355. {
  356.     return 1;
  357. }
  358.  
  359. public OnPlayerLeaveCheckpoint(playerid)
  360. {
  361.     return 1;
  362. }
  363.  
  364. public OnPlayerEnterRaceCheckpoint(playerid)
  365. {
  366.     return 1;
  367. }
  368.  
  369. public OnPlayerLeaveRaceCheckpoint(playerid)
  370. {
  371.     return 1;
  372. }
  373.  
  374. public OnRconCommand(cmd[])
  375. {
  376.     return 1;
  377. }
  378.  
  379. public OnPlayerRequestSpawn(playerid)
  380. {
  381.     return 1;
  382. }
  383.  
  384. public OnObjectMoved(objectid)
  385. {
  386.     return 1;
  387. }
  388.  
  389. public OnPlayerObjectMoved(playerid, objectid)
  390. {
  391.     return 1;
  392. }
  393.  
  394. public OnPlayerPickUpPickup(playerid, pickupid)
  395. {
  396.     return 1;
  397. }
  398.  
  399. public OnVehicleMod(playerid, vehicleid, componentid)
  400. {
  401.     return 1;
  402. }
  403.  
  404. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  405. {
  406.     return 1;
  407. }
  408.  
  409. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  410. {
  411.     return 1;
  412. }
  413.  
  414. public OnPlayerSelectedMenuRow(playerid, row)
  415. {
  416.     return 1;
  417. }
  418.  
  419. public OnPlayerExitedMenu(playerid)
  420. {
  421.     return 1;
  422. }
  423.  
  424. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  425. {
  426.     return 1;
  427. }
  428.  
  429. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  430. {
  431.     return 1;
  432. }
  433.  
  434. public OnRconLoginAttempt(ip[], password[], success)
  435. {
  436.     return 1;
  437. }
  438.  
  439. public OnPlayerUpdate(playerid)
  440. {
  441.     return 1;
  442. }
  443.  
  444. public OnPlayerStreamIn(playerid, forplayerid)
  445. {
  446.     return 1;
  447. }
  448.  
  449. public OnPlayerStreamOut(playerid, forplayerid)
  450. {
  451.     return 1;
  452. }
  453.  
  454. public OnVehicleStreamIn(vehicleid, forplayerid)
  455. {
  456.     return 1;
  457. }
  458.  
  459. public OnVehicleStreamOut(vehicleid, forplayerid)
  460. {
  461.     return 1;
  462. }
  463.  
  464. //Now let's response to the login and register dialog
  465. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  466. {
  467.     switch(dialogid)
  468.     {
  469.         case dlogin:
  470.         {
  471.             if(!response) Kick(playerid);
  472.             new hpass[129];
  473.         new query[100];
  474.             WP_Hash(hpass, 129, inputtext);
  475.             if(!strcmp(hpass, pInfo[playerid][Password]))
  476.             {
  477.                 mysql_format(mysql, query, sizeof(query), "SELECT * FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
  478.                 mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
  479.             }
  480.             else
  481.             {
  482.                 ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Login", "In order to play, you need to login\nWrong password!", "Login", "Quit");
  483.             }
  484.         }
  485.         case dregister:
  486.         {
  487.             if(!response) return Kick(playerid);
  488.             if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.\nYour password must be at least 6 characters long!", "Register", "Quit");
  489.  
  490.             new query[300];
  491.             WP_Hash(pInfo[playerid][Password], 129, inputtext);
  492.             mysql_format(mysql, query, sizeof(query), "INSERT INTO `players` (`Username`, `Password`, `Admin`, `Vip`, `Money`, `Score`, `XP` ,`RegisterIP`, `RecentIP`) VALUES ('%e', '%s', '%s', 0, 0, 0, 0.0, 0.0, 0.0)", Name[playerid], pInfo[playerid][Password], IP[playerid]);
  493.             mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
  494.         }
  495.     }
  496.     return 1;
  497. }
  498.  
  499. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  500. {
  501.     return 1;
  502. }
  503. public OnPlayerSelectedMenuRow(playerid, row)
  504. {
  505.     return 1;
  506. }
  507.  
  508. public OnPlayerExitedMenu(playerid)
  509. {
  510.     return 1;
  511. }
  512.  
  513. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  514. {
  515.     return 1;
  516. }
  517.  
  518. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  519. {
  520.     return 1;
  521. }
  522.  
  523. public OnRconLoginAttempt(ip[], password[], success)
  524. {
  525.     return 1;
  526. }
  527.  
  528. public OnPlayerUpdate(playerid)
  529. {
  530.     return 1;
  531. }
  532.  
  533. public OnPlayerStreamIn(playerid, forplayerid)
  534. {
  535.     return 1;
  536. }
  537.  
  538. public OnPlayerStreamOut(playerid, forplayerid)
  539. {
  540.     return 1;
  541. }
  542.  
  543. public OnVehicleStreamIn(vehicleid, forplayerid)
  544. {
  545.     return 1;
  546. }
  547.  
  548. public OnVehicleStreamOut(vehicleid, forplayerid)
  549. {
  550.     return 1;
  551. }
  552.  
  553. //Now let's response to the login and register dialog
  554. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  555. {
  556.     switch(dialogid)
  557.     {
  558.         case dlogin:
  559.         {
  560.             if(!response) Kick(playerid);
  561.             new hpass[129];
  562.         new query[100];
  563.             WP_Hash(hpass, 129, inputtext);
  564.             if(!strcmp(hpass, pInfo[playerid][Password]))
  565.             {
  566.                 mysql_format(mysql, query, sizeof(query), "SELECT * FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
  567.                 mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
  568.             }
  569.             else
  570.             {
  571.                 ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Login", "In order to play, you need to login\nWrong password!", "Login", "Quit");
  572.             }
  573.         }
  574.         case dregister:
  575.         {
  576.             if(!response) return Kick(playerid);
  577.             if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Register", "In order to play, you need to register.\nYour password must be at least 6 characters long!", "Register", "Quit");
  578.  
  579.             new query[300], ipp[24];
  580.             WP_Hash(pInfo[playerid][Password], 129, inputtext);
  581.             GetPlayerIp(playerid, ipp, 24);
  582.             mysql_format(mysql, query, sizeof(query), "INSERT INTO `players` (`Username`, `Password`, `Admin`, `Vip`, `Money`, `Score`, `XP` ,`RegisterIP`) VALUES ('%e', '%s', '%s', 0, 0, 0, 0.0, '%s')", Name[playerid], pInfo[playerid][Password], ipp);
  583.             mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
  584.         }
  585.     }
  586.     return 1;
  587. }
  588.  
  589. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  590. {
  591.     return 1;
  592. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement