Advertisement
Guest User

Untitled

a guest
Jun 21st, 2014
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.22 KB | None | 0 0
  1. /*
  2.     Updates:
  3.         * Fixed mysql_register
  4.         * Added mysql_login
  5. */
  6. /* Includes */
  7. #include <a_samp>
  8. #include <a_mysql>
  9. #include <sscanf2>
  10. #include <zcmd>
  11.  
  12. native WP_Hash(buffer[], len, const str[]);
  13.  
  14. /* Defines */
  15. #define SQL_HOST                            "localhost"
  16. #define SQL_USER                            "root"
  17. #define SQL_PASS                            ""
  18. #define SQL_DB                              "rp"
  19.  
  20. #define DIALOG_REGISTER                     (1)
  21. #define DIALOG_LOGIN                        (2)
  22.  
  23. #define revision                            "0.1"
  24.  
  25. new Pipeline;
  26.  
  27. /* Player Enums */
  28. enum pInfo
  29. {
  30.     pID,
  31.     pPassword[129],
  32.     IP[16],
  33.     pAdmin,
  34.     pLevel,
  35.     pMoney,
  36.     pGender,
  37.     pAge,
  38.     pSkin,
  39.     pFightingStyle,
  40.     Float: pHealth,
  41.     Float: pArmour,
  42.     Float: PosX,
  43.     Float: PosY,
  44.     Float: PosZ,
  45.     pKills,
  46.     pDeaths
  47. };
  48.  
  49. /* Player arrays */
  50. new PlayerInfo[MAX_PLAYERS][pInfo];
  51.  
  52. #if defined FILTERSCRIPT
  53.  
  54. public OnFilterScriptInit()
  55. {
  56.     print("\n--------------------------------------");
  57.     print(" Blank Filterscript by your name here");
  58.     print("--------------------------------------\n");
  59.     return 1;
  60. }
  61.  
  62. public OnFilterScriptExit()
  63. {
  64.     return 1;
  65. }
  66.  
  67. #else
  68.  
  69. main()
  70. {
  71.     print("\n----------------------------------");
  72.     print(" Blank Gamemode by your name here");
  73.     print("----------------------------------\n");
  74. }
  75.  
  76. #endif
  77.  
  78. stock GetName(playerid)
  79. {
  80.     new name[MAX_PLAYER_NAME];
  81.     GetPlayerName(playerid, name, 24);
  82.     return name;
  83. }
  84.  
  85. forward mysql_register(playerid);
  86. public mysql_register(playerid)
  87. {
  88.     SetSpawnInfo(playerid, 0, 299, 1061.0099, -1618.9415, 13.9375, 180, 0, 0, 0, 0, 0, 0);
  89.     SpawnPlayer(playerid);
  90.     return 1;
  91. }
  92.  
  93. forward mysql_login(playerid);
  94. public mysql_login(playerid)
  95. {
  96.     if(IsPlayerConnected(playerid))
  97.     {
  98.         new Query[512],
  99.             savestr[50],
  100.             rows,
  101.             fields;
  102.            
  103.         mysql_format(Pipeline, Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Username` = '%e'", GetName(playerid));
  104.         mysql_tquery(Pipeline, Query, "", "");
  105.        
  106.         cache_get_data(rows, fields);
  107.  
  108.         if(rows)
  109.         {
  110.             cache_get_field_content(0, "Admin", savestr);           PlayerInfo[playerid][pAdmin] = strval(savestr);
  111.             cache_get_field_content(0, "Level", savestr);           PlayerInfo[playerid][pLevel] = strval(savestr);
  112.             cache_get_field_content(0, "Money", savestr);           PlayerInfo[playerid][pMoney] = strval(savestr);
  113.             cache_get_field_content(0, "Gender", savestr);          PlayerInfo[playerid][pGender] = strval(savestr);
  114.             cache_get_field_content(0, "Age", savestr);             PlayerInfo[playerid][pAge] = strval(savestr);
  115.             cache_get_field_content(0, "Skin", savestr);            PlayerInfo[playerid][pSkin] = strval(savestr);
  116.             cache_get_field_content(0, "FightStyle", savestr);      PlayerInfo[playerid][pFightingStyle] = strval(savestr);
  117.             cache_get_field_content(0, "Kills", savestr);           PlayerInfo[playerid][pKills] = strval(savestr);
  118.             cache_get_field_content(0, "Deaths", savestr);          PlayerInfo[playerid][pDeaths] = strval(savestr);
  119.             cache_get_field_content(0, "Health", savestr);          PlayerInfo[playerid][pHealth] = strval(savestr);
  120.             cache_get_field_content(0, "Armour", savestr);          PlayerInfo[playerid][pArmour] = strval(savestr);
  121.             cache_get_field_content(0, "PosX", savestr);            PlayerInfo[playerid][PosX] = strval(savestr);
  122.             cache_get_field_content(0, "PosY", savestr);            PlayerInfo[playerid][PosY] = strval(savestr);
  123.             cache_get_field_content(0, "PosZ", savestr);            PlayerInfo[playerid][PosZ] = strval(savestr);
  124.            
  125.             SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][PosX], PlayerInfo[playerid][PosY], PlayerInfo[playerid][PosZ], 0, 0, 0, 0, 0, 0, 0);
  126.             SpawnPlayer(playerid);
  127.            
  128.             SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  129.             GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
  130.             SetPlayerFightingStyle(playerid, PlayerInfo[playerid][pFightingStyle]);
  131.  
  132.             SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
  133.             SetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
  134.         }
  135.     }
  136.     return 1;
  137. }
  138.  
  139. public OnGameModeInit()
  140. {
  141.     Pipeline = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  142.     mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
  143.    
  144.     SetGameModeText(revision);
  145.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  146.     return 1;
  147. }
  148.  
  149. public OnGameModeExit()
  150. {
  151.     return 1;
  152. }
  153.  
  154. public OnPlayerRequestClass(playerid, classid)
  155. {
  156.     return 1;
  157. }
  158.  
  159. public OnPlayerConnect(playerid)
  160. {
  161.     new Query[300],
  162.         rows,
  163.         fields;
  164.  
  165.     mysql_format(Pipeline, Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Username` = '%s'", GetName(playerid));
  166.     mysql_tquery(Pipeline, Query, "", "");
  167.  
  168.     cache_get_data(rows, fields, Pipeline);
  169.  
  170.     if(rows) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "This account is registered, please enter the correctp password below.", "Login", "Quit");
  171.  
  172.     if(!rows) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", "This account is not registered in our database\nPlease enter a password below in order to register this account.", "Register", "Quit");
  173.  
  174.     return 1;
  175. }
  176.  
  177. public OnPlayerDisconnect(playerid, reason)
  178. {
  179.     return 1;
  180. }
  181.  
  182. public OnPlayerSpawn(playerid)
  183. {
  184.     return 1;
  185. }
  186.  
  187. public OnPlayerDeath(playerid, killerid, reason)
  188. {
  189.     return 1;
  190. }
  191.  
  192. public OnVehicleSpawn(vehicleid)
  193. {
  194.     return 1;
  195. }
  196.  
  197. public OnVehicleDeath(vehicleid, killerid)
  198. {
  199.     return 1;
  200. }
  201.  
  202. public OnPlayerText(playerid, text[])
  203. {
  204.     return 1;
  205. }
  206.  
  207. public OnPlayerCommandText(playerid, cmdtext[])
  208. {
  209.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  210.     {
  211.         // Do something here
  212.         return 1;
  213.     }
  214.     return 0;
  215. }
  216.  
  217. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  218. {
  219.     return 1;
  220. }
  221.  
  222. public OnPlayerExitVehicle(playerid, vehicleid)
  223. {
  224.     return 1;
  225. }
  226.  
  227. public OnPlayerStateChange(playerid, newstate, oldstate)
  228. {
  229.     return 1;
  230. }
  231.  
  232. public OnPlayerEnterCheckpoint(playerid)
  233. {
  234.     return 1;
  235. }
  236.  
  237. public OnPlayerLeaveCheckpoint(playerid)
  238. {
  239.     return 1;
  240. }
  241.  
  242. public OnPlayerEnterRaceCheckpoint(playerid)
  243. {
  244.     return 1;
  245. }
  246.  
  247. public OnPlayerLeaveRaceCheckpoint(playerid)
  248. {
  249.     return 1;
  250. }
  251.  
  252. public OnRconCommand(cmd[])
  253. {
  254.     return 1;
  255. }
  256.  
  257. public OnPlayerRequestSpawn(playerid)
  258. {
  259.     return 1;
  260. }
  261.  
  262. public OnObjectMoved(objectid)
  263. {
  264.     return 1;
  265. }
  266.  
  267. public OnPlayerObjectMoved(playerid, objectid)
  268. {
  269.     return 1;
  270. }
  271.  
  272. public OnPlayerPickUpPickup(playerid, pickupid)
  273. {
  274.     return 1;
  275. }
  276.  
  277. public OnVehicleMod(playerid, vehicleid, componentid)
  278. {
  279.     return 1;
  280. }
  281.  
  282. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  283. {
  284.     return 1;
  285. }
  286.  
  287. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  288. {
  289.     return 1;
  290. }
  291.  
  292. public OnPlayerSelectedMenuRow(playerid, row)
  293. {
  294.     return 1;
  295. }
  296.  
  297. public OnPlayerExitedMenu(playerid)
  298. {
  299.     return 1;
  300. }
  301.  
  302. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  303. {
  304.     return 1;
  305. }
  306.  
  307. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  308. {
  309.     return 1;
  310. }
  311.  
  312. public OnRconLoginAttempt(ip[], password[], success)
  313. {
  314.     return 1;
  315. }
  316.  
  317. public OnPlayerUpdate(playerid)
  318. {
  319.     return 1;
  320. }
  321.  
  322. public OnPlayerStreamIn(playerid, forplayerid)
  323. {
  324.     return 1;
  325. }
  326.  
  327. public OnPlayerStreamOut(playerid, forplayerid)
  328. {
  329.     return 1;
  330. }
  331.  
  332. public OnVehicleStreamIn(vehicleid, forplayerid)
  333. {
  334.     return 1;
  335. }
  336.  
  337. public OnVehicleStreamOut(vehicleid, forplayerid)
  338. {
  339.     return 1;
  340. }
  341.  
  342. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  343. {
  344.     switch(dialogid)
  345.     {
  346.         case DIALOG_REGISTER:
  347.         {
  348.             if(!response) return Kick(playerid);
  349.             if(strlen(inputtext) < 4 || strlen(inputtext) > 129) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Error - Register", "~ Password must be within 4 and 129 characters ~\nThis account is not registered in our database\nPlease enter a password below in order to register this account.", "Register", "Quit");
  350.  
  351.             new buffer[129],
  352.                 Query[512];
  353.            
  354.             WP_Hash(buffer, sizeof(buffer), inputtext);
  355.  
  356.             PlayerInfo[playerid][pID] = cache_insert_id();
  357.  
  358.             mysql_format(Pipeline, Query, sizeof(Query), "INSERT INTO `accounts` (`Username`, `Password`) VALUES ('%e', '%e')", GetName(playerid), buffer);
  359.             mysql_tquery(Pipeline, Query, "", "");
  360.            
  361.             mysql_register(playerid);
  362.             return 1;
  363.         }
  364.     }
  365.     return 1;
  366. }
  367.  
  368. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  369. {
  370.     return 1;
  371. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement