Guest User

Loggin bugg

a guest
Feb 23rd, 2015
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.90 KB | None | 0 0
  1. /* Credits nicht ändern!
  2. Dieses Script wurde erstellt von Lehrmeister: Ultimate und Lehrling Drakedog
  3. Da ich noch recht unerfahren bin habe ich einen Lehrmeister gefunden der mir dabei hilft die PWN-Sprache zu meistern.
  4.  
  5. Die Sachen im Script dürfen nicht verkauft werden oder in irgendeine anderen Form weitergegeben werden.
  6. Sollte man herausfinden das die sachen rauskopiert oder verkauft wurden werden sanktionen ausgeführt!
  7. */
  8.  
  9. //Includes
  10. #include <a_samp>
  11. #include <ocmd.inc>
  12. #include <sscanf2.inc>
  13. #include <a_mysql>
  14.  
  15. //definere mysql
  16.  
  17. #define db_host "85.114.130.27"
  18. #define db_user "x"
  19. #define db_pass "x"
  20. #define db_db "x"
  21.  
  22. //definierte Farben
  23. #define rot 0xFF3200FF
  24. #define grün 0x05FF00FF
  25. #define blau 0x0000FFFF
  26. #define grau 0x505050FF
  27. #define helbau 0x7DB3C3FF
  28. #define helgruen 0xABD94EFF
  29. #define Adminproduktion 1
  30. //Adminlevels
  31.  
  32.  
  33. //undef
  34. #undef MAX_PLAYERS
  35. #define MAX_PLAYER 15
  36.  
  37.  
  38. //Globale Variablen
  39.  
  40. new dbhandle;
  41. //Forwards
  42.  
  43. forward OnUserCheck(playerid);
  44. forward OnPasswordResponse(playerid);
  45. forward Admincarproduktion(playerid,c_x,c_y,c_z,vID);
  46. enum
  47. {
  48. DIALOG_REGISTER,
  49. DIALOG_LOGIN,
  50. DIALOG_AUTO,
  51. };
  52. //enum einstellen:
  53. enum pEnum
  54. {
  55. NAME[MAX_PLAYER_NAME],
  56. level,
  57. eingeloggt,
  58. geld,
  59. Adminlevel,
  60. };
  61.  
  62. new sInfo[MAX_PLAYER][pEnum];
  63.  
  64.  
  65. main()
  66. {
  67. print("\n----------------------------------");
  68. print(" Drakedog-Learn");
  69. print("----------------------------------\n");
  70. }
  71.  
  72. isAdmin(playerid,a_level)
  73. {
  74. if(sInfo[playerid][Adminlevel]>=a_level) return 1;
  75. return 0;
  76.  
  77. }
  78.  
  79.  
  80. public OnGameModeInit()
  81. {
  82. SendRconCommand("mapname <Drakedog>");
  83. SetGameModeText("Drakedog-Learn");
  84. AddPlayerClass(0,796.7672,-1338.4739,-0.5078,225.4672,0,0,0,0,0,0); // spawn
  85. DisableInteriorEnterExits();
  86. print("Server wurde gestartet");
  87.  
  88. //-------MYSQL-CONNECT------
  89.  
  90. //MYSQL //HostIP der DB,Username.DBname,passwort
  91. dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
  92. print("MYSQL verbindung aufgebaut!");
  93. return 1;
  94. }
  95.  
  96. public OnGameModeExit()
  97. {
  98. print("Der Server wurde beendet");
  99. //MYSQL Verbindung trennen!
  100. mysql_close(dbhandle);
  101. return 1;
  102. }
  103.  
  104. public OnPlayerRequestClass(playerid, classid)
  105. {
  106. SetPlayerPos(playerid, 796.7672,-1338.4739,-0.5078);
  107. SetPlayerCameraPos(playerid, 796.7672,-1338.4739,-0.5078);
  108. SetPlayerCameraLookAt(playerid, 796.7672,-1338.4739,-0.5078);
  109. return 1;
  110. }
  111.  
  112. public OnPlayerConnect(playerid)
  113. {
  114. SendClientMessage(playerid,0x0000FFFF,"Willkommen auf Drakedog-BETA");
  115. new name[MAX_PLAYER_NAME],query[256];
  116. GetPlayerName(playerid,name,sizeof(name));
  117. format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
  118. return 1;
  119. }
  120.  
  121. public OnUserCheck(playerid)
  122.  
  123. {
  124. new num_rows,num_fields;
  125. cache_get_data(num_rows,num_fields,dbhandle);
  126.  
  127. if(num_rows==0)
  128. {
  129. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Bitte registrieren sie sich um auf dem Server zu spielen.","Absenden","Abrechen");
  130. }
  131. else
  132. {
  133. new name[MAX_PLAYER_NAME],string[128],stringend[128];
  134. GetPlayerName(playerid,name,sizeof(name));
  135. format(string,sizeof(string),"{FFFFFF}Der Accountname {37CD00}%s {FFFFFF}wurde gefunden.\nUm mit den Spielen zu beginnen, musst du dich einloggen.\nDu hast die ID: {37CD00}%i\n",name,playerid);
  136. strcat(stringend,string);
  137. format(string,sizeof(string),"{FFFFFF}Bitte gebe unten dein Passwort ein.");
  138. strcat(stringend,string);
  139. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{37CD00}Login System: {FFFFFF}Einloggen",stringend,"Login","Abbruch");
  140. strdel(stringend,0,sizeof(stringend));
  141. strdel(string,0,sizeof(string));
  142. }
  143.  
  144.  
  145. return 1;
  146. }
  147.  
  148.  
  149.  
  150.  
  151.  
  152. public OnPlayerDisconnect(playerid, reason)
  153. {
  154.  
  155. return 1;
  156. }
  157.  
  158. public OnPlayerSpawn(playerid)
  159. {
  160. return 1;
  161. }
  162.  
  163. public OnPlayerDeath(playerid, killerid, reason)
  164. {
  165. return 1;
  166. }
  167.  
  168. public OnVehicleSpawn(vehicleid)
  169. {
  170. return 1;
  171. }
  172.  
  173. public OnVehicleDeath(vehicleid, killerid)
  174. {
  175. return 1;
  176. }
  177.  
  178. public OnPlayerText(playerid, text[])
  179. {
  180. return 1;
  181. }
  182. //--------OCMD Befehle-----/
  183. ocmd:hilfe(playerid,parms[])
  184. {
  185. SendClientMessage(playerid, 0xFF00FF00, "es gibt folgendes:\n /Hilfe");
  186.  
  187.  
  188.  
  189. return 1;
  190. }
  191. ocmd:autosspawnen(playerid,params[])
  192. {
  193. if(!isAdmin(playerid,2))return SendClientMessage(playerid,rot,"Du hast keine Rechte dafür");
  194. //DIALOG_STYLE_LIST
  195. ShowPlayerDialog(playerid,DIALOG_AUTO,DIALOG_STYLE_LIST,"Autoliste","Infernus\nCheetah\nEndforcer\nBanshee\nRhino\nTurismo\nSultan","Auftrag aufgeben","");
  196. return 1;
  197. }
  198.  
  199. public OnPlayerCommandText(playerid, cmdtext[])
  200. {
  201.  
  202. return 1;
  203.  
  204. }
  205.  
  206. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  207. {
  208. return 1;
  209. }
  210.  
  211. public OnPlayerExitVehicle(playerid, vehicleid)
  212. {
  213. return 1;
  214. }
  215.  
  216. public OnPlayerStateChange(playerid, newstate, oldstate)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnPlayerEnterCheckpoint(playerid)
  222. {
  223.  
  224.  
  225. return 1;
  226. }
  227.  
  228. public OnPlayerLeaveCheckpoint(playerid)
  229. {
  230.  
  231. return 1;
  232. }
  233.  
  234. public OnPlayerEnterRaceCheckpoint(playerid)
  235. {
  236. return 1;
  237. }
  238.  
  239. public OnPlayerLeaveRaceCheckpoint(playerid)
  240. {
  241. return 1;
  242. }
  243.  
  244. public OnRconCommand(cmd[])
  245. {
  246. }
  247.  
  248. public OnPlayerRequestSpawn(playerid)
  249. {
  250. return 1;
  251. }
  252.  
  253. public OnObjectMoved(objectid)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnPlayerObjectMoved(playerid, objectid)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnPlayerPickUpPickup(playerid, pickupid)
  264. {
  265. return 1;
  266. }
  267.  
  268. public OnVehicleMod(playerid, vehicleid, componentid)
  269. {
  270. return 1;
  271. }
  272.  
  273. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  274. {
  275. return 1;
  276. }
  277.  
  278. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  279. {
  280. return 1;
  281. }
  282.  
  283. public OnPlayerSelectedMenuRow(playerid, row)
  284. {
  285. return 1;
  286. }
  287.  
  288. public OnPlayerExitedMenu(playerid)
  289. {
  290. return 1;
  291. }
  292.  
  293. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  294. {
  295. return 1;
  296. }
  297.  
  298. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  299. {
  300. return 1;
  301. }
  302.  
  303. public OnRconLoginAttempt(ip[], password[], success)
  304. {
  305. return 1;
  306. }
  307.  
  308. public OnPlayerUpdate(playerid)
  309. {
  310. return 1;
  311. }
  312.  
  313. public OnPlayerStreamIn(playerid, forplayerid)
  314. {
  315. return 1;
  316. }
  317.  
  318. public OnPlayerStreamOut(playerid, forplayerid)
  319. {
  320. return 1;
  321. }
  322.  
  323. public OnVehicleStreamIn(vehicleid, forplayerid)
  324. {
  325. return 1;
  326. }
  327.  
  328. public OnVehicleStreamOut(vehicleid, forplayerid)
  329. {
  330. return 1;
  331. }
  332.  
  333. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  334. {
  335. //Login Register System
  336. if(dialogid == DIALOG_REGISTER)
  337. {
  338. {
  339. if(!response){
  340. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Registrierung war nicht erfolgreich\nBitte registrieren sie sich um auf dem Server zu spielen.","Absenden","Abbrechen");
  341. return 1;
  342. }
  343. {
  344. //eingegebenes Passwort
  345. new name[MAX_PLAYER_NAME],passwort[35],query[256];
  346. GetPlayerName(playerid,name,sizeof(name));
  347. printf("name = %s",name);
  348. if(strlen(inputtext)>3)
  349. {
  350. //registrierungsfunktion
  351. SetPlayerScore(playerid,1);
  352. sInfo[playerid][level] = 1;
  353. GivePlayerMoney(playerid,15000);
  354. sInfo[playerid][geld] = 15000;
  355. sInfo[playerid][eingeloggt] = 1;
  356. //
  357. mysql_escape_string(inputtext,passwort,dbhandle);
  358. format(query,sizeof(query),"INSERT INTO user (username,passwort) VALUES ('%s','%s')",name,inputtext);
  359. printf(query);
  360. mysql_function_query(dbhandle,query,false,"","");
  361. return 1;
  362.  
  363. }
  364. else
  365. {
  366.  
  367. return 1;
  368. }
  369. }
  370. }
  371. }
  372. if(dialogid == DIALOG_LOGIN)
  373. {
  374. if(!response)
  375. {
  376. new name[MAX_PLAYER_NAME],string[128],stringend[128];
  377. GetPlayerName(playerid,name,sizeof(name));
  378. format(string,sizeof(string),"{FFFFFF}Der Accountname {37CD00}%s {FFFFFF}wurde gefunden.\nUm mit den Spielen zu beginnen, musst du dich einloggen.\nDu hast die ID: {37CD00}%i\n",name,playerid);
  379. strcat(stringend,string);
  380. format(string,sizeof(string),"{FFFFFF}Bitte gebe unten dein Passwort ein.");
  381. strcat(stringend,string);
  382. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{37CD00}Login System: {FFFFFF}Einloggen",stringend,"Login","Abbruch");
  383. strdel(stringend,0,sizeof(stringend));
  384. strdel(string,0,sizeof(string));
  385. return 1;
  386. }
  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 passwort='%s'",name,passwort);
  394. mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
  395. }
  396. return 1;
  397. }
  398. }
  399.  
  400. if(dialogid ==DIALOG_AUTO)
  401. {
  402. if(!response) {
  403. SendClientMessage(playerid,rot,"Du hast die Produktion deines Fahrzeugs abgebrochen");
  404. }
  405. if(listitem == 0)
  406. {
  407. new vID,Float:c_x,Float:c_y,Float:c_z,string[128];
  408. GetPlayerPos(playerid,c_x,c_y,c_z);
  409. vID = 411;
  410.  
  411. format(string,sizeof(string),"Der Infernus wurde in Auftrag gegeben. Dieser Vorgang dauert %i Minuten",Adminproduktion);
  412. SendClientMessage(playerid,rot,string);
  413. SetTimerEx("Admincarproduktion",1000,false,"ifffi",playerid,c_x,c_y,c_z,vID);
  414. return 1;
  415. }
  416.  
  417.  
  418.  
  419. if(listitem == 1)
  420. {
  421.  
  422. return 1;
  423. }
  424.  
  425. if(listitem == 2)
  426. {
  427.  
  428. return 1;
  429. }
  430. if(listitem == 3)
  431. {
  432.  
  433. return 1;
  434. }
  435. if(listitem == 4)
  436. {
  437.  
  438. return 1;
  439. }
  440. if(listitem == 5)
  441. {
  442.  
  443. return 1;
  444. }
  445. if(listitem == 6)
  446. {
  447.  
  448. }
  449. }
  450. return 1;
  451. }
  452.  
  453.  
  454. public OnPasswordResponse(playerid)
  455. {
  456. new num_fields,num_rows;
  457. cache_get_data(num_rows,num_fields,dbhandle);
  458. if(num_rows==1) //Passwort richtig
  459. {
  460. sInfo[playerid][eingeloggt] = 1;
  461. SendClientMessage(playerid,helbau,"Du hast dich erfolgreich eingeloggt!");
  462. sInfo[playerid][level] = cache_get_field_content_int(0,"Level",dbhandle);
  463. SetPlayerScore(playerid,sInfo[playerid][level]);
  464. sInfo[playerid][Adminlevel] = cache_get_field_content_int(0,"Adminlevel",dbhandle);
  465. sInfo[playerid][geld] = cache_get_field_content_int(0,"geld",dbhandle);
  466. SetPlayerMoney(playerid,sInfo[playerid][geld]);
  467. printf("SetPlayerMoney(playerid=%i,sInfo[playerid][geld]=%i)",playerid,sInfo[playerid][geld]);
  468. }
  469. else //Passwort falsch
  470. {
  471.  
  472.  
  473. }
  474. return 1;
  475. }
  476. SetPlayerMoney(playerid,money)
  477. {
  478.  
  479. ResetPlayerMoney(playerid);
  480. GivePlayerMoney(playerid,money);
  481. return 1;
  482. }
  483. ocmd:Setzeadminlevel(playerid,params[])
  484. {
  485. new pID,a_level,string[128];
  486. new name[MAX_PLAYER_NAME],PName[MAX_PLAYER_NAME];
  487. GetPlayerName(playerid,name,sizeof(name));
  488. GetPlayerName(playerid,PName,sizeof(PName));
  489. //seteadminlevel [PartnerID|PartnerName] [Das gewünschte Adminlevel]
  490. if(sscanf(params,"ui",pID,a_level)) return SendClientMessage(playerid,rot,"Diese Funktion ist nur für Administratoren ab Level X möglich!");
  491. sInfo[pID][Adminlevel] = a_level;
  492. format(string,sizeof(string),"Der %s %s hat sie auf den Rang %i befördert!",GetPlayerAdminName(playerid),name,a_level);
  493. SendClientMessage(pID,blau,string);
  494. format(string,sizeof(string),"Du hast den Rang von %s ID %i auf %i geändert",PName,pID,a_level);
  495. return 1;
  496. }
  497. stock GetPlayerAdminName(playerid)
  498. {
  499. new aName[]="Beschwerdenmoderatorleiter";
  500. switch(sInfo[playerid][Adminlevel])
  501. {
  502. case 0: aName="User";
  503. case 1: aName="Supporter";
  504. case 2: aName="Super Supporter";
  505. case 3: aName="Moderator";
  506. case 4: aName="Supermoderator";
  507. case 5: aName="Moderratorenleiter";
  508. case 6: aName="Probe Administator";
  509. case 7: aName="Administator";
  510. case 8: aName="Administatorleiter";
  511. case 9: aName="Scripter";
  512. case 10:aName="Mapper";
  513. case 11:aName="Beschwerdenmoderator";
  514. case 12:aName="Beschwerdenmoderatorleiter";
  515. case 13:aName="Zweiter Projektleiter";
  516. case 14:aName="Projektleiter";
  517. default: aName="ERROR";
  518. }
  519. return aName;
  520. }
  521.  
  522. public Admincarproduktion(playerid,c_x,c_y,c_z,vID)
  523. {
  524. new string[128];
  525. AddStaticVehicleEx(vID,c_x,c_y,c_z,0.0,-1,-1,180);
  526. format(string,sizeof(string),"Dein Fahrzeug mit der ID %i wurde erstellt!",vID);
  527. SendClientMessage(playerid,grün,string);
  528. return 1;
  529. }
Advertisement
Add Comment
Please, Sign In to add comment