Advertisement
Ioannis20x

Untitled

Oct 31st, 2021
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.93 KB | None | 0 0
  1. #include <a_samp>
  2. #include <a_mysql>
  3. #include <md5>
  4.  
  5. //MYSL DATEN
  6. #define MYSQL_HOST "127.0.0.1"
  7. #define MYSQL_USER "root"
  8. #define MYSQL_DATA "selfmade"
  9. #define MYSQL_PASS ""
  10. new Handle;
  11.  
  12. enum playerInfo{
  13. db_id,
  14. pEingeloggt,
  15. pNeuling,
  16. pAlter,
  17. pGeschlecht,
  18. pSkin,
  19. Float:pRussi,
  20. Float:pLeben
  21. };
  22. new pInfo[MAX_PLAYERS][playerInfo];
  23.  
  24. //DIALOGE
  25. #define DIALOG_REGISTER 1
  26. #define DIALOG_CHAR1 2
  27. #define DIALOG_CHAR2 3
  28. #define DIALOG_CHAR3 4
  29. #define DIALOG_LOGIN 5
  30. #define DIALOG_LOGINT 6
  31.  
  32. //Farben
  33. #define geld 0xFFFF00FF
  34. #define weiss 0xFFFFFFFF
  35.  
  36. //news
  37. new Logintest[MAX_PLAYERS];
  38.  
  39.  
  40. main()
  41. {
  42. print("\n----------------------------------");
  43. print(" selfmade by kevin");
  44. print("----------------------------------\n");
  45. }
  46.  
  47.  
  48.  
  49. public OnGameModeInit()
  50. {
  51.  
  52. SetGameModeText("Selfmade v0,0,0");
  53.  
  54. //MYSQL Verbindung
  55. Handle=mysql_connect (MYSQL_HOST,MYSQL_USER,MYSQL_DATA,MYSQL_PASS);
  56. if (mysql_errno() <1) print ("MYSQL: Die Verbindung war erfolgreich!"),
  57. mysql_log (LOG_ALL);else print ("MYSQL: Die Verbindung konnte nicht hergestellt werden! | Server wirt herundergefahren!"),
  58. SendRconCommand ("exit");
  59. return 1;
  60. }
  61.  
  62. public OnGameModeExit()
  63. {
  64. return 1;
  65. }
  66.  
  67. public OnPlayerRequestClass(playerid, classid)
  68. {
  69. SetSpawnInfo(playerid,0,0,0,0,0,0,0,0,0,0,0,0);
  70. SpawnPlayer(playerid);
  71. return 1;
  72. }
  73.  
  74. public OnPlayerConnect(playerid)
  75. {
  76. new query [256];
  77. mysql_format (Handle, query, sizeof (query), "SELECT * FROM user WHERE Username='%e'",Spielername(playerid));
  78. mysql_tquery(Handle,query,"UserCheck","i",playerid);
  79. ClearChat(playerid);
  80. TogglePlayerSpectating(playerid,1);
  81. //news auf 0
  82. Logintest[playerid]=0;
  83. return 1;
  84. }
  85.  
  86. public OnPlayerDisconnect(playerid, reason)
  87. {
  88. SpielerSpeichern(playerid);
  89. return 1;
  90. }
  91.  
  92. public OnPlayerSpawn(playerid)
  93. {
  94. SetPlayerVirtualWorld(playerid,0);
  95. SetCameraBehindPlayer(playerid);
  96. TogglePlayerControllable(playerid,1);
  97. if(pInfo[playerid][pNeuling]==1)
  98. {
  99. ClearChat(playerid);
  100. SendClientMessage(playerid,geld,"Herzlich Willkommen!");
  101. SetPlayerPos(playerid,858.8041,-1655.6134,13.5523);
  102. SetPlayerFacingAngle(playerid,1.0462);
  103. pInfo[playerid][pNeuling]=0;
  104. pInfo[playerid][pLeben]=100;
  105. if(pInfo[playerid][pGeschlecht]==1)
  106. {
  107. SetPlayerSkin(playerid,60);
  108. }
  109. else
  110. {
  111. SetPlayerSkin(playerid,40);
  112. }
  113. GameTextForPlayer(playerid,"~y~Wilkommen ~n~auf ~n~Den besten ~g~Sever",6000,4);
  114. SpielerSpeichern(playerid);
  115. }
  116. else
  117. {
  118. SendClientMessage(playerid,geld,"Willkommen Zurück!");
  119. SetPlayerPos(playerid,858.8041,-1655.6134,13.5523);
  120. SetPlayerFacingAngle(playerid,1.0462);
  121. if(pInfo[playerid][pGeschlecht]==1)
  122. {
  123. SetPlayerSkin(playerid,60);
  124. }
  125. else
  126. {
  127. SetPlayerSkin(playerid,40);
  128. }
  129. }
  130. SetPlayerColor(playerid,0xF3F3F3FF);
  131. return 1;
  132. }
  133.  
  134. public OnPlayerDeath(playerid, killerid, reason)
  135. {
  136. return 1;
  137. }
  138.  
  139. public OnVehicleSpawn(vehicleid)
  140. {
  141.  
  142. return 1;
  143. }
  144.  
  145. public OnVehicleDeath(vehicleid, killerid)
  146. {
  147. return 1;
  148. }
  149.  
  150. public OnPlayerText(playerid, text[])
  151. {
  152. return 1;
  153. }
  154.  
  155. public OnPlayerCommandText(playerid, cmdtext[])
  156. {
  157. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  158. {
  159. // Do something here
  160. return 1;
  161. }
  162. return 0;
  163. }
  164.  
  165. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  166. {
  167. return 1;
  168. }
  169.  
  170. public OnPlayerExitVehicle(playerid, vehicleid)
  171. {
  172. return 1;
  173. }
  174.  
  175. public OnPlayerStateChange(playerid, newstate, oldstate)
  176. {
  177. return 1;
  178. }
  179.  
  180. public OnPlayerEnterCheckpoint(playerid)
  181. {
  182. return 1;
  183. }
  184.  
  185. public OnPlayerLeaveCheckpoint(playerid)
  186. {
  187. return 1;
  188. }
  189.  
  190. public OnPlayerEnterRaceCheckpoint(playerid)
  191. {
  192. return 1;
  193. }
  194.  
  195. public OnPlayerLeaveRaceCheckpoint(playerid)
  196. {
  197. return 1;
  198. }
  199.  
  200. public OnRconCommand(cmd[])
  201. {
  202. return 1;
  203. }
  204.  
  205. public OnPlayerRequestSpawn(playerid)
  206. {
  207. return 1;
  208. }
  209.  
  210. public OnObjectMoved(objectid)
  211. {
  212. return 1;
  213. }
  214.  
  215. public OnPlayerObjectMoved(playerid, objectid)
  216. {
  217. return 1;
  218. }
  219.  
  220. public OnPlayerPickUpPickup(playerid, pickupid)
  221. {
  222. return 1;
  223. }
  224.  
  225. public OnVehicleMod(playerid, vehicleid, componentid)
  226. {
  227. return 1;
  228. }
  229.  
  230. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  231. {
  232. return 1;
  233. }
  234.  
  235. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  236. {
  237. return 1;
  238. }
  239.  
  240. public OnPlayerSelectedMenuRow(playerid, row)
  241. {
  242. return 1;
  243. }
  244.  
  245. public OnPlayerExitedMenu(playerid)
  246. {
  247. return 1;
  248. }
  249.  
  250. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  251. {
  252. return 1;
  253. }
  254.  
  255. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  256. {
  257. return 1;
  258. }
  259.  
  260. public OnRconLoginAttempt(ip[], password[], success)
  261. {
  262. return 1;
  263. }
  264.  
  265. public OnPlayerUpdate(playerid)
  266. {
  267. return 1;
  268. }
  269.  
  270. public OnPlayerStreamIn(playerid, forplayerid)
  271. {
  272. return 1;
  273. }
  274.  
  275. public OnPlayerStreamOut(playerid, forplayerid)
  276. {
  277. return 1;
  278. }
  279.  
  280. public OnVehicleStreamIn(vehicleid, forplayerid)
  281. {
  282. return 1;
  283. }
  284.  
  285. public OnVehicleStreamOut(vehicleid, forplayerid)
  286. {
  287. return 1;
  288. }
  289.  
  290. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  291. {
  292. //mysql dialogen
  293. if(dialogid == DIALOG_REGISTER)
  294. {
  295. if(!response)return Kick(playerid);
  296. SetPVarString(playerid,"passwortvar",inputtext);
  297. if(strlen(inputtext) >=4)
  298. {
  299. ShowPlayerDialog(playerid,DIALOG_CHAR1,DIALOG_STYLE_MSGBOX,"{00FFFA}Charackter 1/3","{FFFFFF}Welches Geschlecht bist du?","{00FFFA}Männlich","{00FFFA}Weiblich");
  300. }
  301. else
  302. {
  303. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"{00FFFA}Neuanfang","{00FFFA}Herzlich Willkommen{FFFFFF},\n{FF0023}Fehler: Eingabe ist Falsch{FFFFFF}\n auf unseren Server bitte geben ein Passwort ein","{00FFFA}Weiter","{00FFFA}Abbrechen");
  304. }
  305. }
  306. if(dialogid == DIALOG_CHAR1)
  307. {
  308. if(response)
  309. {
  310. //männ
  311. pInfo[playerid][pGeschlecht]=1;
  312. ShowPlayerDialog(playerid,DIALOG_CHAR2,DIALOG_STYLE_LIST,"{00FFFA}Charackter 2/3","{00AFFF}Hast du die Regeln gelesen?\n{00FF14}Ja\n{FF002D}Nein\n{F000FF}Was ech gibt Regeln?","00FFFA}Weiter","00FFFA}Abbrechen");
  313. }
  314. else
  315. {
  316. //weib
  317. pInfo[playerid][pGeschlecht]=2;
  318. ShowPlayerDialog(playerid,DIALOG_CHAR2,DIALOG_STYLE_LIST,"{00FFFA}Charackter 2/3","{00AFFF}Hast du die Regeln gelesen?\n{00FF14}Ja\n{FF002D}Nein\n{F000FF}Was ech gibt Regeln?","00FFFA}Weiter","00FFFA}Abbrechen");
  319. }
  320.  
  321. }
  322. if(dialogid == DIALOG_CHAR2)
  323. {
  324. if(response)
  325. {
  326. if(listitem==0)
  327. {
  328. ShowPlayerDialog(playerid,DIALOG_CHAR2,DIALOG_STYLE_LIST,"{00FFFA}Charackter 2/3","{00AFFF}Hast du die Regeln gelesen?\n{00FF14}Ja\n{FF002D}Nein\n{F000FF}Was ech gibt Regeln?","00FFFA}Weiter","00FFFA}Abbrechen");
  329. }
  330. if(listitem==1)
  331. {
  332. Kick(playerid);
  333. }
  334. if(listitem==2)
  335. {
  336. Kick(playerid);
  337. }
  338. if(listitem==3)
  339. {
  340. ShowPlayerDialog(playerid,DIALOG_CHAR3,DIALOG_STYLE_INPUT,"{00FFFA}Charackter 3/3","{FFFFFF}Gebe nun Dein alter an(zwichen 18 bist 48 )","{00FFFA}Weiter","{00FFFA}Abbrechen");
  341. }
  342. }
  343. else
  344. {Kick (playerid);}
  345. }
  346. if(dialogid == DIALOG_CHAR3)
  347. {
  348. if(response)
  349. {
  350. if(IsNummeric(inputtext))
  351. {
  352. //new alterabfrage=strval(inputtext);
  353. if(strval(inputtext)>=18 && strval(inputtext) <=48)
  354. {
  355. pInfo[playerid][pAlter]=strval(inputtext);
  356. pInfo[playerid][pEingeloggt]=1;
  357. pInfo[playerid][pNeuling]=1;
  358. new query [256],passworteingabe[128];
  359. GetPVarString(playerid,"passwortvar",passworteingabe,128);
  360. mysql_format(Handle, query, sizeof(query), "INSERT INTO user (Username, Passwort) VALUES ('%e',MD5('%e'))",Spielername(playerid),passworteingabe);
  361. mysql_function_query(Handle,query,true,"OnPlayerRegister","i",playerid);
  362. printf("%s",query);
  363. }
  364. else
  365. {
  366. ShowPlayerDialog(playerid,DIALOG_CHAR3,DIALOG_STYLE_INPUT,"{00FFFA}Charackter 3/3","\n{FF0023}Fehler: Eingabe ist Falsch{FFFFFF}Gebe nun Dein alter an(zwichen 18 bist 48 )","{00FFFA}Weiter","{00FFFA}Abbrechen");
  367. }
  368. }
  369. else
  370. {
  371. ShowPlayerDialog(playerid,DIALOG_CHAR3,DIALOG_STYLE_INPUT,"{00FFFA}Charackter 3/3","\n{FF0023}Fehler: Eingabe ist Falsch{FFFFFF}Gebe nun Dein alter an(zwichen 18 bist 48 )","{00FFFA}Weiter","{00FFFA}Abbrechen");
  372. }
  373. }
  374. else
  375. {Kick (playerid);}
  376. }
  377. if(dialogid == DIALOG_LOGIN)
  378. {
  379. if(!response)return Kick(playerid);
  380. new query[256];
  381. mysql_format(Handle,query,sizeof(query),"SELECT * user FROM WHERE Username='%e'AND Passwort=MD5('%e')",Spielername(playerid),inputtext);
  382. mysql_tquery(Handle,query,"OnPassordResponse","i",playerid);
  383. return 1;
  384. }
  385. return 1;
  386. }
  387.  
  388. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  389. {
  390. return 1;
  391. }
  392.  
  393. //OnPlayerRegister
  394. forward OnPlayerRegister(playerid);
  395. public OnPlayerRegister(playerid)
  396. {
  397. pInfo[playerid][db_id]=cache_insert_id(Handle);
  398. TogglePlayerSpectating(playerid,0);
  399. SpawnPlayer(playerid);
  400. SetCameraBehindPlayer(playerid);
  401. return 1;
  402. }
  403.  
  404. //User-Check
  405. forward UserCheck(playerid);
  406. public UserCheck(playerid)
  407. {
  408. new num_rows, num_fields;
  409. cache_get_data(num_rows,num_fields,Handle);
  410. SetPlayerVirtualWorld(playerid,1);
  411. if(num_rows == 0)
  412. {
  413. //reg
  414. ClearChat(playerid);
  415. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"{00FFFA}Neuanfang","{00FFFA}Herzlich Willkommen{FFFFFF},\n auf unseren Server bitte geben ein Passwort ein","{00FFFA}Weiter","{00FFFA}Abbrechen");
  416. }
  417. else
  418. {
  419. //log
  420. ClearChat(playerid);
  421. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{00FFFA}Einloggen","{00FFFA}Willkommen Zurück{FFFFFF},\n auf unseren Server bitte geben Dein Passwort ein","{00FFFA}Weiter","{00FFFA}Abbrechen");
  422. }
  423. return 1;
  424. }
  425.  
  426. //für login
  427. forward OnPasswordResponse(playerid);
  428. public OnPasswordResponse(playerid)
  429. {
  430. new num_fields,num_rows;
  431. cache_get_data(num_rows,num_fields);
  432. if(num_rows==0)
  433. {
  434. //Passwort Falsch
  435. Logintest[playerid]+=1;
  436. new string [250];
  437. format(string,sizeof(string),"{00FFFA}Einloggen {FF0005}[%d/3]",Logintest[playerid]);
  438. if(Logintest[playerid]>=3)
  439. {
  440. ShowPlayerDialog(playerid,DIALOG_LOGINT,DIALOG_STYLE_MSGBOX,"{FF0005}Fehler","{FF0005}Maximale {FFFFFF}Versuche verbraucht sie werden aus sicherheits gründen von Server entfernt!","{FF0005}Okay","");
  441. return SetTimerEx("KickHackInfo",1000,false,"i",playerid);
  442. }
  443. else
  444. {
  445. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,string,"{00FFFA}Willkommen Zurück{FFFFFF},\n auf unseren Server bitte geben Dein Passwort ein","{00FFFA}Weiter","{00FFFA}Abbrechen");
  446. }
  447. }
  448. else
  449. {
  450. //Passwort Richtig
  451. SendClientMessage(playerid,geld,"Erfolgreich Eingeloggt");
  452. LoadAccount(playerid);
  453.  
  454. }
  455. return 1;
  456. }
  457.  
  458. //LoadAccount
  459. stock LoadAccount(playerid)
  460. {
  461. pInfo[playerid][db_id]=cache_get_field_content_int(0,"ID",Handle);
  462. pInfo[playerid][pEingeloggt]=1;
  463. pInfo[playerid][pAlter]=cache_get_field_content_int(0,"Alter",Handle);
  464. pInfo[playerid][pGeschlecht]=cache_get_field_content_int(0,"Geschlecht",Handle);
  465. pInfo[playerid][pSkin]=cache_get_field_content_int(0,"Skin",Handle);
  466. pInfo[playerid][pNeuling]=cache_get_field_content_int(0,"Neuling",Handle);
  467.  
  468. pInfo[playerid][pLeben]=cache_get_field_content_float(0,"Leben",Handle);
  469. pInfo[playerid][pRussi]=cache_get_field_content_float(0,"Russi",Handle);
  470.  
  471. SetPlayerHealth(playerid,pInfo[playerid][pLeben]);
  472. SetPlayerArmour(playerid,pInfo[playerid][pRussi]);
  473.  
  474. SpawnPlayer(playerid);
  475. TogglePlayerSpectating(playerid,0);
  476. SetCameraBehindPlayer(playerid);
  477. return 1;
  478. }
  479.  
  480. //SpielerSpeichern
  481. stock SpielerSpeichern(playerid)
  482. {
  483. if(pInfo[playerid][pEingeloggt]!=1)return 1;
  484. if(IsPlayerNPC(playerid))return 1;
  485. GetPlayerHealth(playerid,pInfo[playerid][pLeben]);
  486. GetPlayerArmour(playerid,pInfo[playerid][pRussi]);
  487. new query[256];
  488. mysql_format(Handle,query,sizeof (query),"Update `user` Set `Skin`='%d',`Alter`='%d',`Geschlecht`='%d',`Neuling`='%d',`Leben`='%.0f',`Russi`='%.0f' WHERE `ID`='%i'",GetPlayerSkin(playerid),
  489. pInfo[playerid][pAlter], pInfo[playerid][pGeschlecht],pInfo[playerid][pNeuling],pInfo[playerid][pLeben],pInfo[playerid][pRussi],pInfo[playerid][db_id]);
  490. mysql_pquery(Handle,query,"","");
  491. printf("%s",query);
  492. pInfo[playerid][pEingeloggt]=0;
  493. return 1;
  494. }
  495.  
  496. //KickHackInfo
  497. forward KickHackInfo(playerid);
  498. public KickHackInfo(playerid)
  499. {
  500. return Kick(playerid);
  501. }
  502.  
  503. //Spielername
  504. stock Spielername(playerid)
  505. {
  506. new name[MAX_PLAYER_NAME];
  507. GetPlayerName(playerid,name,MAX_PLAYER_NAME);
  508. return name;
  509. }
  510. //Clear-Chat
  511.  
  512. stock ClearChat(playerid)
  513. {
  514.  
  515. for(new i = 0;i<100;i++)
  516. {
  517. SendClientMessage(playerid,weiss,"");
  518. }
  519. return 1;
  520. }
  521. //IsNummeric
  522. stock IsNummeric(string[])
  523. {
  524. for(new i=0,j=strlen(string);i<j;i++)
  525. {
  526. if((string[i] > '9' || string[i] < '0'))return 0;
  527. }
  528. return 1;
  529. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement