Advertisement
Guest User

Untitled

a guest
Apr 12th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.25 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. id
  12. }
  13.  
  14. //Globale Variablen
  15. new dbhandle;
  16. new sInfo[MAX_PLAYERS][playerInfo];
  17.  
  18.  
  19. //Farben
  20. #define COLOR_RED 0xFF0000FF
  21. #define COLOR_WHITE 0xFFFFFFFF
  22. #define COLOR_YELLOW 0xFFFF00FF
  23. #define COLOR_GREEN 0x1AFF00FF
  24. #define COLOR_PURPEL 0xB933FFFF
  25.  
  26. //Dialoge
  27. #define DIALOG_TELEPORT 1
  28. #define DIALOG_REGISTER 2
  29. #define DIALOG_LOGIN 3
  30. #define DIALOG_JOBS 4
  31.  
  32. //MySQL
  33. #define db_host "127.0.0.1"
  34. #define db_user "root"
  35. #define db_pass ""
  36. #define db_db "samp"
  37.  
  38. //Forwards
  39. forward OnUserCheck(playerid);
  40. forward OnPasswordResponse(playerid);
  41.  
  42. //Jobs
  43. new LieferantCar[13];
  44.  
  45. main()
  46. {
  47.  
  48. }
  49.  
  50. public OnGameModeInit()
  51. {
  52. SetGameModeText("Selfmade");
  53. AddPlayerClass(1,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);
  54. AddPlayerClass(2,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);
  55. AddPlayerClass(3,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);
  56.  
  57. //Lieferant
  58. //Jobs
  59. //Lieferant
  60. LieferantCar[0] = CreateVehicle(498,2521.8779,-2118.2900,13.6106,359.5249,1,1,-1); // lieferantcar1
  61. LieferantCar[1] = CreateVehicle(498,2516.7363,-2118.2874,13.6171,0.5532,1,1,-1); // lieferantcar2
  62. LieferantCar[2] = CreateVehicle(498,2511.5320,-2117.9082,13.6142,1.1086,1,1,-1); // lieferantcar3
  63. LieferantCar[3] = CreateVehicle(498,2506.4355,-2117.7617,13.6164,359.9575,1,1,-1); // lieferantcar4
  64. LieferantCar[4] = CreateVehicle(554,2501.2817,-2118.4673,13.6281,358.5197,1,1,-1); // lieferantcar5
  65. LieferantCar[5] = CreateVehicle(554,2497.1018,-2118.4321,13.6352,357.2826,1,1,-1); // lieferantcar6
  66. LieferantCar[6] = CreateVehicle(554,2493.2695,-2118.4602,13.6280,358.9049,1,1,-1); // lieferantcar7
  67. LieferantCar[7] = CreateVehicle(554,2489.7002,-2118.2939,13.6288,356.8214,1,1,-1); // lieferantcar8
  68. LieferantCar[8] = CreateVehicle(554,2485.6182,-2118.0796,13.6299,356.2841,1,1,-1); // lieferantcar9
  69. LieferantCar[9] = CreateVehicle(554,2482.0659,-2118.0706,13.6328,358.7651,1,1,-1); // lieferantcar10
  70. LieferantCar[10] = CreateVehicle(515,2535.9338,-2092.6985,14.5648,90.0324,1,1,-1); // lieferantcar11
  71. LieferantCar[11] = CreateVehicle(515,2535.9387,-2086.3108,14.6394,90.0187,1,1,-1); // lieferantcar12
  72. LieferantCar[12] = CreateVehicle(515,2535.8889,-2098.8782,14.5669,89.3127,1,1,-1); // lieferantcar13
  73. for(new lfcars=0; lfcars<sizeof(LieferantCar); lfcars++)
  74. {
  75. new kzzeichen[11];
  76. format(kzzeichen,11,"LSJOB-%d",LieferantCar[lfcars]);
  77. SetVehicleNumberPlate(LieferantCar[lfcars],kzzeichen);
  78. SetVehicleToRespawn(LieferantCar[lfcars]);
  79. Create3DTextLabel("Lieferanten Fahrzeug",COLOR_RED, 2521.8779,-2118.2900,13.6106,40.0,0,0);
  80. }
  81.  
  82.  
  83.  
  84. //MySQL
  85. dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
  86. return 1;
  87. }
  88.  
  89. public OnGameModeExit()
  90. {
  91. mysql_close(dbhandle);
  92. return 1;
  93. }
  94.  
  95. public OnPlayerRequestClass(playerid, classid)
  96. {
  97. SetPlayerPos(playerid,199.0846,-150.0331,1.5781);
  98. SetPlayerCameraPos(playerid, 199.2307,-143.8328,1.5781);
  99. SetPlayerCameraLookAt(playerid, 199.0846,-150.0331,1.5781);
  100. SetPlayerFacingAngle(playerid,359.1443);
  101. return 1;
  102. }
  103.  
  104. public OnUserCheck(playerid)
  105. {
  106. new num_rows,num_fields;
  107. cache_get_data(num_rows,num_fields,dbhandle);
  108. if(num_rows==0)
  109. {
  110. //Registrierung
  111. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
  112. }
  113. else
  114. {
  115. //Login
  116. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  117. }
  118. return 1;
  119. }
  120.  
  121. public OnPlayerConnect(playerid)
  122. {
  123. new nachricht[128];
  124. format(nachricht,sizeof(nachricht),"Du bist mit der ID %i verbunden.",playerid);
  125. SendClientMessage(playerid,COLOR_RED,nachricht);
  126.  
  127. //Login/Register
  128. new name[MAX_PLAYER_NAME],query[128];
  129. GetPlayerName(playerid,name,sizeof(name));
  130. format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
  131. mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
  132. return 1;
  133. }
  134.  
  135. savePlayer(playerid)
  136. {
  137. if(sInfo[playerid][eingeloggt]==0)return 1;
  138. //Speichern level,money
  139. new query[128];
  140. format(query,sizeof(query),"UPDATE user SET level='%i',money='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][id]);
  141. mysql_function_query(dbhandle,query,false,"","");
  142. return 1;
  143. }
  144.  
  145. resetPlayer(playerid)
  146. {
  147. sInfo[playerid][level]=0;
  148. sInfo[playerid][eingeloggt]=0;
  149. sInfo[playerid][id]=0;
  150. return 1;
  151. }
  152.  
  153. public OnPlayerDisconnect(playerid, reason)
  154. {
  155. savePlayer(playerid);
  156. resetPlayer(playerid);
  157. return 1;
  158. }
  159.  
  160. public OnPlayerSpawn(playerid)
  161. {
  162. return 1;
  163. }
  164.  
  165. public OnPlayerDeath(playerid, killerid, reason)
  166. {
  167. return 1;
  168. }
  169.  
  170. public OnVehicleSpawn(vehicleid)
  171. {
  172. return 1;
  173. }
  174.  
  175. public OnVehicleDeath(vehicleid, killerid)
  176. {
  177. return 1;
  178. }
  179.  
  180. public OnPlayerText(playerid, text[])
  181. {
  182. return 1;
  183. }
  184.  
  185. //Befehle
  186.  
  187. ocmd:teleport(playerid,params[])
  188. {
  189. ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,"Teleport","Spawn\nFarm","Teleport","Abbrechen");
  190. return 1;
  191. }
  192.  
  193. ocmd:pn(playerid,params[])
  194. {
  195. new pID,text[128];
  196. if(sscanf(params,"us[128]",pID,text))return SendClientMessage(playerid,COLOR_RED,"INFO: /pn [playerid] [text]");
  197. SendClientMessage(pID,COLOR_RED,text);
  198. return 1;
  199. }
  200.  
  201. ocmd:restart(playerid,params[])
  202. {
  203. SendRconCommand("gmx");
  204. return 1;
  205. }
  206.  
  207. ocmd:test(playerid,params[])
  208. {
  209. SendClientMessage(playerid,COLOR_RED,"Du hast /test eingegeben.");
  210. return 1;
  211. }
  212.  
  213. ocmd:help(playerid,params[])
  214. {
  215. SendClientMessage(playerid,COLOR_RED,"zu Faul um ein Helpsystem zu erstellen");
  216.  
  217.  
  218. }
  219.  
  220.  
  221. public OnPlayerCommandText(playerid, cmdtext[])
  222. {
  223.  
  224.  
  225. return 1;
  226. }
  227.  
  228. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  229. {
  230. return 1;
  231. }
  232.  
  233. public OnPlayerExitVehicle(playerid, vehicleid)
  234. {
  235. return 1;
  236. }
  237.  
  238. public OnPlayerStateChange(playerid, newstate, oldstate)
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnPlayerEnterCheckpoint(playerid)
  244. {
  245. return 1;
  246. }
  247.  
  248. public OnPlayerLeaveCheckpoint(playerid)
  249. {
  250. return 1;
  251. }
  252.  
  253. public OnPlayerEnterRaceCheckpoint(playerid)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnPlayerLeaveRaceCheckpoint(playerid)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnRconCommand(cmd[])
  264. {
  265. return 1;
  266. }
  267.  
  268. public OnPlayerRequestSpawn(playerid)
  269. {
  270. return 1;
  271. }
  272.  
  273. public OnObjectMoved(objectid)
  274. {
  275. return 1;
  276. }
  277.  
  278. public OnPlayerObjectMoved(playerid, objectid)
  279. {
  280. return 1;
  281. }
  282.  
  283. public OnPlayerPickUpPickup(playerid, pickupid)
  284. {
  285. return 1;
  286. }
  287.  
  288. public OnVehicleMod(playerid, vehicleid, componentid)
  289. {
  290. return 1;
  291. }
  292.  
  293. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  294. {
  295. return 1;
  296. }
  297.  
  298. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  299. {
  300. return 1;
  301. }
  302.  
  303. public OnPlayerSelectedMenuRow(playerid, row)
  304. {
  305. return 1;
  306. }
  307.  
  308. public OnPlayerExitedMenu(playerid)
  309. {
  310. return 1;
  311. }
  312.  
  313. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  314. {
  315. return 1;
  316. }
  317.  
  318. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  319. {
  320. return 1;
  321. }
  322.  
  323. public OnRconLoginAttempt(ip[], password[], success)
  324. {
  325. return 1;
  326. }
  327.  
  328. public OnPlayerUpdate(playerid)
  329. {
  330. return 1;
  331. }
  332.  
  333. public OnPlayerStreamIn(playerid, forplayerid)
  334. {
  335. return 1;
  336. }
  337.  
  338. public OnPlayerStreamOut(playerid, forplayerid)
  339. {
  340. return 1;
  341. }
  342.  
  343. public OnVehicleStreamIn(vehicleid, forplayerid)
  344. {
  345. return 1;
  346. }
  347.  
  348. public OnVehicleStreamOut(vehicleid, forplayerid)
  349. {
  350. return 1;
  351. }
  352.  
  353. SetPlayerMoney(playerid,money)
  354. {
  355. ResetPlayerMoney(playerid);
  356. GivePlayerMoney(playerid,money);
  357. return 1;
  358. }
  359.  
  360. public OnPasswordResponse(playerid)
  361. {
  362. new num_fields,num_rows;
  363. cache_get_data(num_rows,num_fields,dbhandle);
  364. if(num_rows==1)
  365. {
  366. //Passwort richtig
  367. sInfo[playerid][eingeloggt] = 1;
  368. sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
  369. SetPlayerScore(playerid,sInfo[playerid][level]);
  370. sInfo[playerid][id] = cache_get_field_content_int(0,"id",dbhandle);
  371. SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
  372. }
  373. else
  374. {
  375. //Passwort falsch
  376. SendClientMessage(playerid,COLOR_RED,"Das eingegebene Passwort ist falsch.");
  377. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  378. }
  379. return 1;
  380. }
  381.  
  382. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  383. {
  384. if(dialogid==DIALOG_LOGIN)
  385. {
  386. if(response)
  387. {
  388. new name[MAX_PLAYER_NAME],query[128],passwort[35];
  389. GetPlayerName(playerid,name,sizeof(name));
  390. if(strlen(inputtext)>0)
  391. {
  392. mysql_escape_string(inputtext,passwort,dbhandle);
  393. format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
  394. mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
  395. }
  396. else
  397. {
  398. //Keine Eingabe
  399. SendClientMessage(playerid,COLOR_RED,"Gibt bitte dein Passwort ein.");
  400. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
  401. }
  402. }
  403. else
  404. {
  405. Kick(playerid);
  406. }
  407. return 1;
  408. }
  409. if(dialogid==DIALOG_REGISTER)
  410. {
  411. if(response)
  412. {
  413. new name[MAX_PLAYER_NAME],query[128],passwort[35];
  414. GetPlayerName(playerid,name,sizeof(name));
  415. if(strlen(inputtext)>3)
  416. {
  417. //Registrierungsfunktion
  418. mysql_escape_string(inputtext,passwort,dbhandle);
  419. format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s') ",name,passwort);
  420. mysql_function_query(dbhandle,query,false,"","");
  421. }
  422. else
  423. {
  424. //Kleiner als 4 Zeichen
  425. SendClientMessage(playerid,COLOR_RED,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
  426. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
  427. }
  428. }
  429. else
  430. {
  431. Kick(playerid);
  432. }
  433. return 1;
  434. }
  435. if(dialogid==DIALOG_TELEPORT)
  436. {
  437. if(response)
  438. {
  439. if(listitem==0)
  440. {
  441. //Spawn
  442. SetPlayerPos(playerid,199.0846,-150.0331,1.5781);
  443. }
  444. if(listitem==1)
  445. {
  446. //Farm
  447. SetPlayerPos(playerid,0.0,0.0,6.0);
  448. }
  449. }
  450. else
  451. {
  452. SendClientMessage(playerid,COLOR_RED,"Vorgang abgebrochen.");
  453. }
  454. return 1;
  455. }
  456. return 1;
  457. }
  458.  
  459. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  460. {
  461. return 1;
  462. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement