Guest User

Untitled

a guest
Feb 11th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.15 KB | None | 0 0
  1. //==============================================================================
  2. //============================> Includes <======================================
  3. #include <a_samp>
  4. #include <a_mysql>
  5. #include <streamer>
  6. #include <sscanf2>
  7. //==============================================================================
  8. //============================> ServerDaten <===================================
  9. #define ServerName "NewLife-Roleplay"
  10. #define ServerMode "German Roleplay"
  11. #define ServerTag "[NLR]"
  12. #define ServerFarbe ""
  13. #define ServerOwner "Buzzy und Saaltofreak"
  14. #define ServerScripter "Buzzy"
  15. #define ServerCopyright"(c) by Buzzy"
  16. //MySQL
  17. #define SQL_HOST "127.0.0.1"
  18. #define SQL_USER "root"
  19. #define SQL_DATA "samp"
  20. #define SQL_PASS ""
  21. //==============================================================================
  22. //============================> Defines <=======================================
  23. //Dialoge
  24. #define DIALOG_REGISTER (1)
  25. #define DIALOG_LOGIN (2)
  26.  
  27. //==============================================================================
  28. //============================> Enums <=========================================
  29. enum SpielerDaten {
  30. pEingeloggt,
  31. pLevel,
  32. pGeld
  33. };
  34. //==============================================================================
  35. //============================> Globare Variabeln <=============================
  36. new Handle;
  37. new sInfo[MAX_PLAYERS][SpielerDaten];
  38.  
  39.  
  40. //==============================================================================
  41. //============================> ScriptBeginn <==================================
  42. main() {}
  43. public OnGameModeInit()
  44. {
  45. SetGameModeText(ServerMode);
  46. //MySQL
  47. Connect_To_Database();
  48. return 1;
  49. }
  50.  
  51. public OnGameModeExit()
  52. {
  53. //MySQL
  54. mysql_close(Handle);
  55. return 1;
  56. }
  57.  
  58. public OnPlayerRequestClass(playerid, classid)
  59. {
  60. return 1;
  61. }
  62.  
  63. public OnPlayerConnect(playerid)
  64. {
  65. //MySQL Login/Register
  66. new query[256];
  67. format(query, sizeof(query), "SELECT id FROM user WHERE username='%s'", SpielerName(playerid));
  68. mysql_function_query(Handle, query, true, "OnUserCheck", "i", playerid);
  69. return 1;
  70. }
  71.  
  72. public OnPlayerDisconnect(playerid, reason)
  73. {
  74. return 1;
  75. }
  76.  
  77. public OnPlayerSpawn(playerid)
  78. {
  79. return 1;
  80. }
  81.  
  82. public OnPlayerDeath(playerid, killerid, reason)
  83. {
  84. return 1;
  85. }
  86.  
  87. public OnVehicleSpawn(vehicleid)
  88. {
  89. return 1;
  90. }
  91.  
  92. public OnVehicleDeath(vehicleid, killerid)
  93. {
  94. return 1;
  95. }
  96.  
  97. public OnPlayerText(playerid, text[])
  98. {
  99. return 1;
  100. }
  101.  
  102. public OnPlayerCommandText(playerid, cmdtext[])
  103. {
  104. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  105. {
  106. return 1;
  107. }
  108. return 0;
  109. }
  110.  
  111. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  112. {
  113. return 1;
  114. }
  115.  
  116. public OnPlayerExitVehicle(playerid, vehicleid)
  117. {
  118. return 1;
  119. }
  120.  
  121. public OnPlayerStateChange(playerid, newstate, oldstate)
  122. {
  123. return 1;
  124. }
  125.  
  126. public OnPlayerEnterCheckpoint(playerid)
  127. {
  128. return 1;
  129. }
  130.  
  131. public OnPlayerLeaveCheckpoint(playerid)
  132. {
  133. return 1;
  134. }
  135.  
  136. public OnPlayerEnterRaceCheckpoint(playerid)
  137. {
  138. return 1;
  139. }
  140.  
  141. public OnPlayerLeaveRaceCheckpoint(playerid)
  142. {
  143. return 1;
  144. }
  145.  
  146. public OnRconCommand(cmd[])
  147. {
  148. return 1;
  149. }
  150.  
  151. public OnPlayerRequestSpawn(playerid)
  152. {
  153. return 1;
  154. }
  155.  
  156. public OnObjectMoved(objectid)
  157. {
  158. return 1;
  159. }
  160.  
  161. public OnPlayerObjectMoved(playerid, objectid)
  162. {
  163. return 1;
  164. }
  165.  
  166. public OnPlayerPickUpPickup(playerid, pickupid)
  167. {
  168. return 1;
  169. }
  170.  
  171. public OnVehicleMod(playerid, vehicleid, componentid)
  172. {
  173. return 1;
  174. }
  175.  
  176. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  177. {
  178. return 1;
  179. }
  180.  
  181. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  182. {
  183. return 1;
  184. }
  185.  
  186. public OnPlayerSelectedMenuRow(playerid, row)
  187. {
  188. return 1;
  189. }
  190.  
  191. public OnPlayerExitedMenu(playerid)
  192. {
  193. return 1;
  194. }
  195.  
  196. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  197. {
  198. return 1;
  199. }
  200.  
  201. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  202. {
  203. return 1;
  204. }
  205.  
  206. public OnRconLoginAttempt(ip[], password[], success)
  207. {
  208. return 1;
  209. }
  210.  
  211. public OnPlayerUpdate(playerid)
  212. {
  213. return 1;
  214. }
  215.  
  216. public OnPlayerStreamIn(playerid, forplayerid)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnPlayerStreamOut(playerid, forplayerid)
  222. {
  223. return 1;
  224. }
  225.  
  226. public OnVehicleStreamIn(vehicleid, forplayerid)
  227. {
  228. return 1;
  229. }
  230.  
  231. public OnVehicleStreamOut(vehicleid, forplayerid)
  232. {
  233. return 1;
  234. }
  235.  
  236. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  237. {
  238. if(dialogid == DIALOG_REGISTER)
  239. {
  240. if(response)
  241. {
  242. if(strlen(inputtext) >= 5)
  243. {
  244. //Regestrierung
  245. new query[256], passwort[32];
  246. mysql_escape_string(inputtext, passwort, Handle);
  247. format(query, sizeof(query), "INSERT INTO user (username, password) VALUES ('%s', '%s')", SpielerName(playerid), passwort);
  248. mysql_function_query(Handle, query, false, "", "");
  249. }
  250. else
  251. {
  252. SendClientMessage(playerid, -1, "Dein Passwort muss mindestens 5 Zeichen lang sein!");
  253. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""ServerTag"Regestrierung", "Bitte gebe ein Passwort ein:", "Anmelden", "Abbrechen");
  254. return 1;
  255. }
  256. }
  257. else
  258. {
  259. Kick(playerid);
  260. return 1;
  261. }
  262. return 1;
  263. }
  264. if(dialogid == DIALOG_LOGIN)
  265. {
  266. if(response)
  267. {
  268. new query[128], passwort[32];
  269. if(strlen(inputtext) > 0)
  270. {
  271. mysql_escape_string(inputtext, passwort, Handle);
  272. format(query, sizeof(query), "SELECT * FROM user WHERE username='%s' AND password='%s'", SpielerName(playerid), passwort);
  273. mysql_function_query(Handle, query, true, "OnPasswortResponse", "i", SpielerName(playerid));
  274. }
  275. else
  276. {
  277. //Keine Eingabe
  278. SendClientMessage(playerid, -1, "Gib bitte dein Passwort ein!");
  279. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""ServerTag"Login", "Bitte gebe ein Passwort ein:", "Login", "Abbrechen");
  280. return 1;
  281. }
  282. }
  283. else
  284. {
  285. Kick(playerid);
  286. return 1;
  287. }
  288. return 1;
  289. }
  290. return 1;
  291. }
  292.  
  293. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  294. {
  295. return 1;
  296. }
  297. //==============================================================================
  298. //============================> Public's <=======================================
  299. forward OnUserCheck(playerid);
  300. public OnUserCheck(playerid)
  301. {
  302. new num_rows, num_fields;
  303. cache_get_data(num_rows, num_fields, Handle);
  304. if(num_fields == 1)
  305. {
  306. //Registrierung
  307. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""ServerTag"Regestrierung", "Bitte gebe ein Passwort ein:", "Anmelden", "Abbrechen");
  308. }
  309. else
  310. {
  311. //Login
  312. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""ServerTag"Login", "Bitte gebe ein Passwort ein:", "Login", "Abbrechen");
  313. }
  314. return 1;
  315. }
  316.  
  317. forward OnPasswortResponse(playerid);
  318. public OnPasswortResponse(playerid)
  319. {
  320. new num_rows, num_fields;
  321. cache_get_data(num_rows, num_fields, Handle);
  322. if(num_rows == 1)
  323. {
  324. //Passwort richtig
  325. SpielerLaden(playerid);
  326. }
  327. else
  328. {
  329. //Passwort falsch
  330. SendClientMessage(playerid, -1, "Das eingegebene Passwort ist falsch!");
  331. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""ServerTag"Login", "Bitte gebe ein Passwort ein:", "Login", "Abbrechen");
  332. }
  333. return 1;
  334. }
  335.  
  336. //==============================================================================
  337. //============================> Stock's <=======================================
  338. stock Connect_To_Database()
  339. {
  340. Handle = mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  341. if(mysql_errno(Handle) == 0)
  342. {
  343. printf("|>MySQL<| - Es konnte Verbindung zur der Datenbank "SQL_DATA" aufgebaut werden");
  344. }
  345. else
  346. {
  347. printf("|>MySQL<| - Es konnte keine Verbindung aufgebaut werden!");
  348. SendRconCommand("exit");
  349. }
  350. return 1;
  351. }
  352.  
  353. stock SpielerName(playerid)
  354. {
  355. new name[MAX_PLAYERS];
  356. GetPlayerName(playerid,name,sizeof(name));
  357. return name;
  358. }
  359.  
  360. stock SpielerLaden(playerid)
  361. {
  362. sInfo[playerid][pEingeloggt] = 1;
  363. sInfo[playerid][pLevel] = cache_get_field_content_int(0,"Level",Handle);
  364. printf("Der Spieler %s hat das Level %i", SpielerName(playerid), sInfo[playerid][pLevel]);
  365. return 1;
  366. }
  367.  
  368. stock SpielerSpeichern(playerid)
  369. {
  370. return 1;
  371. }
Add Comment
Please, Sign In to add comment