Advertisement
Guest User

Login/Register SQLite

a guest
Sep 21st, 2013
853
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.47 KB | None | 0 0
  1. //SQLite LOGIN/REGISTER SCRIPT
  2. //Es ist NICHTS besonderes, es soll nur leuten helfen, die mit SQLite arbeiten wollen, aber keine idee haben wie sie mit einem login system anfangen soll
  3. //Schaut doch mal auf meinem Youtube Kanal vorbei. http://www.youtube.com/user/Music4You43
  4.  
  5. //================ INCLUDES ================
  6. #include <a_samp>
  7. #include <ocmd>
  8. #include <Limit>
  9. #include <md5>
  10. //================ SERVERDEFINES ================
  11. #define servername Reallife
  12.  
  13. #define SCM SendClientMessage
  14. #define rot 0xFF0A00FF
  15. #define gruen 0x4BB400FF
  16. #define orange 0xFF9600FF
  17. #define grau 0xB4B4B4FF
  18.  
  19. //================ NEWS ================
  20. new DB:Data;
  21.  
  22. //================ ENUMS ================
  23. enum user
  24. {
  25. pName[MAX_PLAYER_NAME],
  26. pLogged,
  27. }
  28. new UserInfo[MAX_PLAYERS][user];
  29.  
  30. enum
  31. {
  32. DIALOG_REG,
  33. DIALOG_LOG,
  34. DIALOG_START,
  35. }
  36.  
  37. main()
  38. {
  39. return 1;
  40. }
  41.  
  42. public OnGameModeInit()
  43. {
  44. Data = db_open("Script.db");
  45. SetGameModeText(#servername);
  46. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  47. createtable();
  48. print("====================================================");
  49. print("SQLite Grundscript by Items4Landwird aka. Music4You");
  50. print("====================================================\n");
  51. return 1;
  52. }
  53.  
  54. public OnGameModeExit()
  55. {
  56. new i=0;
  57. for(;i<MAX_PLAYERS;i++)
  58. {
  59. SavePlayer(i);
  60. }
  61. return 1;
  62. }
  63.  
  64. public OnPlayerRequestClass(playerid, classid)
  65. {
  66. new DBResult:Result,str[75],rows,string[400];
  67. #pragma unused rows
  68. format(str,sizeof(str),"SELECT * FROM `accounts` WHERE Name = '%s'",SpielerName(playerid));
  69. Result=db_query(Data,str);
  70. if(db_num_rows(Result) > 0)
  71. {
  72. format(string,sizeof(string),"Herzlich Willkommen Zurück %s, auf ["#servername"]\n\nGebe dein Passwort ein\nBitte halte dich an die Regeln\n\nViel spaß wünscht dir das Adminteam von ["#servername"]",SpielerName(playerid));
  73. ShowPlayerDialog(playerid,DIALOG_LOG,DIALOG_STYLE_PASSWORD,"Login",string,"Weiter","");
  74. }
  75. else
  76. {
  77. format(string,sizeof(string),"Herzlich Willkommen %s, auf ["#servername"]\n\nUm auf unseren Server spielen zu können benötigst du ein Sicheres Passwort\nBitte halte dich an die Regeln\n\nViel spaß wünscht dir das Adminteam von ["#servername"]",SpielerName(playerid));
  78. ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,"Register",string,"Weiter","");
  79. }
  80. db_free_result(Result);
  81. return 1;
  82. }
  83.  
  84. public OnPlayerConnect(playerid)
  85. {
  86. return 1;
  87. }
  88.  
  89. public OnPlayerDisconnect(playerid, reason)
  90. {
  91. SavePlayer(playerid);
  92. UserInfo[playerid][pLogged]=0;
  93. return 1;
  94. }
  95.  
  96. public OnPlayerSpawn(playerid)
  97. {
  98. if(UserInfo[playerid][pLogged]!=1)return 0;
  99. return 1;
  100. }
  101.  
  102. public OnPlayerDeath(playerid, killerid, reason)
  103. {
  104. return 1;
  105. }
  106.  
  107. public OnVehicleSpawn(vehicleid)
  108. {
  109. return 1;
  110. }
  111.  
  112. public OnVehicleDeath(vehicleid, killerid)
  113. {
  114. return 1;
  115. }
  116.  
  117. public OnPlayerText(playerid, text[])
  118. {
  119. return 1;
  120. }
  121.  
  122. public OnPlayerCommandText(playerid, cmdtext[])
  123. {
  124. return 1;
  125. }
  126.  
  127. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  128. {
  129. return 1;
  130. }
  131.  
  132. public OnPlayerExitVehicle(playerid, vehicleid)
  133. {
  134. return 1;
  135. }
  136.  
  137. public OnPlayerStateChange(playerid, newstate, oldstate)
  138. {
  139. return 1;
  140. }
  141.  
  142. public OnPlayerEnterCheckpoint(playerid)
  143. {
  144. return 1;
  145. }
  146.  
  147. public OnPlayerLeaveCheckpoint(playerid)
  148. {
  149. return 1;
  150. }
  151.  
  152. public OnPlayerEnterRaceCheckpoint(playerid)
  153. {
  154. return 1;
  155. }
  156.  
  157. public OnPlayerLeaveRaceCheckpoint(playerid)
  158. {
  159. return 1;
  160. }
  161.  
  162. public OnRconCommand(cmd[])
  163. {
  164. return 1;
  165. }
  166.  
  167. public OnPlayerRequestSpawn(playerid)
  168. {
  169. return 1;
  170. }
  171.  
  172. public OnObjectMoved(objectid)
  173. {
  174. return 1;
  175. }
  176.  
  177. public OnPlayerObjectMoved(playerid, objectid)
  178. {
  179. return 1;
  180. }
  181.  
  182. public OnPlayerPickUpPickup(playerid, pickupid)
  183. {
  184. return 1;
  185. }
  186.  
  187. public OnVehicleMod(playerid, vehicleid, componentid)
  188. {
  189. return 1;
  190. }
  191.  
  192. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  193. {
  194. return 1;
  195. }
  196.  
  197. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  198. {
  199. return 1;
  200. }
  201.  
  202. public OnPlayerSelectedMenuRow(playerid, row)
  203. {
  204. return 1;
  205. }
  206.  
  207. public OnPlayerExitedMenu(playerid)
  208. {
  209. return 1;
  210. }
  211.  
  212. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  213. {
  214. return 1;
  215. }
  216.  
  217. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  218. {
  219. return 1;
  220. }
  221.  
  222. public OnRconLoginAttempt(ip[], password[], success)
  223. {
  224. return 1;
  225. }
  226.  
  227. public OnPlayerUpdate(playerid)
  228. {
  229. return 1;
  230. }
  231.  
  232. public OnPlayerStreamIn(playerid, forplayerid)
  233. {
  234. return 1;
  235. }
  236.  
  237. public OnPlayerStreamOut(playerid, forplayerid)
  238. {
  239. return 1;
  240. }
  241.  
  242. public OnVehicleStreamIn(vehicleid, forplayerid)
  243. {
  244. return 1;
  245. }
  246.  
  247. public OnVehicleStreamOut(vehicleid, forplayerid)
  248. {
  249. return 1;
  250. }
  251.  
  252. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  253. {
  254. switch(dialogid)
  255. {
  256. case DIALOG_REG:
  257. {
  258. if(response)
  259. {
  260. new string[400],query[400];
  261. if(!strlen(inputtext))
  262. {
  263. format(string,sizeof(string),"%s, Gebe ein Passwort ein\n\nUm auf unseren Server spielen zu können benötigst du ein Sicheres Passwort\nBitte halte dich an die Regeln\n\nViel spaß wünscht dir das Adminteam von ["#servername"]",SpielerName(playerid));
  264. ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,"Register",string,"Weiter","");
  265. }
  266. format(query,sizeof(query),"INSERT INTO `accounts` (`Name`,`Passwort`,`Geld`,`Level`) VALUES ('%s','%s','1000','1')",SpielerName(playerid),MD5_Hash(inputtext));
  267. db_query(Data,query);
  268. GivePlayerMoney(playerid,1000);
  269. SetPlayerScore(playerid,1);
  270. SpawnPlayer(playerid);
  271. }
  272. else return Kick(playerid);
  273. }
  274. case DIALOG_LOG:
  275. {
  276. if(response)
  277. {
  278. new DBResult:Result,str[75],rows,string[400],query[128];
  279. #pragma unused rows
  280. format(str,sizeof(str),"SELECT * FROM `accounts` WHERE Name = '%s' AND Passwort='%s'",SpielerName(playerid),MD5_Hash(inputtext));
  281. Result=db_query(Data,str);
  282. if(db_num_rows(Result) > 0)
  283. {
  284. db_get_field_assoc(Result,"Level",str,sizeof(str));
  285. SetPlayerScore(playerid,strval(str));
  286. db_get_field_assoc(Result,"Geld",str,sizeof(str));
  287. GivePlayerMoney(playerid,strval(str));
  288. SpawnPlayer(playerid);
  289. UserInfo[playerid][pLogged]=1;
  290. SCM(playerid,gruen,"Erfolgreich eingeloggt");
  291. format(query,sizeof(query),"UPDATE `accounts` SET `IP`='%s' WHERE `Name`='%s'",SpielerIP(playerid),SpielerName(playerid));
  292. db_query(Data,query);
  293. }
  294. else
  295. {
  296. format(string,sizeof(string),"%s, Gebe dein Passwort ein\n\nBitte halte dich an die Regeln\n\nViel spaß wünscht dir das Adminteam von ["#servername"]",SpielerName(playerid));
  297. ShowPlayerDialog(playerid,DIALOG_LOG,DIALOG_STYLE_PASSWORD,"Login",string,"Weiter","");
  298. }
  299. }
  300. }
  301. }
  302. return 1;
  303. }
  304.  
  305. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  306. {
  307. return 1;
  308. }
  309.  
  310. stock createtable()
  311. {
  312. db_query(Data,"CREATE TABLE IF NOT EXISTS `accounts`(`Name`,`Passwort`,`IP`,`Geld`,`Level`)");
  313. print("Tabellen erstellt");
  314. return 1;
  315. }
  316. stock SpielerName(playerid)
  317. {
  318. new name[MAX_PLAYER_NAME];
  319. GetPlayerName(playerid,name,sizeof(name));
  320. return name;
  321. }
  322. stock SpielerIP(playerid)
  323. {
  324. new getip[16];
  325. GetPlayerIp(playerid,getip,sizeof(getip));
  326. return getip;
  327. }
  328. stock SavePlayer(playerid)
  329. {
  330. new query[400];
  331. format(query,sizeof(query),"UPDATE `accounts` SET `Level`='%d',`Geld`='%d',`IP`='%s' WHERE `Name`='%s'",
  332. GetPlayerScore(playerid),GetPlayerMoney(playerid),SpielerIP(playerid),SpielerName(playerid));
  333. db_query(Data,query);
  334. return 1;
  335. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement