Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Copyright by fair, MySQL Tutorial by Maddin.
- Dieser Kopfbereich darf nicht editiert werden das Werk steht unter eine CC Lizenz von FairNet-Works.
- Changelog:
- - Arbeit weitgehend mit Dialogen
- - MySQL
- - in den Settings alles editierbar
- Weitere Versionen folgen.... (c) by Deuce
- */
- /*Includes*/
- #include <a_samp>
- #include <a_mysql>
- #include <ocmd>
- #include <sscanf2>
- /*Settings*/
- #define SQL_HOST "localhost"
- #define SQL_USER "root"
- #define SQL_PASS ""
- #define SQL_DATA "samp_db"
- /*Settings für /hilfe*/
- #define NORMALEBEFEHLE "Fraktionsbefehle\n-\t/f - {FF0000}Fraktionschat"
- #define ADMINBEFEHLE "Adminbefehle\n\n{FF0000}-\t{FAFAFA}/makeleader - {FF0000}Leader\n-\t{FAFAFA}/makeadmin - {FF0000}Adminrang\n-\t{FAFAFA}/kick - {FF0000}Spieler kicken\n-\t{FAFAFA}/ban - {FF0000}Spieler bannen\n-\t{FAFAFA}/a - {FF0000}Adminchat\n\n{FAFAFA}Fraktionsbefehle\n\n-\t{FAFAFA}/f - {FF0000}Fraktionschat"
- /*Dialoge*/
- #define DIALOG_REGISTER (0)
- #define DIALOG_LOGIN (1)
- #define DIALOG_PROFIL (2)
- /*Farben*/
- #define Rot 0xEB0000FF
- #define Grun 0x23FF00FF
- #define Weiss 0xF0FFFFFF
- /*Define*/
- #define gmname "Blank v0.1"
- #define mapname "mapname San Andreas"
- #define url "url sa-mp.net"
- /*Global Definitionen*/
- new Handschellen;
- new Text:Copy;
- new GetNamee[MAX_PLAYER_NAME];
- enum SpielerDaten
- {
- pName[MAX_PLAYER_NAME],
- pLevel,
- pGeld,
- pKills,
- pTode,
- Float:pHealth,
- pRang,
- pMember,
- pLeader,
- bank_geld,
- filmgehabt
- }
- new SpielerInfo[MAX_PLAYERS][SpielerDaten];
- /*Consoleoutput*/
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by fair");
- print("----------------------------------\n");
- }
- /*Callback GI*/
- public OnGameModeInit()
- {
- /*Textdraws*/
- Copy = TextDrawCreate(14.000000,431.000000,"Basis by fair");
- TextDrawUseBox(Copy,1);
- TextDrawBoxColor(Copy,0xffffff33);
- TextDrawTextSize(Copy,210.000000,14.000000);
- TextDrawAlignment(Copy,0);
- TextDrawBackgroundColor(Copy,0x00000033);
- TextDrawFont(Copy,2);
- TextDrawLetterSize(Copy,0.499999,0.800000);
- TextDrawColor(Copy,0xffffff66);
- TextDrawSetOutline(Copy,1);
- TextDrawSetProportional(Copy,1);
- TextDrawSetShadow(Copy,2);
- /*Weitere Settings*/
- SetGameModeText(gmname);
- SendRconCommand(mapname);
- SendRconCommand(url);
- Connect_To_Database();
- mysql_debug(1);
- SetGameModeText("Blank v1.0 | fair");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- /*Callback GE*/
- public OnGameModeExit()
- {
- return 1;
- }
- /*Callback RC*/
- public OnPlayerRequestClass(playerid, classid)
- {
- if(GetPVarInt(playerid,"Eingeloggt") == 0) //Als erstes fragen wir ab ob der Spieler schon eingeloggt ist oder nicht, damit wir nicht bei jeder Skin Auswahl uns neu Einloggen müssen.
- {
- if(mysql_CheckAccount(playerid) == 0)//Wir überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
- {
- SendClientMessage(playerid, 0xFFFFFFFF,"________-> [NAME] heißt dich Willkommen <-________");
- SendClientMessage(playerid, 0xFFFFFFFF,"Die Datenbank vermiss dich, registriere dich bitte!");
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Dein Passwort soll lauten?:","Registrieren","Verlassen");
- }
- else if(mysql_CheckAccount(playerid) == 1)//Falls doch zeigen wir den Dialog zum Einloggen.
- {
- SendClientMessage(playerid, 0xFFFFFFFF,"________-> [NAME] heißt dich Willkommen <-________");
- SendClientMessage(playerid, 0xFFFFFFFF,"Schön dich wieder zu sehen, melde dich nun wieder an!");
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Anmeldung","Bitte gib dein Passwort ein:","Anmelden","Verlassen");
- }
- }
- return 1;
- }
- /*Callback CO*/
- public OnPlayerConnect(playerid)
- {
- TextDrawShowForPlayer(playerid, Copy);
- return 1;
- }
- /*Callback DCO*/
- public OnPlayerDisconnect(playerid, reason)
- {
- SavePlayer(playerid);
- DeletePVar(playerid,"Eingeloggt");
- return 1;
- }
- /*Callback SP*/
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- /*Callback DT*/
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- /*Callback VSP*/
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- /*Callback VDT*/
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- /*Callback PT*/
- public OnPlayerText(playerid, text[])
- {
- return 0;
- }
- /*Callback CMD*/
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- return 0;
- }
- /*Callback EV*/
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- /*Callback EV*/
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- /*Callback SC*/
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- /*Callback EC*/
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- /*Callback LC*/
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- /*Callback ERC*/
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- /*Callback LRC*/
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- /*Callback RCON*/
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- /*Callback RSP*/
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- /*Callback OBM*/
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- /*Callback DR*/
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_REGISTER:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
- {
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Dein Passwort ist zu Kurz..\nBitte gib ein neues Passwort ein:","Registrieren","Verlassen");
- return 1;
- }
- else
- {
- CreateAccount(playerid, inputtext); //Account wird erstellt
- SetPVarInt(playerid,"Eingeloggt",1); //Die variable wird auf 1 gesetzt, damit wir nun die Skin Auswahl benutzen können ohne wieder nach unserem Passwort gefragt zu werden.
- SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
- return 1;
- }
- }
- else
- {
- Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
- }
- }
- case DIALOG_LOGIN:
- {
- if(response)
- {
- if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Anmeldung","Das angegebene Passwort ist Falsch..\nBitte wiederhole den Vorgang erneut:","Anmelden","Verlassen");
- return 1;
- }
- else
- {
- new SpielerName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
- if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true)) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
- {
- SetPVarInt(playerid,"Eingeloggt",1); //Falls beide passwörter übereinstimmen wird die Variable auf 1 gesetzt damit wir die Skin auswahl benutzen können.
- LoadPlayer(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
- SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
- return 1;
- }
- else
- {
- //Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Anmeldung","Falsches Passwort.\nBitte melde dich jetzt mit dem richtigen Passwort an:","Anmelden","Verlassen");
- return 1;
- }
- }
- }
- else
- {
- Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- //===== OCMD =====
- /*Admincommands*/
- ocmd:veh(playerid,params[])
- {
- new ModelID, color[2],Float:VehPos[4], vehicleid;
- if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,0xB0AFB0FF,"Du bist nicht zu Fuss");
- if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SendClientMessage(playerid,0xB0AFB0FF, "/veh [vehicleid] [color1] [color2]");
- if(ModelID < 400 || ModelID > 611) return SendClientMessage(playerid,0xB0AFB0FF, "Die Fahrzeug Id muss von 400 bis 611 sein");
- if(color[0] < 0 || color[0] > 126 || color[1] < 0 || color[1] > 200) return SendClientMessage(playerid,0xB0AFB0FF, "Falsche Farben 0 - 126");
- if(IstAdmin(playerid))
- {
- GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
- GetPlayerFacingAngle(playerid, VehPos[3]);
- vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
- LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
- PutPlayerInVehicle(playerid, vehicleid, 0);
- }
- else return SendClientMessage(playerid, 0xB0AFB0FF, "Du bist ein Noob Admin");
- return 1;
- }
- ocmd:hilfe(playerid, params[])
- {
- if(IstAdmin(playerid)) {
- ShowPlayerDialog(playerid,1000,DIALOG_STYLE_MSGBOX,"Befehle",ADMINBEFEHLE,"Close","");}
- else if(!IstAdmin(playerid)) {
- ShowPlayerDialog(playerid,1001,DIALOG_STYLE_MSGBOX,"Befehle",NORMALEBEFEHLE,"Close","");}
- return 1;
- }
- ocmd:makeleader(playerid, params[])
- {
- if(IstAdmin(playerid)){
- new pID, Frak, Fraktion[100], Rang, string[60];
- if(sscanf(params, "dddd", pID, Frak, Rang)) return SendClientMessage(playerid, Rot, "Benutze: /makeleader [Playerid] [Fraktion] [Rang]");
- switch(Frak)
- {
- case 1: Fraktion = "Polizei";
- case 2: Fraktion = "KriPo";
- case 3: Fraktion = "Medic";
- case 4: Fraktion = "O-Amt";
- case 5: Fraktion = "Yakuza";
- case 6: Fraktion = "La Cosa Nostra";
- case 7: Fraktion = "Russische Mafia";
- case 8: Fraktion = "CripZ";
- case 9: Fraktion = "BloodZ";
- case 10: Fraktion = "Vagos";
- }
- format(string, sizeof(string), " %s {4D8CE3}wurde zum Leiter der {FF0000}%s {4D8CE3}ernannt, Rang: {FF0000}%d", getName(pID), Fraktion, Rang);
- SendAdminMessageRang(Rot,1338,string);
- SpielerInfo[playerid][pMember] = Frak;
- SpielerInfo[playerid][pLeader] = Frak;
- SpielerInfo[playerid][pRang] = Rang;}
- return 1;
- }
- ocmd:makeadmin(playerid, params[])
- {
- if(IstAdmin(playerid)){
- new pID, Level, string[60];
- if(sscanf(params, "dd", pID, Level)) return SendClientMessage(playerid, Rot, "Benutze: /makeadmin [Playerid] [Level]");
- format(string, sizeof(string), " %s {4D8CE3}wurde zum Admin ernannt, Level: {FF0000}%d", getName(pID), Level);
- SendAdminMessageRang(Rot,1338,string);
- SpielerInfo[playerid][pLevel] = Level;}
- return 1;
- }
- ocmd:kick(playerid, params[])
- {
- if(IstAdmin(playerid)){
- new pID, Grund[50], string[60], stringa[60];
- if(sscanf(params, "ds", pID, Grund)) return SendClientMessage(playerid, Rot, "Benutze: /kick [Playerid] [Grund]");
- format(stringa, sizeof(stringa), "ADM: %s {FAFAFA}wurde gebannt, Grund: {FF0000}%s", getName(pID), Grund);
- format(string, sizeof(string), " %s {FAFAFA}wurde gebannt, Grund: {FF0000}%s", getName(pID), Grund);
- SendAdminMessageRang(Rot,1338,stringa);
- SendClientMessageToAll(Rot, string);
- Kick(pID);}
- return 1;
- }
- ocmd:ban(playerid, params[])
- {
- if(IstAdmin(playerid)){
- new pID, Grund[50], string[60], stringa[60];
- if(sscanf(params, "ds", pID, Grund)) return SendClientMessage(playerid, Rot, "Benutze: /ban [Playerid] [Grund]");
- format(stringa, sizeof(stringa), "ADM: %s {FAFAFA}wurde gebannt, Grund: {FF0000}%s", getName(pID), Grund);
- format(string, sizeof(string), " %s {FAFAFA}wurde gebannt, Grund: {FF0000}%s", getName(pID), Grund);
- SendAdminMessageRang(Rot,1338,stringa);
- SendClientMessageToAll(Rot, string);
- Ban(pID);}
- return 1;
- }
- ocmd:a(playerid, params[])
- {
- new text[128],Rang[54];
- if(sscanf(params, "s", text))
- return SendClientMessage(playerid, Rot, "Benutzung: /a [Text]");
- if(IstAdmin(playerid))
- {
- switch(SpielerInfo[playerid][pLevel])
- {
- case 1: Rang = "Supporter";
- case 2: Rang = "Moderator";
- case 3: Rang = "Supermoderator";
- case 4: Rang = "Administrator";
- case 5: Rang = "Kon-Administrator";
- case 6: Rang = "Techniker";
- case 7: Rang = "Servermanager";
- case 8: Rang = "Kon-Serverleiter";
- case 9: Rang = "Serverleiter";
- case 1338: Rang = "Scripter";
- }
- }
- format(text, sizeof text, "((%s %s: {FAFAFA}%s ))", Rang, getName(playerid), text);
- SendAdminMessageRang(Grun,1338,text);
- return 1;
- }
- /*Jobcommands*/
- ocmd:cuff(playerid, params[])
- {
- if(SpielerInfo[playerid][pMember] == 1 || SpielerInfo[playerid][pMember] == 2)
- {
- new pID, bool:handschellen[MAX_PLAYERS], Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- if(sscanf(params, "d", pID)) return SendClientMessage(playerid, Rot, "Verwende: /cuff [PlayerID] (Muss in der nähe sein)");
- if(IsPlayerInRangeOfPoint(pID, 2.0, x,y,z)){
- if(handschellen[pID] == true)
- {
- handschellen[pID] = false;
- SetPlayerSpecialAction(pID,24);
- Handschellen = SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
- }
- else if(handschellen[pID] == false)
- {
- handschellen[pID] = true;
- RemovePlayerAttachedObject(pID, Handschellen);
- }
- }}
- return 1;
- }
- ocmd:f(playerid, params[])
- {
- if(SpielerInfo[playerid][pMember] > 0)
- {
- new text[128],Rang[54];
- if(sscanf(params, "s", text))
- return SendClientMessage(playerid, Rot, "Benutzung: /f [Text]");
- if(SpielerInfo[playerid][pMember] == 1)
- {
- switch(SpielerInfo[playerid][pRang])
- {
- case 1: Rang = "1";
- case 2: Rang = "2";
- case 3: Rang = "3";
- case 4: Rang = "4";
- case 5: Rang = "5";
- case 6: Rang = "6";
- case 7: Rang = "7";
- case 8: Rang = "8";
- case 9: Rang = "9";
- case 10: Rang = "10";
- }
- }
- format(text, sizeof text, "((%s %s: %s ))", Rang, getName(playerid), text);
- for(new i; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i))
- if(InFrak(i, SpielerInfo[playerid][pMember]))//Nur die Frak, wo man drinnen ist
- SendClientMessage(i,Grun, text);
- }
- }
- return 1;
- }
- /*Normale Befehle*/
- ocmd:verhandlung(playerid, params[])
- {
- if(SpielerInfo[playerid][filmgehabt] == 1)
- {
- Film(playerid);
- }
- else if(SpielerInfo[playerid][filmgehabt] == 0)
- {
- Filmende(playerid);
- }
- return 1;
- }
- ocmd:ausweis(playerid,params)
- {
- profile(playerid);
- return 1;
- }
- stock profile(playerid){
- new Name[MAX_PLAYER_NAME], Bankgeld = SpielerInfo[playerid][bank_geld], Geld = GetPlayerMoney(playerid), Score = GetPlayerScore(playerid),
- string1[156],string2[156],string3[156],string4[156],string5[156],string6[56],string7[56],string8[56],string9[56],string10[56],string11[56],string12[56],string13[56],string14[56],rest[200];
- GetPlayerName(playerid,Name,sizeof Name);
- format(string2, sizeof string2, "[Allgemeines]");
- format(string3, sizeof(string3), "{FAFAFA}Name: \t%s\nLevel: \t%d\nGeld: \t{E63576}%d {24AD40}${FAFAFA}", Name,Score,Geld);
- format(string4, sizeof(string4), "Bankgeld: \t{E63576}%d {24AD40}${FAFAFA}\nBeruf: \t%s\nRang: \t%s",Bankgeld,GetTeamStr(SpielerInfo[playerid][pMember]),GetRang(SpielerInfo[playerid][pRang]));
- format(rest, sizeof rest, "%s\n\n\n%s\n%s\n%s\n%s\n\n%s\n%s\n%s\n\n%s\n%s\n\n%s\n%s\n%s\n%s", string1,string2,string3,string4,string5,string6,string7,string8,string9,string10,string11,string12,string13,string14);
- ShowPlayerDialog(playerid,DIALOG_PROFIL, DIALOG_STYLE_MSGBOX, "{F22C7E}Statistik{FFFFFF}", rest, "Weiter", "Weiter");
- return 1;
- }
- stock GetRang(sRang)
- {
- new teamstr[20];
- switch(sRang)
- {
- case 0:teamstr = "Neuling";
- case 1:teamstr = "Anfaenger";
- case 2:teamstr = "Fortgeschrittener";
- case 3:teamstr = "Ausbilder";
- case 4:teamstr = "Stellv. Leiter";
- case 5:teamstr = "Leitung";
- case 6:teamstr = "Godfather";
- }
- return teamstr;
- }
- stock GetTeamStr(Teamid)
- {
- new tstr[25];
- switch(Teamid)
- {
- case 0:tstr = "Zivilist";
- case 1: tstr = "Polizei";
- case 2: tstr = "KriPo";
- case 3: tstr = "Medic";
- case 4: tstr = "O-Amt";
- case 5: tstr = "Yakuza";
- case 6: tstr = "La Cosa Nostra";
- case 7: tstr = "Russische Mafia";
- case 8: tstr = "CripZ";
- case 9: tstr = "BloodZ";
- case 10: tstr = "Vagos";
- }
- return tstr;
- }
- stock Film(playerid)
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- InterpolateCameraPos(playerid, x, y, z, x+5, y+20, z+5, 5000, CAMERA_CUT);
- SpielerInfo[playerid][filmgehabt] = 0;
- return 1;
- }
- stock Filmende(playerid)
- {
- SpielerInfo[playerid][filmgehabt] = 1;
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- stock Connect_To_Database()
- {
- mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS); //Wir versuchen mit den Angaben die wir oben im Script gemacht haben uns mit dem MySQL Server zu verbinden.
- if(mysql_ping() == 1) //Es wird überprüft ob die Verbindung steht.
- {
- //Falls ja wird das in die Console geschrieben und die Funktion wird beendet.
- print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
- return true;
- }
- else
- {
- //Falls nicht wird erneut versucht eine Verbindung aufzubauen.
- print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
- print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
- mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
- if(mysql_ping() == 1)
- {
- print("<-| [MYSQL] Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
- return true;
- }
- else
- {
- //Falls das auch nicht Funktioniert wird der Server zur Sicherheit wieder heruntergefahren.
- print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
- print("<-| [MYSQL] Der Server wird nun beendet!");
- SendRconCommand("exit");
- return true;
- }
- }
- }
- stock mysql_CheckAccount(playerid)
- {
- new Query[128],Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- mysql_real_escape_string(Name, Name);
- format(Query, sizeof(Query), "SELECT * FROM accounts WHERE Name = '%s'", Name);
- mysql_query(Query);
- mysql_store_result();
- return mysql_num_rows();
- }
- stock CreateAccount(playerid, pass[])
- {
- new query[256],Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
- mysql_real_escape_string(Name,Name);
- mysql_real_escape_string(pass,pass);
- format(query, sizeof(query), "INSERT INTO accounts (Name, Passwort) VALUES ('%s', '%s')", Name, pass);
- mysql_query(query);
- return true;
- }
- stock mysql_ReturnPasswort(Name[])
- {
- new query[130], Get[130];
- mysql_real_escape_string(Name, Name);
- format(query, 128, "SELECT passwort FROM accounts WHERE Name = '%s'", Name);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row(Get);
- mysql_free_result();
- return Get;
- }
- stock LoadPlayer(playerid)
- {
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
- {
- GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
- SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
- SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Geld" eingetragen ist und Speichern ihn in unserer Variable.
- SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Kills" eingetragen ist und Speichern ihn in unserer Variable.
- SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Tode" eingetragen ist und Speichern ihn in unserer Variable.
- SpielerInfo[playerid][pRang] = mysql_GetInt("accounts", "Rang", "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pMember] = mysql_GetInt("accounts", "Member", "Name", SpielerInfo[playerid][pName]);
- SpielerInfo[playerid][pLeader] = mysql_GetInt("accounts", "Leader", "Name", SpielerInfo[playerid][pName]);
- }
- return 1;
- }
- stock mysql_GetInt(Table[], Field[], Where[], Is[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- new sqlint = mysql_fetch_int();
- mysql_free_result();
- return sqlint;
- }
- stock SavePlayer(playerid)
- {
- if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
- {
- if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
- {
- //Nun speichern wir die Daten in der Datenbank.
- mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
- mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Rang", SpielerInfo[playerid][pRang], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Member", SpielerInfo[playerid][pMember], "Name", SpielerInfo[playerid][pName]);
- mysql_SetInt("accounts", "Leader", SpielerInfo[playerid][pLeader], "Name", SpielerInfo[playerid][pName]);
- }
- }
- return 1;
- }
- stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
- stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(To, To);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
- stock mysql_GetString(Table[], Field[], Where[], Is[])
- {
- new query[128], Get[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row(Get);
- mysql_free_result();
- return Get;
- }
- stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
- {
- new query[128];
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Where2, Where2);
- format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
- mysql_query(query);
- return true;
- }
- stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
- {
- new query[128], Float:sqlfloat;
- mysql_real_escape_string(Table, Table);
- mysql_real_escape_string(Field, Field);
- mysql_real_escape_string(Where, Where);
- mysql_real_escape_string(Is, Is);
- format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_float(sqlfloat);
- mysql_free_result();
- return sqlfloat;
- }
- stock GetNearHausID(playerid)
- {
- new Float:x,
- Float:y,
- Float:z,
- WhichID;
- GetPlayerPos(playerid, x, y, z); // "gette" x, y, z - Koordinate an denen der Spieler sich befindet
- for(new hWhich; hWhich < MaxHaus; hWhich++) //Durchlaufe alle Häuser
- if(IsPlayerInRangeOfPoint(playerid, 3.0, Haus[hWhich][hX], Haus[hWhich][hY], Haus[hWhich][hZ])) //bis du ein Haus findest was im Radius von 3.0 steht
- WhichID = hWhich;
- return WhichID; //und returne dann das gefundene Haus
- }
- stock SendAdminMessageRang(farbe,level,const string[]) { // Müsste klar sein, ist die Vorgehensweise (definiert)
- level = 1338;
- for(new i = 0; i < MAX_PLAYERS; i++) { //eine Schleife zum Abfragen der Spieler :D
- if (SpielerInfo[i][pLevel] >= level) {//Die meisten Selfmades Variablen, sendet Nachricht an den angegebenen Rang..
- SendClientMessage(i, farbe, string); // Sendet String...
- } }
- return 1; }
- stock InFrak(pid, frak)
- {
- if(SpielerInfo[pid][pMember] == frak || SpielerInfo[pid][pMember] == frak) return SendClientMessage(pid, Rot, "");
- return 1;
- }
- stock IstAdmin(pid)
- {
- if(SpielerInfo[pid][pLevel] >= 1338 || !IsPlayerAdmin(pid)) return SendClientMessage(pid, Rot, "");
- return 0;
- }
- stock getName(playerid)
- {
- GetPlayerName(playerid,GetNamee,sizeof(GetNamee));
- return GetNamee;
- }
- stock GivePlayerHealth(playerid,Float:Health)
- {
- new Float:health;
- GetPlayerHealth(playerid,health);
- SetPlayerHealth(playerid,health+Health);
- return 1;
- }
- stock GivePlayerArmour(playerid,Float:Armour)
- {
- new Float:armour;
- GetPlayerArmour(playerid,armour);
- SetPlayerArmour(playerid,armour+Armour);
- return 1;
- }
- GetPlayerID(playername[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i) || !strcmp(GetPlayerNameEx(i),playername,false)) continue;
- return i;
- }
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement