Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.19 KB | None | 0 0
  1. /*=*=*=*=*=*=*=*=*=*=*=*= MySQL Datenbank *=*=*=*=*=*=*=*=*=*=*=*=*
  2.  
  3. CREATE TABLE `Spieler` (
  4. `Name` varchar(24) NOT NULL,
  5. `Passwort` varchar(50) NOT NULL,
  6. `Level` INT(11) NOT NULL DEFAULT '0',
  7. `Adminlevel` INT(11) NOT NULL DEFAULT '0',
  8. `Skin` INT(11) NOT NULL DEFAULT '0',
  9. `Geld` INT(11) NOT NULL DEFAULT '0',
  10. `Registrierungsdatum` varchar(30) NOT NULL,
  11. PRIMARY KEY (`Name`)
  12. )
  13. COLLATE='utf8_general_ci'
  14. ENGINE=InnoDB;
  15.  
  16. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
  17.  
  18. /*================================[ Includes ]==================================*/
  19. #include <a_samp>
  20. #include <a_mysql>
  21. #include <zcmd>
  22.  
  23. /*===========================[ MySQL - Daten ]=================================*/
  24.  
  25. #define SQL_HOST "127.0.0.1"
  26. #define SQL_USER "samp"
  27. #define SQL_PASS "K6TbT3rqbd7yqemE"
  28. #define SQL_DB "samp"
  29. //Tabellenname für die Spieler
  30. #define Tabelle_Spieler "Spieler"
  31. /*==============================[ Dialoge ]===================================*/
  32. //Stlyes
  33. #define DG_LIST DIALOG_STYLE_LIST
  34. #define DG_INPUT DIALOG_STYLE_INPUT
  35. #define DG_MSGBOX DIALOG_STYLE_MSGBOX
  36. #define DG_PASSWORD DIALOG_STYLE_PASSWORD
  37. //Login / Register
  38. #define DG_ID ( 0 )
  39. #define DG_REGISTER ( 0 + DG_ID )
  40. #define DG_LOGIN ( 1 + DG_ID )
  41.  
  42. /*==============================[ Farben ]===================================*/
  43. //Normale
  44. #define Weiß 0xFFFFFFFF
  45. #define Rot 0xFF0000FF
  46. #define Grün 0x00FF00FF
  47. #define Schwarz 0x000000FF
  48.  
  49. //HTML - Hexcodes
  50. #define COLW "{FFFFFF}"
  51. #define COLO "{FF6A00}"
  52. #define COLR "{FF0000}"
  53. #define COLB "{007DE0}"
  54.  
  55. /*============================[ Server-Einstellungen ]========================*/
  56. //Servername & GameModeText
  57.  
  58. #define ServerName "[KEV]Reallife"
  59. #define Scripter "xsL33p"
  60. #define Mapper "xsL33p"
  61. #define Version "0.1"
  62.  
  63. /*=========================== [ Client Einstellungen ] ========================*/
  64.  
  65. #define Hostname "[KEV]Reallife v 0.1" //Ändert den Servernamen im SA:MP Client
  66. #define GamemodeName "Reallife" //Änder den Gamemode Namen SA:MP im Client
  67. #define Mapname "xsL33p" //Änder den Map Namen im SA:MP Client
  68.  
  69. /*=========================== [ Sonstige Einstellungen ] ========================*/
  70. /* 0 = False = NEIN 1 = TRUE = JA */
  71. #define SpielerAufKarte 0 // Sollen spieler auf der Karte angezeigt werden?
  72. #define Stuntbonus 0 //Soll der Stuntbonus an sein?
  73. #define SpielerNameUeberKopf 1 //Soll der Name und ID über spieler sein?
  74. #define SpielerNameUeberKopfDistanz 20 //Wie weit der Name und ID über spieler sein?
  75. #define MySQLLog 1 //Soll der MySQL-Log an sein?
  76.  
  77. /*============================[ Startsachen ]================================*/
  78.  
  79. #define Zivispawn_1 2488.5435,-1460.0626,24.0180 //Der Zivispawn
  80. #define Zivifarbe 0xFFFFFFFF //Die Zivilisten Farbe (Weiß)
  81. #define Startgeld 2500 //Das Anfangs Geld
  82. #define Startlevel 1 //Das Anfangs Level
  83.  
  84. //Der 1. Skin den der Spieler erhalten soll (random)
  85. new ZiviSkin[] =
  86. {
  87. 1,
  88. 2,
  89. 3,
  90. 4,
  91. 5,
  92. 128,
  93. 134,
  94. 6,
  95. 8,
  96. 5
  97. };
  98. /*===============[ Uhrzeit / Datum ]=====================*/
  99. new
  100. Stunde,
  101. Minute,
  102. //Sekunde,
  103. Jahr,
  104. Monat,
  105. Tag
  106. ;
  107.  
  108. /*===================[ News ]===========================*/
  109. //Abfrage: Eingeloggt
  110. new Eingeloggt[MAX_PLAYERS];
  111.  
  112. /*===================[ Timer ]===========================*/
  113.  
  114. new RequestTimer;//Damit der Spawn Button weg ist! Also nicht beachten ^^
  115. new LoginIntro;//Login Intro
  116.  
  117. /*=======================[ Anti Badwords & Badnames ]=======================*/
  118.  
  119. //----------------- Verbotene Namen -----------------
  120. new BadNames[] = {"opf4","0pf4","0pfa","opfa","hurn","homo","schwuchtel","b4st4rd","jude","ossama","shinoda","nude","nutte","heilhitler","arsch", "sack", "penner", "wixxer", "penis", "hurre", "schlampe", "vagina", "muschi", "fick", "idiot", "trottel", "ashole", "fuck", "fasch", "nazi", "adolf", "hitler","Hure","Fotze","Schwanz","Hur3","P3nis","Arschloch","4rsch","Admin","Popo","schlampe","Bastard","Opfa","Opfer","www","0pfa","b4stard","b4st4rd","schl4mpe","schlamp3","wixxa","sperma","vagina"};
  121. //----------------- Verbotene Wörter -----------------
  122. new BadWords[][] = {"hurn","homo","schwuchtel","b4st4rd","jude","ossama","shinoda","nude","nutte","heilhitler","arsch", "sack", "penner", "wixxer", "penis", "hurre", "schlampe", "vagina", "muschi", "fick", "idiot", "trottel", "ashole", "fuck", "fasch", "nazi", "adolf", "hitler","Hure","Fotze","Schwanz","Hur3","P3nis","Arschloch","4rsch","Admin","Popo","schlampe","Bastard","Opfa","Opfer","www","0pfa","b4stard","b4st4rd","schl4mpe","schlamp3","wixxa","sperma","vagina"};
  123.  
  124. /*============================[ Enums ]======================================*/
  125. //Spieler Enum
  126. enum SpielerDaten
  127. {
  128. pRegDate[30],
  129. pRegistriert,
  130. pLevel,
  131. pGeld,
  132. pSkin,
  133. pAdminlevel
  134. };
  135.  
  136. new SpielerInfo[MAX_PLAYERS][SpielerDaten];
  137. //Textdraw: Startbildschirm
  138. new Text:StartBildschirm[5];
  139.  
  140. /*==============================[ Forwards ]=================================*/
  141.  
  142. //Login Intro
  143. forward LoginZeigen(playerid);
  144.  
  145. //Request Class weg (Spawn Buttons)
  146. forward RequestWeg(playerid);
  147.  
  148. /*==============================[ Konsole ]==================================*/
  149. main()
  150. { print("*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*");
  151. print("[KEV]Reallife <> wurde erfolgreich Geladen <> ");
  152. print(" ");
  153. print("Skripter: xsL33p ");
  154. print("Mapper : xsL33p ");
  155. print("Version : V 0.1 ");
  156. print(" ");
  157. print("Dieses Skript ist ein einzigartiges Selfmade! ");
  158. print("Viel Spaß beim spielen! ");
  159. print("*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*");
  160. }
  161.  
  162. /*==============================[ Callbacks ]================================*/
  163.  
  164. public OnGameModeInit()
  165. {
  166. //*=*=*=*=*=*=*=* MySQL Verbindung + Log *=*=*=*=*=*=*=*
  167. ConnectToDatabase();
  168. mysql_debug(MySQLLog);
  169. //*=*=*=*=*=*=*=* Client Einstellungen *=*=*=*=*=*=*=*
  170. SendRconCommand("hostname "Hostname"");
  171. SendRconCommand("mapname "Mapname"");
  172. SetGameModeText(GamemodeName);
  173.  
  174. //Startbildshirm (textdraw)
  175. StartBildschirm[0] = TextDrawCreate(663.000000, -12.000000, " ");TextDrawBackgroundColor(StartBildschirm[0], 255);TextDrawFont(StartBildschirm[0], 1);TextDrawLetterSize(StartBildschirm[0], 0.500000, 1.000000);TextDrawColor(StartBildschirm[0], -1);TextDrawSetOutline(StartBildschirm[0], 0);TextDrawSetProportional(StartBildschirm[0], 1);TextDrawSetShadow(StartBildschirm[0], 1);TextDrawUseBox(StartBildschirm[0], 1);TextDrawBoxColor(StartBildschirm[0], 153);
  176. StartBildschirm[1] = TextDrawCreate(663.000000, 339.000000, " ");TextDrawBackgroundColor(StartBildschirm[1], 255);TextDrawFont(StartBildschirm[1], 1);TextDrawLetterSize(StartBildschirm[1], 0.500000, 1.000000);TextDrawColor(StartBildschirm[1], -1);TextDrawSetOutline(StartBildschirm[1], 0);TextDrawSetProportional(StartBildschirm[1], 1);TextDrawSetShadow(StartBildschirm[1], 1);TextDrawUseBox(StartBildschirm[1], 1);TextDrawBoxColor(StartBildschirm[1], 153);
  177. StartBildschirm[2] = TextDrawCreate(41.000000, 11.000000, "[KEV]Reallife");TextDrawBackgroundColor(StartBildschirm[2], 255);TextDrawFont(StartBildschirm[2], 1);TextDrawLetterSize(StartBildschirm[2], 1.109999, 7.099999);TextDrawColor(StartBildschirm[2], -1);TextDrawSetOutline(StartBildschirm[2], 1);TextDrawSetProportional(StartBildschirm[2], 1);
  178. StartBildschirm[3] = TextDrawCreate(676.000000, 99.000000, " ");TextDrawBackgroundColor(StartBildschirm[3], 255);TextDrawFont(StartBildschirm[3], 1);TextDrawLetterSize(StartBildschirm[3], 1.610000, 1.000000);TextDrawColor(StartBildschirm[3], -1);TextDrawSetOutline(StartBildschirm[3], 0);TextDrawSetProportional(StartBildschirm[3], 1);TextDrawSetShadow(StartBildschirm[3], 1);TextDrawUseBox(StartBildschirm[3], 1);TextDrawBoxColor(StartBildschirm[3], 255);
  179. StartBildschirm[4] = TextDrawCreate(676.000000, 337.000000, " ");TextDrawBackgroundColor(StartBildschirm[4], 255);TextDrawFont(StartBildschirm[4], 1);TextDrawLetterSize(StartBildschirm[4], 1.610000, 1.000000);TextDrawColor(StartBildschirm[4], -1);TextDrawSetOutline(StartBildschirm[4], 0);TextDrawSetProportional(StartBildschirm[4], 1);TextDrawSetShadow(StartBildschirm[4], 1);TextDrawUseBox(StartBildschirm[4], 1);TextDrawBoxColor(StartBildschirm[4], 255);
  180. TextDrawTextSize(StartBildschirm[0], -10.000000, 0.000000);TextDrawTextSize(StartBildschirm[1], -10.000000, 0.000000);TextDrawTextSize(StartBildschirm[3], -8.000000, 0.000000);TextDrawTextSize(StartBildschirm[4], -8.000000, 0.000000);
  181. TextDrawSetSelectable(StartBildschirm[0], 0);TextDrawSetSelectable(StartBildschirm[1], 0);TextDrawSetSelectable(StartBildschirm[2], 0);TextDrawSetSelectable(StartBildschirm[3], 0);TextDrawSetSelectable(StartBildschirm[4], 0);
  182.  
  183. /*=*=*=*=*=*=*=**=*=*=*=*=*=*=* Allgemeines *=*=*=*=*=*=*=**=*=*=*=*=*=*=*/
  184. /*
  185. Diese Sachen sind oben im Skript einstellbar,
  186. und können ganz simple bearbeitet werden
  187. */
  188. LimitGlobalChatRadius(0); //Der Chatradius
  189. ShowPlayerMarkers(SpielerAufKarte); // Spieler auf der Minimap sichtbar
  190. ShowNameTags(SpielerNameUeberKopf); //Name über Spieler
  191. SetNameTagDrawDistance(SpielerNameUeberKopfDistanz); //Name über Spieler (Distanz)
  192. DisableInteriorEnterExits();//Unwichtig aber, macht alle automatischen eingänge von SA:MP weg
  193. EnableStuntBonusForAll(Stuntbonus); // Stuntbonus von GTA (wenn man stunts macht wie im singleplayer)
  194. AddPlayerClass(3,Zivispawn_1,0,0,0,0,0,0,0); //Wichtig: An diesem Punkt spawnt der Spieler!
  195. /*=*=*=*=*=*=*=**=*=*=*=*=*=*=**=*=*=*=*=*=*=**=*=*=*=*=*=*=**=*=*=*=*=*=*=*/
  196. return 1;
  197. }
  198.  
  199. public OnGameModeExit()
  200. {
  201. for(new i=0;i<MAX_PLAYERS;i++)
  202. {
  203. if(Eingeloggt[i]==1)
  204. {
  205. SavePlayer(i);
  206. }
  207. }
  208. return 1;
  209. }
  210. /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=[ OnPlayerConnect & Disconnect ]=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
  211.  
  212. public OnPlayerConnect(playerid)
  213. {
  214. //----------------------- Verbotene Namen (Oben im Skript einstellbar) -------------------
  215. new player;
  216. for(new i = 0; i < sizeof(BadNames); i++)
  217. {
  218. if(strfind(GetName(player), BadNames[i], true) != -1)
  219. {if(strlen(GetName(player)) == strlen(BadNames[i]))
  220. {
  221. SendClientMessage(playerid, Rot, "Der von dir benutzte Name ist nicht erlaubt!");
  222. SendClientMessage(playerid, Weiß, "Bitte wähle einen Namen im Format:");
  223. SendClientMessage(playerid, Grün, "3-15 Zeichen! | Nur A-z | 0-9 | "COLR" Keine Sonderzeichen!");Kick(playerid);}
  224. }
  225. }
  226. //Intro
  227. LoginIntro = SetTimerEx("LoginZeigen",1000,1,"d",playerid);
  228. TogglePlayerSpectating(playerid,1);
  229. Eingeloggt[playerid]=0;
  230. return 1;
  231. }
  232.  
  233. public OnPlayerDisconnect(playerid, reason)
  234. {
  235. if(Eingeloggt[playerid]==0)return 0;
  236. SavePlayer(playerid);
  237. return 1;
  238. }
  239. /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=[ Requestclass ]=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
  240.  
  241. public OnPlayerRequestClass(playerid, classid)
  242. {
  243. RequestTimer = SetTimerEx("RequestWeg",0,0,"i",playerid);
  244. return 1;
  245. }
  246.  
  247. public RequestWeg(playerid)
  248. {
  249. SpawnPlayer(playerid);
  250. KillTimer(RequestTimer);
  251. return 1;
  252. }
  253.  
  254.  
  255. /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*[ OnPlayerSpawn ]*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*==*=*=*=*/
  256.  
  257. public OnPlayerSpawn(playerid)
  258. {
  259.  
  260. if(Eingeloggt[playerid]==0){SendClientMessage(playerid, Rot,"Du bist nicht eingeloggt");Kick(playerid);}
  261. //Wenn doch...
  262. else if(Eingeloggt[playerid]==1)
  263. {
  264. for(new x = 0; x < 5; x++ ){TextDrawHideForPlayer(playerid, StartBildschirm[x]);}
  265. SetPlayerSkin(playerid,SpielerInfo[playerid][pSkin]);TogglePlayerControllable(playerid,1);
  266. }
  267. return 1;
  268. }
  269.  
  270. /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*[ Login Intro ]*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
  271.  
  272. public LoginZeigen(playerid)
  273. {
  274. for(new x = 0; x < 5; x++ ){TextDrawShowForPlayer(playerid, StartBildschirm[x]);}
  275. InterpolateCameraPos(playerid, 1092.991699, -1519.670776, 201.314895, 1385.267211, -936.523803, 87.020683, 7777);
  276. InterpolateCameraLookAt(playerid, 1096.116577, -1515.861572, 200.463333, 1385.802734, -931.559204, 86.763908, 7777);
  277. KillTimer(LoginIntro);
  278. //Login / Register
  279. if(CheckAccount(playerid) == 0)
  280. {ShowDialog(playerid, DG_REGISTER);}
  281. else{ShowDialog(playerid, DG_LOGIN);}
  282. mysql_free_result();
  283. for(new x = 0; x < 10; x++ ) {SendClientMessage(playerid,Schwarz,"");}
  284. return 1;
  285. }
  286.  
  287. /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*[ OnPlayerText (Chat) ]*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
  288.  
  289. public OnPlayerText(playerid, text[])
  290. {
  291. if(Eingeloggt[playerid]==0)return 0;
  292. //------------- Verbotene Namen(Oben im Skript einstellbar) -----------
  293. for(new i = 0; i < sizeof(BadWords); i++)
  294. {if(strfind(text, BadWords[i], true) != -1){SendClientMessage(playerid, Rot, "Benutze keine Schimpfwörter!");return 0;}}
  295. return 0;
  296. }
  297.  
  298. /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*[ OnPlayerCommandText ]*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
  299.  
  300. public OnPlayerCommandText(playerid, cmdtext[])
  301. {
  302. return 0;
  303. }
  304.  
  305. //Wenn ein Befehl nicht existiert
  306. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  307. {
  308. new string[128];
  309. format(string, sizeof string, "Der Befehl "COLO"%s"COLW" existiert nicht!", cmdtext);
  310. if(!success)return SendClientMessage(playerid, Weiß, string);
  311. return 1;
  312. }
  313.  
  314. /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=[ OnDialogResponse ]*=**=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
  315. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  316. {
  317. switch(dialogid)
  318. {
  319. //Registrations Vorgang
  320. case DG_REGISTER:
  321. {
  322. new query[128];
  323. if(!response) return Kick(playerid);
  324. if(!strlen(inputtext)) return ShowDialog(playerid, DG_REGISTER);
  325. else
  326. {
  327. CreateAccount(playerid, inputtext);
  328. format(query,sizeof(query),"INSERT INTO `Spieler` (Name,Passwort,Registriert,Level,Adminlevel,Premium,Kills,Tode,Skin,Geld,Registrierungsdatum) VALUES('%s','%s','0','0','0','0','0','0','0','0','0')",GetName(playerid), inputtext);
  329. mysql_query(query); mysql_store_result();
  330. SpawnPlayer(playerid);
  331. Eingeloggt[playerid]=1;
  332. }
  333. }
  334. //Login Vorgang
  335. case DG_LOGIN:
  336. {
  337. if(!response) return Kick(playerid);
  338. if(!strlen(inputtext)) return ShowDialog(playerid, DG_LOGIN);
  339. {
  340. if(strcmp(inputtext, ReturnPasswort(GetName(playerid))) == 0)
  341. {
  342. TogglePlayerSpectating(playerid,0);
  343. SetPlayerInterior(playerid, 0);
  344. Eingeloggt[playerid]=1;
  345. LoadPlayer(playerid);
  346. SpawnPlayer(playerid);
  347. }
  348. else return ShowDialog(playerid, DG_LOGIN);
  349. }
  350. }
  351. }
  352. return 1;
  353. }
  354.  
  355. /*-------Spieler Name-----*/
  356. stock GetName(playerid)
  357. {
  358. new Name[MAX_PLAYER_NAME];
  359. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  360. return Name;
  361. }
  362.  
  363. /*-------ShowDialog(Verkürzung von ShowPlayerDialog)-----*/
  364. stock ShowDialog(playerid, dialogid)
  365. {
  366. switch(dialogid)
  367. {
  368. case DG_REGISTER:
  369. {
  370. new string[230];
  371. format(string, sizeof(string), ""COLW"Herzlich Willkommen auf "ServerName"!\n"COLW"Der Account "COLO"%s"COLW" ist nicht registriert!\nWenn du diesen Account registrieren willst,\ngib unten dein gewünschtes Passwort ein!", GetName(playerid));
  372. ShowPlayerDialog(playerid, DG_REGISTER, DG_PASSWORD, ServerName, string, "Erstellen", "Abbrechen");
  373. }
  374. case DG_LOGIN:
  375. {
  376. new string[230];
  377. format(string, sizeof(string), ""COLW"Herzlich Willkommen auf "ServerName"!\n"COLW"Der Account "COLO"%s"COLW" ist registriert!\nUm dich einzuloggen gib dein Passwort ein!", GetName(playerid));
  378. ShowPlayerDialog(playerid, DG_LOGIN, DG_PASSWORD, ServerName, string, "Login", "Abbrechen");
  379. }
  380. }
  381. return 1;
  382. }
  383.  
  384. stock LoadPlayer(playerid)
  385. {
  386. if(IsPlayerConnected(playerid))
  387. {
  388. SpielerInfo[playerid][ pLevel ] = mysql_GetInt(Tabelle_Spieler, "Level", "Name", GetName(playerid));
  389. SpielerInfo[playerid][ pAdminlevel ] = mysql_GetInt(Tabelle_Spieler, "Adminlevel", "Name", GetName(playerid));
  390. SpielerInfo[playerid][ pSkin ] = mysql_GetInt(Tabelle_Spieler, "Skin", "Name", GetName(playerid));
  391. SpielerInfo[playerid][ pGeld ] = mysql_GetInt(Tabelle_Spieler, "Geld", "Name", GetName(playerid));
  392. format(SpielerInfo[playerid][pRegDate ],32,"%s", mysql_GetString(Tabelle_Spieler, "Registrierungsdatum","Name", GetName(playerid)));
  393. //Sachen werden gegeben
  394. GivePlayerMoney(playerid, SpielerInfo[playerid][ pGeld ]);
  395. SetPlayerScore (playerid, SpielerInfo[playerid][ pLevel ]);
  396. SetPlayerSkin (playerid, SpielerInfo[playerid][ pSkin ]);
  397. }
  398. return 1;
  399. }
  400.  
  401. stock SavePlayer(playerid)
  402. {
  403. if(IsPlayerConnected(playerid))
  404. {
  405. SpielerInfo[playerid][ pGeld ] = GetPlayerMoney(playerid);
  406. SpielerInfo[playerid][ pLevel ] = GetPlayerScore(playerid);
  407. SpielerInfo[playerid][ pSkin ] = GetPlayerSkin(playerid);
  408. mysql_SetInt(Tabelle_Spieler, "Level", SpielerInfo[playerid][ pLevel ], "Name", GetName(playerid));
  409. mysql_SetInt(Tabelle_Spieler, "Adminlevel", SpielerInfo[playerid][ pAdminlevel ], "Name", GetName(playerid));
  410. mysql_SetInt(Tabelle_Spieler, "Skin", SpielerInfo[playerid][ pSkin ], "Name", GetName(playerid));
  411. mysql_SetInt(Tabelle_Spieler, "Geld", SpielerInfo[playerid][ pGeld ], "Name", GetName(playerid));
  412. mysql_SetString(Tabelle_Spieler, "Registrierungsdatum", SpielerInfo[playerid][ pRegDate ], "Name", GetName(playerid));
  413. }
  414. return 1;
  415. }
  416.  
  417. stock CreateAccount(playerid, passwort[])
  418. {
  419. new query[256],Name[MAX_PLAYER_NAME];
  420. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  421. mysql_real_escape_string(Name,Name);
  422. mysql_real_escape_string(passwort,passwort);
  423. format(query, sizeof(query), "INSERT INTO "Tabelle_Spieler" (Name, Passwort) VALUES ('%s', '%s')", Name, passwort);
  424. mysql_query(query);
  425. SetPlayerColor(playerid, Zivifarbe);
  426. SetPlayerSkin(playerid, SpielerInfo[playerid][ pSkin ]);
  427. mysql_SetInt(Tabelle_Spieler, "Level", Startlevel, "Name", GetName(playerid));
  428. mysql_SetInt(Tabelle_Spieler, "Adminlevel", 0, "Name", GetName(playerid));
  429. mysql_SetInt(Tabelle_Spieler, "Skin", (ZiviSkin[random(10)]), "Name", GetName(playerid));
  430. mysql_SetInt(Tabelle_Spieler, "Geld", Startgeld, "Name", GetName(playerid));
  431. //Registrierungsdatum
  432. new Datum[30];
  433. getdate(Jahr, Monat, Tag);gettime(Stunde,Minute);
  434. format(Datum, sizeof(Datum), "%d.%d.%d um %d:%d", Tag, Monat, Jahr, Stunde,Minute);
  435. SpielerInfo[playerid][pRegDate] = Datum;
  436. mysql_SetString(Tabelle_Spieler, "Registrierungsdatum", Datum, "Name", GetName(playerid));
  437. return 1;
  438. }
  439.  
  440. stock ConnectToDatabase()
  441. {
  442. mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  443. if(mysql_ping() == 1)
  444. {
  445. print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
  446. return 1;
  447. }
  448. else
  449. {
  450. print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  451. print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
  452. mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  453.  
  454. if(mysql_ping() == 1)
  455. {
  456. print("<-| [MYSQL] Es konnte beim 2 Versuch eine Verbindung hergestellt werden!");
  457. return 1;
  458. }
  459. else
  460. {
  461. print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  462. print("<-| [MYSQL] Der Server wird nun beendet!");
  463. SendRconCommand("exit");
  464. return 1;
  465. }
  466. }
  467. }
  468.  
  469. stock CheckAccount(playerid)
  470. {
  471. new Query[128], Name[MAX_PLAYER_NAME];
  472. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  473. mysql_real_escape_string(Name, Name);
  474. format(Query, sizeof(Query), "SELECT * FROM "Tabelle_Spieler" WHERE Name = '%s'", Name);
  475. mysql_query(Query);
  476. mysql_store_result();
  477. return mysql_num_rows();
  478. }
  479.  
  480. stock ReturnPasswort(Name[])
  481. {
  482. new query[128], Get[128];
  483. mysql_real_escape_string(Name, Name);
  484. format(query, 128, "SELECT Passwort FROM "Tabelle_Spieler" WHERE Name = '%s'", Name);
  485. mysql_query(query);
  486. mysql_store_result();
  487. mysql_fetch_row(Get);
  488. mysql_free_result();
  489. return Get;
  490. }
  491.  
  492. stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
  493. {
  494. new query[256];
  495. mysql_real_escape_string(Table, Table);
  496. mysql_real_escape_string(Field, Field);
  497. mysql_real_escape_string(Where, Where);
  498. mysql_real_escape_string(Where2, Where2);
  499. format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  500. mysql_query(query);
  501. return 1;
  502. }
  503.  
  504. stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
  505. {
  506. new query[256];
  507. mysql_real_escape_string(Table, Table);
  508. mysql_real_escape_string(Field, Field);
  509. mysql_real_escape_string(To, To);
  510. mysql_real_escape_string(Where, Where);
  511. mysql_real_escape_string(Where2, Where2);
  512. format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  513. mysql_query(query);
  514. return 1;
  515. }
  516.  
  517. stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
  518. {
  519. new query[256];
  520. mysql_real_escape_string(Table, Table);
  521. mysql_real_escape_string(Field, Field);
  522. mysql_real_escape_string(Where, Where);
  523. mysql_real_escape_string(Where2, Where2);
  524. format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  525. mysql_query(query);
  526. return 1;
  527. }
  528.  
  529. stock mysql_GetInt(Table[], Field[], Where[], Is[])
  530. {
  531. new query[128];
  532. mysql_real_escape_string(Table, Table);
  533. mysql_real_escape_string(Field, Field);
  534. mysql_real_escape_string(Where, Where);
  535. mysql_real_escape_string(Is, Is);
  536. format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  537. mysql_query(query);
  538. mysql_store_result();
  539. new sqlint = mysql_fetch_int();
  540. mysql_free_result();
  541. return sqlint;
  542. }
  543.  
  544. stock mysql_GetString(Table[], Field[], Where[], Is[])
  545. {
  546. new query[128], Get[128];
  547. mysql_real_escape_string(Table, Table);
  548. mysql_real_escape_string(Field, Field);
  549. mysql_real_escape_string(Where, Where);
  550. mysql_real_escape_string(Is, Is);
  551. format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  552. mysql_query(query);
  553. mysql_store_result();
  554. mysql_fetch_row(Get);
  555. return Get;
  556. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement