Advertisement
Guest User

Untitled

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