Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.33 KB | None | 0 0
  1. #include <a_mysql>
  2. //============================
  3. #define SQL_HOST   "127.0.0.1"
  4. #define SQL_USER   "root"
  5. #define SQL_PASS   "db213"
  6. #define SQL_DATA   "samp_db"
  7. //============================
  8.  
  9. Function OnPlayerRequestClass(playerid, classid)
  10. {
  11. //  new string[250];
  12.     new playername[MAX_PLAYER_NAME];
  13.     GetPlayerName(playerid, playername, sizeof(playername));
  14.     if(IsPlayerNPC(playerid))
  15.     {
  16.         SpawnPlayer(playerid);
  17.         return 1;
  18.     }
  19.     PlayerPlaySound(playerid, 1176, 0.0, 0.0, 0.0);
  20.     PlayerInfo[playerid][pModel] = Peds[classid][0];
  21.     SetPlayerTeamFromClass(playerid,classid);
  22.     {
  23.         new string[120];
  24.         GetPlayerName(playerid, playername, sizeof(playername));
  25.         SendClientMessage(playerid, COLOR_CONNECT, "|___ WILLKOMMEN AUF DEM SERVER ___|");
  26.         if(GetPVarInt(playerid,"Eingeloggt") == 0)
  27.         {
  28.             if(mysql_CheckAccount(playerid) == 1)
  29.             {
  30.  
  31.                 SendClientMessage(playerid, COLOR_WHITE, "Dein Name wurde gefunden, bitte logg dich ein.");
  32.                 format(string,sizeof(string),"Willkommen auf dem Server!\nDein Account wurde in der Datenbank gefunden:\n \nName: %s\n \nDu kannst dich nun einloggen.",playername);
  33.                 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"German Life of Reality",string,"Einloggen","Abbrechen");
  34.  
  35.                 SetPlayerHealth(playerid,100);
  36.                 SetPlayerInterior(playerid, 0);
  37.                 SetPlayerVirtualWorld(playerid, 0);
  38.             }
  39.             else if(mysql_CheckAccount(playerid) == 0)
  40.             {
  41.                 SendClientMessage(playerid, COLOR_WHITE, "Dein Name wurde nicht gefunden, bitte registrier dich.");
  42.                 ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_MSGBOX,"Life of Reality - Willkommen","{FFFFFF}Willkommen auf {A5E200}Life of Reality{FFFFFF}.\nUm hier spielen zu können benötigst du einen Account.\n\nMöchtest du einen erstellen?","Erstellen","Abbrechen");
  43.  
  44.             }
  45.         }
  46.         InterpolateCameraPos(playerid, 1466.411743, -1305.122924, 334.888977, 1881.644042, -1442.338134, 155.319107, 60000);
  47.         InterpolateCameraLookAt(playerid, 1470.233276, -1305.162963, 331.664886, 1877.097900, -1440.350097, 155.935928, 60000);
  48.     }
  49.     return 1;
  50. }
  51. //==================================================== DIALOG: Login und Register
  52.     switch(dialogid)
  53.     {
  54.         case DIALOG_REG:
  55.         {
  56.             if(response)
  57.             {
  58.                 ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_INPUT,"Account anlegen","Bitte gib dein gewünschtes Passwort in das Feld ein:","Registrieren","Abbrechen");
  59.             }
  60.         }
  61.         case DIALOG_REG2:
  62.         {
  63.             if(response)
  64.             {
  65.                 if(strlen(inputtext) == 0)
  66.                 {
  67.                     ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurtz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
  68.                     return 1;
  69.                 }
  70.                 else
  71.                 {
  72.                     CreateAccount(playerid, inputtext);
  73.                     SetPVarInt(playerid,"Eingeloggt",1);
  74.                     SpawnPlayer(playerid);
  75.                     gPlayerLogged[playerid] = 1;
  76.                     return 1;
  77.                 }
  78.             }
  79.             else
  80.             {
  81.                 Kick(playerid);
  82.             }
  83.         }
  84.         case DIALOG_LOGIN:
  85.         {
  86.             if(response)
  87.             {
  88.                 if(strlen(inputtext) == 0)
  89.                 {
  90.                     ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
  91.                     return 1;
  92.                 }
  93.                 else
  94.                 {
  95.                     new SpielerName1[MAX_PLAYER_NAME];
  96.                     GetPlayerName(playerid, SpielerName1, MAX_PLAYER_NAME);
  97.                     if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName1), true))
  98.                     {
  99.                         SetPVarInt(playerid,"Eingeloggt",1);
  100.                         LoadPlayer(playerid);
  101.                         SpawnPlayer(playerid);
  102.                         gPlayerLogged[playerid] = 1;
  103.                         return 1;
  104.                     }
  105.                     else
  106.                     {
  107.                         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
  108.                         return 1;
  109.                     }
  110.                 }
  111.             }
  112.             else
  113.             {
  114.                 Kick(playerid);
  115.             }
  116.         }
  117.     }
  118. //====================================================
  119. stock Connect_To_Database()
  120. {
  121.     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.
  122.     if(mysql_ping() == 1) //Es wird überprüft ob die Verbindung steht.
  123.     {
  124.         //Falls ja wird das in die Console geschrieben und die Funktion wird beendet.
  125.         print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
  126.         return true;
  127.     }
  128.     else
  129.     {
  130.         //Falls nicht wird erneut versucht eine verbindung aufzubauen.
  131.         print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  132.         print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
  133.         mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  134.         if(mysql_ping() == 1)
  135.         {
  136.             print("<-| [MYSQL] Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
  137.             return true;
  138.         }
  139.         else
  140.         {
  141.             //Falls das auch nicht Funktioniert wird der Server zur Sicherheit wieder heruntergefahren.
  142.             print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  143.             print("<-| [MYSQL] Der Server wird nun beendet!");
  144.             SendRconCommand("exit");
  145.             return true;
  146.         }
  147.     }
  148. }
  149. stock mysql_CheckAccount(playerid)
  150. {
  151.     new Query[128],Name[MAX_PLAYER_NAME],count;
  152.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  153.     mysql_real_escape_string(Name, Name);
  154.     format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name);
  155.     mysql_query(Query);
  156.     mysql_store_result();
  157.     count = mysql_num_rows();
  158.     mysql_free_result();
  159.     return count;
  160. }
  161. stock CreateAccount(playerid, pass[])
  162. {
  163.     new query[256],Name[MAX_PLAYER_NAME];
  164.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  165.     mysql_real_escape_string(Name,Name);
  166.     mysql_real_escape_string(pass,pass);
  167.     format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, pass);
  168.     mysql_query(query);
  169.     return true;
  170. }
  171. stock mysql_ReturnPasswort(Name[])
  172. {
  173.     new query[130], Get[130];
  174.     mysql_real_escape_string(Name, Name);
  175.     format(query, 128, "SELECT `passwort` FROM `accounts` WHERE `Name` = '%s'", Name);
  176.     mysql_query(query);
  177.     mysql_store_result();
  178.     mysql_fetch_row(Get);
  179.     mysql_free_result();
  180.     return Get;
  181. }
  182. stock LoadPlayer(playerid)
  183. {
  184.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  185.     {
  186.         GetPlayerName(playerid, PlayerInfo[playerid][pSpieler], MAX_PLAYER_NAME);
  187.         PlayerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", PlayerInfo[playerid][pSpieler]);
  188.     }
  189.     return 1;
  190. }
  191. stock SavePlayer(playerid)
  192. {
  193.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  194.     {
  195.         if(GetPVarInt(playerid,"Eingeloggt") == 1)
  196.         {
  197.             mysql_SetInt("accounts", "Level", PlayerInfo[playerid][pLevel], "Name", PlayerInfo[playerid][pSpieler]);
  198.         }
  199.     }
  200.     return 1;
  201. }
  202. stock mysql_GetString(Table[], Field[], Where[], Is[])
  203. {
  204.     new query[128], Get[128];
  205.     mysql_real_escape_string(Table, Table);
  206.     mysql_real_escape_string(Field, Field);
  207.     mysql_real_escape_string(Where, Where);
  208.     mysql_real_escape_string(Is, Is);
  209.     format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
  210.     mysql_query(query);
  211.     mysql_store_result();
  212.     mysql_fetch_row(Get);
  213.     mysql_free_result();
  214.     return Get;
  215. }
  216. stock mysql_GetInt(Table[], Field[], Where[], Is[])
  217. {
  218.     new query[128];
  219.     mysql_real_escape_string(Table, Table);
  220.     mysql_real_escape_string(Field, Field);
  221.     mysql_real_escape_string(Where, Where);
  222.     mysql_real_escape_string(Is, Is);
  223.     format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
  224.     mysql_query(query);
  225.     mysql_store_result();
  226.     new sqlint = mysql_fetch_int();
  227.     mysql_free_result();
  228.     return sqlint;
  229. }
  230. stock mysql_GetFloat(Table[], Field[], Where[], Is[])
  231. {
  232.     new query[128], Float:sqlfloat;
  233.     mysql_real_escape_string(Table, Table);
  234.     mysql_real_escape_string(Field, Field);
  235.     mysql_real_escape_string(Where, Where);
  236.     mysql_real_escape_string(Is, Is);
  237.     format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
  238.     mysql_query(query);
  239.     mysql_store_result();
  240.     mysql_fetch_float(sqlfloat);
  241.     mysql_free_result();
  242.     return sqlfloat;
  243. }
  244. stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
  245. {
  246.     new query[128];
  247.     mysql_real_escape_string(Table, Table);
  248.     mysql_real_escape_string(Field, Field);
  249.     mysql_real_escape_string(Where, Where);
  250.     mysql_real_escape_string(Where2, Where2);
  251.     format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
  252.     mysql_query(query);
  253.     return true;
  254. }
  255. stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
  256. {
  257.     new query[128];
  258.     mysql_real_escape_string(Table, Table);
  259.     mysql_real_escape_string(Field, Field);
  260.     mysql_real_escape_string(To, To);
  261.     mysql_real_escape_string(Where, Where);
  262.     mysql_real_escape_string(Where2, Where2);
  263.     format(query, 128, "UPDATE `%s` SET `%s` = '%s' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
  264.     mysql_query(query);
  265.     return true;
  266. }
  267. stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
  268. {
  269.     new query[128];
  270.     mysql_real_escape_string(Table, Table);
  271.     mysql_real_escape_string(Field, Field);
  272.     mysql_real_escape_string(Where, Where);
  273.     mysql_real_escape_string(Where2, Where2);
  274.     format(query, 128, "UPDATE `%s` SET `%s` = '%f' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
  275.     mysql_query(query);
  276.     return true;
  277. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement