Advertisement
Guest User

Untitled

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