Guest User

Untitled

a guest
Nov 2nd, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.97 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 < ocmd >
  22.  
  23. /*===========================[ MySQL - Daten ]=================================*/
  24.  
  25. #define SQL_HOST "localhost"
  26. #define SQL_USER "root"
  27. #define SQL_PASS ""
  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 "[4YR] 4You Reallife"
  59. #define Scripter "Smiley"
  60. #define Mapper "Smiley"
  61. #define Version "0.1"
  62.  
  63. /*=========================== [ Client Einstellungen ] ========================*/
  64.  
  65. #define Hostname "4You Reallife" //Ändert den Servernamen im SA:MP Client
  66. #define GamemodeName "4YR 0.1" //Änder den Gamemode Namen SA:MP im Client
  67. #define Mapname "4YR" //Ä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 10 //Wie weit der Name und ID über spieler sein?
  75. #define MySQLLog 0 //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(""ServerName" <> wurde erfolgreich Geladen <> ");
  152. print(" ");
  153. print("Skripter: "Scripter" ");
  154. print("Mapper : "Mapper" ");
  155. print("Version : "Version" ");
  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, ""ServerName"");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. SetPlayerPos(playerid,2488.5435,-1460.0626,24.0180);
  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. /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=[ OnDialogResponse ]*=**=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
  306. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  307. {
  308. switch(dialogid)
  309. {
  310. //Registrations Vorgang
  311. case DG_REGISTER:
  312. {
  313. new query[128];
  314. if(!response) return Kick(playerid);
  315. if(!strlen(inputtext)) return ShowDialog(playerid, DG_REGISTER);
  316. else
  317. {
  318. CreateAccount(playerid, inputtext);
  319. 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);
  320. mysql_query(query); mysql_store_result();
  321. SetPlayerPos(playerid,2488.5435,-1460.0626,24.0180);
  322. Eingeloggt[playerid]=1;
  323. }
  324. }
  325. //Login Vorgang
  326. case DG_LOGIN:
  327. {
  328. if(!response) return Kick(playerid);
  329. if(!strlen(inputtext)) return ShowDialog(playerid, DG_LOGIN);
  330. {
  331. if(strcmp(inputtext, ReturnPasswort(GetName(playerid))) == 0)
  332. {
  333. TogglePlayerSpectating(playerid,0);
  334. SetPlayerInterior(playerid, 0);
  335. Eingeloggt[playerid]=1;
  336. LoadPlayer(playerid);
  337. SetPlayerPos(playerid,2488.5435,-1460.0626,24.0180);
  338. }
  339. else return ShowDialog(playerid, DG_LOGIN);
  340. }
  341. }
  342. }
  343. return 1;
  344. }
  345.  
  346. /*-------Spieler Name-----*/
  347. stock GetName(playerid)
  348. {
  349. new Name[MAX_PLAYER_NAME];
  350. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  351. return Name;
  352. }
  353.  
  354. /*-------ShowDialog(Verkürzung von ShowPlayerDialog)-----*/
  355. stock ShowDialog(playerid, dialogid)
  356. {
  357. switch(dialogid)
  358. {
  359. case DG_REGISTER:
  360. {
  361. new string[230];
  362. 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));
  363. ShowPlayerDialog(playerid, DG_REGISTER, DG_PASSWORD, ServerName, string, "Erstellen", "Abbrechen");
  364. }
  365. case DG_LOGIN:
  366. {
  367. new string[230];
  368. 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));
  369. ShowPlayerDialog(playerid, DG_LOGIN, DG_PASSWORD, ServerName, string, "Login", "Abbrechen");
  370. }
  371. }
  372. return 1;
  373. }
  374.  
  375. stock LoadPlayer(playerid)
  376. {
  377. if(IsPlayerConnected(playerid))
  378. {
  379. SpielerInfo[playerid][ pLevel] = mysql_GetInt(Tabelle_Spieler, "Level", "Name", GetName(playerid));
  380. SpielerInfo[playerid][ pAdminlevel] = mysql_GetInt(Tabelle_Spieler, "Adminlevel", "Name", GetName(playerid));
  381. SpielerInfo[playerid][ pSkin] = mysql_GetInt(Tabelle_Spieler, "Skin", "Name", GetName(playerid));
  382. SpielerInfo[playerid][ pGeld] = mysql_GetInt(Tabelle_Spieler, "Geld", "Name", GetName(playerid));
  383. format(SpielerInfo[playerid][pRegDate],32,"%s", mysql_GetString(Tabelle_Spieler, "Registrierungsdatum","Name", GetName(playerid)));
  384. //Sachen werden gegeben
  385. GivePlayerMoney(playerid, SpielerInfo[playerid][ pGeld ]);
  386. SetPlayerScore (playerid, SpielerInfo[playerid][ pLevel ]);
  387. SetPlayerSkin (playerid, SpielerInfo[playerid][ pSkin ]);
  388. }
  389. return 1;
  390. }
  391.  
  392. stock SavePlayer(playerid)
  393. {
  394. if(IsPlayerConnected(playerid))
  395. {
  396. SpielerInfo[playerid][ pGeld ] = GetPlayerMoney(playerid);
  397. SpielerInfo[playerid][ pLevel ] = GetPlayerScore(playerid);
  398. SpielerInfo[playerid][ pSkin ] = GetPlayerSkin(playerid);
  399. mysql_SetInt(Tabelle_Spieler, "Level", SpielerInfo[playerid][ pLevel ], "Name", GetName(playerid));
  400. mysql_SetInt(Tabelle_Spieler, "Adminlevel", SpielerInfo[playerid][ pAdminlevel ], "Name", GetName(playerid));
  401. mysql_SetInt(Tabelle_Spieler, "Skin", SpielerInfo[playerid][ pSkin ], "Name", GetName(playerid));
  402. mysql_SetInt(Tabelle_Spieler, "Geld", SpielerInfo[playerid][ pGeld ], "Name", GetName(playerid));
  403. mysql_SetString(Tabelle_Spieler, "Registrierungsdatum", SpielerInfo[playerid][ pRegDate ], "Name", GetName(playerid));
  404. }
  405. return 1;
  406. }
  407.  
  408. stock CreateAccount(playerid, passwort[])
  409. {
  410. new query[256],Name[MAX_PLAYER_NAME];
  411. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  412. mysql_real_escape_string(Name,Name);
  413. mysql_real_escape_string(passwort,passwort);
  414. format(query, sizeof(query), "INSERT INTO "Tabelle_Spieler" (Name, Passwort) VALUES ('%s', '%s')", Name, passwort);
  415. mysql_query(query);
  416. SetPlayerColor(playerid, Zivifarbe);
  417. SetPlayerSkin(playerid, SpielerInfo[playerid][ pSkin ]);
  418. mysql_SetInt(Tabelle_Spieler, "Level", Startlevel, "Name", GetName(playerid));
  419. mysql_SetInt(Tabelle_Spieler, "Adminlevel", 0, "Name", GetName(playerid));
  420. mysql_SetInt(Tabelle_Spieler, "Skin", (ZiviSkin[random(10)]), "Name", GetName(playerid));
  421. mysql_SetInt(Tabelle_Spieler, "Geld", Startgeld, "Name", GetName(playerid));
  422. //Registrierungsdatum
  423. new Datum[30];
  424. getdate(Jahr, Monat, Tag);gettime(Stunde,Minute);
  425. format(Datum, sizeof(Datum), "%d.%d.%d um %d:%d", Tag, Monat, Jahr, Stunde,Minute);
  426. SpielerInfo[playerid][pRegDate] = Datum;
  427. mysql_SetString(Tabelle_Spieler, "Registrierungsdatum", Datum, "Name", GetName(playerid));
  428. return 1;
  429. }
  430.  
  431. stock ConnectToDatabase()
  432. {
  433. mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  434. if(mysql_ping() == 1)
  435. {
  436. print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
  437. return 1;
  438. }
  439. else
  440. {
  441. print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  442. print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
  443. mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  444.  
  445. if(mysql_ping() == 1)
  446. {
  447. print("<-| [MYSQL] Es konnte beim 2 Versuch eine Verbindung hergestellt werden!");
  448. return 1;
  449. }
  450. else
  451. {
  452. print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  453. print("<-| [MYSQL] Der Server wird nun beendet!");
  454. SendRconCommand("exit");
  455. return 1;
  456. }
  457. }
  458. }
  459.  
  460. stock CheckAccount(playerid)
  461. {
  462. new Query[128], Name[MAX_PLAYER_NAME];
  463. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  464. mysql_real_escape_string(Name, Name);
  465. format(Query, sizeof(Query), "SELECT * FROM "Tabelle_Spieler" WHERE Name = '%s'", Name);
  466. mysql_query(Query);
  467. mysql_store_result();
  468. return mysql_num_rows();
  469. }
  470.  
  471. stock ReturnPasswort(Name[])
  472. {
  473. new query[128], Get[128];
  474. mysql_real_escape_string(Name, Name);
  475. format(query, 128, "SELECT Passwort FROM "Tabelle_Spieler" WHERE Name = '%s'", Name);
  476. mysql_query(query);
  477. mysql_store_result();
  478. mysql_fetch_row(Get);
  479. mysql_free_result();
  480. return Get;
  481. }
  482.  
  483. stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
  484. {
  485. new query[256];
  486. mysql_real_escape_string(Table, Table);
  487. mysql_real_escape_string(Field, Field);
  488. mysql_real_escape_string(Where, Where);
  489. mysql_real_escape_string(Where2, Where2);
  490. format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  491. mysql_query(query);
  492. return 1;
  493. }
  494.  
  495. stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
  496. {
  497. new query[256];
  498. mysql_real_escape_string(Table, Table);
  499. mysql_real_escape_string(Field, Field);
  500. mysql_real_escape_string(To, To);
  501. mysql_real_escape_string(Where, Where);
  502. mysql_real_escape_string(Where2, Where2);
  503. format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  504. mysql_query(query);
  505. return 1;
  506. }
  507.  
  508. stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
  509. {
  510. new query[256];
  511. mysql_real_escape_string(Table, Table);
  512. mysql_real_escape_string(Field, Field);
  513. mysql_real_escape_string(Where, Where);
  514. mysql_real_escape_string(Where2, Where2);
  515. format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  516. mysql_query(query);
  517. return 1;
  518. }
  519.  
  520. stock mysql_GetInt(Table[], Field[], Where[], Is[])
  521. {
  522. new query[128];
  523. mysql_real_escape_string(Table, Table);
  524. mysql_real_escape_string(Field, Field);
  525. mysql_real_escape_string(Where, Where);
  526. mysql_real_escape_string(Is, Is);
  527. format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  528. mysql_query(query);
  529. mysql_store_result();
  530. new sqlint = mysql_fetch_int();
  531. mysql_free_result();
  532. return sqlint;
  533. }
  534.  
  535. stock mysql_GetString(Table[], Field[], Where[], Is[])
  536. {
  537. new query[128], Get[128];
  538. mysql_real_escape_string(Table, Table);
  539. mysql_real_escape_string(Field, Field);
  540. mysql_real_escape_string(Where, Where);
  541. mysql_real_escape_string(Is, Is);
  542. format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  543. mysql_query(query);
  544. mysql_store_result();
  545. mysql_fetch_row(Get);
  546. return Get;
  547. }
Advertisement
Add Comment
Please, Sign In to add comment