Advertisement
Guest User

fff

a guest
Apr 4th, 2014
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.51 KB | None | 0 0
  1. //Includes
  2. #include <a_samp>
  3. #include <ocmd>
  4. #include <sscanf2>
  5. #include <a_mysql>
  6.  
  7. //enums
  8. enum playerInfo{
  9. eingeloggt,
  10. level
  11. }
  12.  
  13. //Globale Variablen
  14. new dbhandle;
  15. new sInfo[MAX_PLAYERS][playerInfo];
  16.  
  17. //Farben
  18. #define COLOR_RED 0xFF0000FF
  19.  
  20. //Dialoge
  21. #define DIALOG_TELEPORT 1
  22. #define DIALOG_REGISTER 2
  23. #define DIALOG_LOGIN 3
  24.  
  25. //MySQL
  26. #define db_host "127.0.0.1"
  27. #define db_user "samp"
  28. #define db_pass "hallo123"
  29. #define db_db "samp"
  30.  
  31. //Forwards
  32. forward OnUserCheck(playerid);
  33. forward OnPasswordResponse(playerid);
  34.  
  35. main()
  36. {
  37.  
  38. }
  39.  
  40. public OnGameModeInit()
  41. {
  42. SetGameModeText("MrMonat Tutorialmode");
  43.  
  44. //MySQL
  45. dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
  46. return 1;
  47. }
  48.  
  49. public OnGameModeExit()
  50. {
  51. mysql_close(dbhandle);
  52. return 1;
  53. }
  54.  
  55. public OnPlayerRequestClass(playerid, classid)
  56. {
  57. SetPlayerPos(playerid,199.0846,-150.0331,1.5781);
  58. SetPlayerCameraPos(playerid, 199.2307,-143.8328,1.5781);
  59. SetPlayerCameraLookAt(playerid, 199.0846,-150.0331,1.5781);
  60. SetPlayerFacingAngle(playerid,359.1443);
  61. return 1;
  62. }
  63.  
  64. public OnUserCheck(playerid)
  65. {
  66. new num_rows,num_fields;
  67. cache_get_data(num_rows,num_fields,dbhandle);
  68. if(num_rows==0)
  69. {
  70. //Registrierung
  71. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
  72. }
  73. else
  74. {
  75. //Login
  76. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  77. }
  78. return 1;
  79. }
  80.  
  81. public OnPlayerConnect(playerid)
  82. {
  83. new nachricht[128];
  84. format(nachricht,sizeof(nachricht),"Du bist mit der ID %i verbunden.",playerid);
  85. SendClientMessage(playerid,COLOR_RED,nachricht);
  86.  
  87. //Login/Register
  88. new name[MAX_PLAYER_NAME],query[128];
  89. GetPlayerName(playerid,name,sizeof(name));
  90. format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
  91. mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
  92. return 1;
  93. }
  94.  
  95. public OnPlayerDisconnect(playerid, reason)
  96. {
  97. return 1;
  98. }
  99.  
  100. public OnPlayerSpawn(playerid)
  101. {
  102. return 1;
  103. }
  104.  
  105. public OnPlayerDeath(playerid, killerid, reason)
  106. {
  107. return 1;
  108. }
  109.  
  110. public OnVehicleSpawn(vehicleid)
  111. {
  112. return 1;
  113. }
  114.  
  115. public OnVehicleDeath(vehicleid, killerid)
  116. {
  117. return 1;
  118. }
  119.  
  120. public OnPlayerText(playerid, text[])
  121. {
  122. return 1;
  123. }
  124.  
  125. //Befehle
  126.  
  127. ocmd:teleport(playerid,params[])
  128. {
  129. ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,"Teleport","Spawn\nFarm","Teleport","Abbrechen");
  130. return 1;
  131. }
  132.  
  133. ocmd:pn(playerid,params[])
  134. {
  135. new pID,text[128];
  136. if(sscanf(params,"us[128]",pID,text))return SendClientMessage(playerid,COLOR_RED,"INFO: /pn [playerid] [text]");
  137. SendClientMessage(pID,COLOR_RED,text);
  138. return 1;
  139. }
  140.  
  141. ocmd:restart(playerid,params[])
  142. {
  143. SendRconCommand("gmx");
  144. return 1;
  145. }
  146.  
  147. ocmd:test(playerid,params[])
  148. {
  149. SendClientMessage(playerid,COLOR_RED,"Du hast /test eingegeben.");
  150. return 1;
  151. }
  152.  
  153.  
  154. public OnPlayerCommandText(playerid, cmdtext[])
  155. {
  156. return 0;
  157. }
  158.  
  159. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  160. {
  161. return 1;
  162. }
  163.  
  164. public OnPlayerExitVehicle(playerid, vehicleid)
  165. {
  166. return 1;
  167. }
  168.  
  169. public OnPlayerStateChange(playerid, newstate, oldstate)
  170. {
  171. return 1;
  172. }
  173.  
  174. public OnPlayerEnterCheckpoint(playerid)
  175. {
  176. return 1;
  177. }
  178.  
  179. public OnPlayerLeaveCheckpoint(playerid)
  180. {
  181. return 1;
  182. }
  183.  
  184. public OnPlayerEnterRaceCheckpoint(playerid)
  185. {
  186. return 1;
  187. }
  188.  
  189. public OnPlayerLeaveRaceCheckpoint(playerid)
  190. {
  191. return 1;
  192. }
  193.  
  194. public OnRconCommand(cmd[])
  195. {
  196. return 1;
  197. }
  198.  
  199. public OnPlayerRequestSpawn(playerid)
  200. {
  201. return 1;
  202. }
  203.  
  204. public OnObjectMoved(objectid)
  205. {
  206. return 1;
  207. }
  208.  
  209. public OnPlayerObjectMoved(playerid, objectid)
  210. {
  211. return 1;
  212. }
  213.  
  214. public OnPlayerPickUpPickup(playerid, pickupid)
  215. {
  216. return 1;
  217. }
  218.  
  219. public OnVehicleMod(playerid, vehicleid, componentid)
  220. {
  221. return 1;
  222. }
  223.  
  224. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  225. {
  226. return 1;
  227. }
  228.  
  229. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  230. {
  231. return 1;
  232. }
  233.  
  234. public OnPlayerSelectedMenuRow(playerid, row)
  235. {
  236. return 1;
  237. }
  238.  
  239. public OnPlayerExitedMenu(playerid)
  240. {
  241. return 1;
  242. }
  243.  
  244. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  245. {
  246. return 1;
  247. }
  248.  
  249. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  250. {
  251. return 1;
  252. }
  253.  
  254. public OnRconLoginAttempt(ip[], password[], success)
  255. {
  256. return 1;
  257. }
  258.  
  259. public OnPlayerUpdate(playerid)
  260. {
  261. return 1;
  262. }
  263.  
  264. public OnPlayerStreamIn(playerid, forplayerid)
  265. {
  266. return 1;
  267. }
  268.  
  269. public OnPlayerStreamOut(playerid, forplayerid)
  270. {
  271. return 1;
  272. }
  273.  
  274. public OnVehicleStreamIn(vehicleid, forplayerid)
  275. {
  276. return 1;
  277. }
  278.  
  279. public OnVehicleStreamOut(vehicleid, forplayerid)
  280. {
  281. return 1;
  282. }
  283.  
  284. public OnPasswordResponse(playerid)
  285. {
  286. new num_fields,num_rows;
  287. cache_get_data(num_rows,num_fields,dbhandle);
  288. if(num_rows==1)
  289. {
  290. //Passwort richtig
  291. sInfo[playerid][eingeloggt] = 1;
  292. sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
  293. }
  294. else
  295. {
  296. //Passwort falsch
  297. SendClientMessage(playerid,COLOR_RED,"Das eingegebene Passwort ist falsch.");
  298. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  299. }
  300. return 1;
  301. }
  302.  
  303. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  304. {
  305. if(dialogid==DIALOG_LOGIN)
  306. {
  307. if(response)
  308. {
  309. new name[MAX_PLAYER_NAME],query[128],passwort[35];
  310. GetPlayerName(playerid,name,sizeof(name));
  311. if(strlen(inputtext)>0)
  312. {
  313. mysql_escape_string(inputtext,passwort,dbhandle);
  314. format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
  315. mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
  316. }
  317. else
  318. {
  319. //Keine Eingabe
  320. SendClientMessage(playerid,COLOR_RED,"Gibt bitte dein Passwort ein.");
  321. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  322. }
  323. }
  324. else
  325. {
  326. Kick(playerid);
  327. }
  328. return 1;
  329. }
  330. if(dialogid==DIALOG_REGISTER)
  331. {
  332. if(response)
  333. {
  334. new name[MAX_PLAYER_NAME],query[128],passwort[35];
  335. GetPlayerName(playerid,name,sizeof(name));
  336. if(strlen(inputtext)>3)
  337. {
  338. //Registrierungsfunktion
  339. mysql_escape_string(inputtext,passwort,dbhandle);
  340. format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s') ",name,passwort);
  341. mysql_query(dbhandle,query,false,"","");
  342. }
  343. else
  344. {
  345. //Kleiner als 4 Zeichen
  346. SendClientMessage(playerid,COLOR_RED,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
  347. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
  348. }
  349. }
  350. else
  351. {
  352. Kick(playerid);
  353. }
  354. return 1;
  355. }
  356. if(dialogid==DIALOG_TELEPORT)
  357. {
  358. if(response)
  359. {
  360. if(listitem==0)
  361. {
  362. //Spawn
  363. SetPlayerPos(playerid,199.0846,-150.0331,1.5781);
  364. }
  365. if(listitem==1)
  366. {
  367. //Farm
  368. SetPlayerPos(playerid,0.0,0.0,6.0);
  369. }
  370. }
  371. else
  372. {
  373. SendClientMessage(playerid,COLOR_RED,"Vorgang abgebrochen.");
  374. }
  375. return 1;
  376. }
  377. return 1;
  378. }
  379.  
  380. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  381. {
  382. return 1;
  383. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement