Advertisement
Guest User

Untitled

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