Advertisement
CMatus

[PAWN] - UKLADANIE - File.inc

Feb 14th, 2016
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 12.29 KB | None | 0 0
  1. /*                                                                                                                                                                                                
  2.   *----------------------------------------------------|              |---------------------------------------------------------*
  3. |                              AUTOR  : CMatus         |              | AUTHOR  : CMatus                                        |
  4. |                                                      |              |                                                         |
  5. |                       POĎAKOVANIE   : Tango          |              | THANKS  : Tango                                         |
  6. |                                                      |              |                                                         |
  7. |                                ROK  : 2016           |              | YEAR    : 2016                                          |
  8. |                             VERZIA  : 1.5            |              | VERSION : 1.5                                           |
  9. |                             PODPORA : SA:MP 0.3.7    |              | SUPPORT : SA:MP 0.3.7                                   |
  10.   *-----------------------------------------------------------------------------------------------------------------------------*
  11.                                                        dOOOOOOOOOOOOOOb        
  12.                                                         dOOOOOOOOOOOOb
  13.                                                          dOOOOOOOOOOb
  14.                                                           dOOOOOOOOb
  15.                                                            dOOOOOOb
  16.                                                             dOOOOb
  17.                                                              dOOb
  18.                                                               OO              
  19.   *-------------------------------------------------*___________________________*-----------------------------------------------*
  20. |                                                  [LICENČNÉ A ZMLUVNÉ PODMIENKY]                                               |
  21. | 1.) Matúš Čerňava poskytuje produk na stránke pastebin.com za podmienok tak ako je ustanovené nižšie.                         |
  22. |                                                                                                                               |
  23. |                                                                                                                               |
  24. |    " POUŽÍVATEĽOM KÓDU " sa rozumie ako fyzická alebo právnická osoba, ktorá uskutočnila stiahnutie/prevziatie produktu,      |
  25. |    respektíve používa kód tvorcu.                                                                                             |
  26. |                                                                                                                               |                                                                                                                                                  
  27. |    Pokiaľ je používateľom kódu právnická, či fyzická osoba, ktorá stiahla/prevzala kód, respektíve používa kód                |
  28. |    pre osobné potreby, alebo pre potrebu majiteľov iných serverov, sa musia riadiť Smernicou Európskeho parlamentu a Rady     |
  29. |    2004/48/ES z 29. apríla 2004 o vymožiteľnosti práv duševného vlastníctva (Mimoriadne vydanie Ú. v. EÚ,                     |
  30. |    kap. 17/zv. 2, Ú. v. EÚ L 157, 30. 4. 2004).                                                                               |
  31. *-------------------------------------------------------------------------------------------------------------------------------*
  32. |                                                 [PRÁVA POUŽÍVATEĽA KÓDU]                                                      |
  33. |   1.) Fyzická alebo právnická osoba môže využívať a poskytovať kód ostatným užívateľom za podmienok súhlasu s licenčnou       |
  34. |       zmluvou.                                                                                                                |
  35. |   2.) Užívateľ kódu dostáva plný prístup k funkciám kódu, avšak používateľ kódu, nemôže meniť meno autora kódu v zmysle       |
  36. |       paragrafu § 17 Autorský zákon prijatý 1.Januára                                                                         |
  37. |   4.) Ustanovenie Autorského zákona sa vzťahuje na toto dielo, v zmysle paragrafu § 2 odstavec 1 a 2, je toto dielo chránené  |
  38. |       Slovenským autorským zákonom platný vo všetkých krajinách.                                                              |
  39. |                                                                                                                               |
  40. *-------------------------------------------------------------------------------------------------------------------------------*
  41. */
  42. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  43. #include <a_samp>                           // https://www.sa-mp.com/
  44. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  45. #define FolderPlayer "DATABAZA/%s.txt"
  46.  
  47. #define D_REG   0
  48. #define D_LOG   1
  49. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  50. native WP_Hash(buffer[], len, const str[]); // http://forum.sa-mp.com/showthread.php?t=570945
  51. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  52.    
  53. // REGISTER VARIABLE
  54. new
  55.     Pass           [MAX_PLAYERS],
  56.     Skin           [MAX_PLAYERS],
  57.     Kill           [MAX_PLAYERS],
  58.     Death          [MAX_PLAYERS],
  59.     Wanted         [MAX_PLAYERS],
  60.     Administration [MAX_PLAYERS];
  61.  
  62. // CONTROL VARIABLE
  63. new
  64.     C_Login        [MAX_PLAYERS];
  65. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  66. public OnPlayerConnect(playerid){
  67.    
  68.     C_Login        [playerid] =
  69.  
  70.     Pass           [playerid] =
  71.     Kill           [playerid] =
  72.     Death          [playerid] =
  73.     Wanted         [playerid] =
  74.     Administration [playerid] = 0;
  75.  
  76.     new
  77.         string[39];
  78.    
  79.     format(string, sizeof(string),FolderPlayer,PlayerName(playerid));
  80.    
  81.     if(fexist(string)){
  82.         ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT,
  83.             "Prihlásenie",
  84.                 "Prosím zadajte vaše heslo s ktorým ste sa zaregistrovali na server",
  85.             "potvrdiť", "zavrieť");
  86.     }
  87.     else{
  88.         ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT,
  89.             "Registrácia",
  90.                 "Prosím zadajte heslo s ktorým sa prihlásite na server. Heslo musí byť v rozmedzí 4 - 19.",
  91.             "potvrdiť", "zavrieť");
  92.     }
  93.     return true;
  94. }
  95. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  96. public OnPlayerDisconnect(playerid, reason){
  97.     SaveData(playerid);
  98.     return true;
  99. }
  100. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  101. public OnPlayerRequestSpawn(playerid){
  102.     if(C_Login[playerid]){
  103.         SpawnPlayer(playerid);
  104.         SetPlayerSkin(playerid, Skin[playerid]);
  105.     }
  106.     return false;
  107. }
  108. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  109. public OnPlayerDeath(playerid, killerid, reason){
  110.     if(killerid != INVALID_PLAYER_ID){
  111.         Kill [killerid]++;
  112.         Death[playerid]++;
  113.     }
  114.     return true;
  115. }
  116. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  117. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
  118.     switch(dialogid){
  119.         case D_REG:{
  120.             if(response){
  121.                 if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT,
  122.                     "Registrácia",
  123.                         "Prosím zadajte heslo s ktorým sa prihlásite na server. Heslo musí byť v rozmedzí 4 - 19.",
  124.                     "potvrdiť", "zavrieť");
  125.                 else if(strlen(inputtext) > 19) return ShowPlayerDialog(playerid, D_REG, DIALOG_STYLE_INPUT,
  126.                     "Registrácia",
  127.                         "Prosím zadajte heslo s ktorým sa prihlásite na server. Heslo musí byť v rozmedzí 4 - 19.",
  128.                     "potvrdiť", "zavrieť");
  129.                
  130.                 C_Login[playerid] = 1;
  131.  
  132.                 strins  (Pass[playerid], inputtext, 0);
  133.                 SaveData(playerid);
  134.             }
  135.             else Kick(playerid);
  136.         }
  137.         case D_LOG:{
  138.             if(response){
  139.                 new
  140.                     hash  [129],
  141.                     string[129];
  142.                
  143.                 format(string, sizeof(string),FolderPlayer,PlayerName(playerid));
  144.                
  145.                 new
  146.                     File:folder = fopen(string, io_readwrite);  
  147.                
  148.                 if(folder){
  149.                
  150.                     fread(folder,string);
  151.                
  152.                     WP_Hash(hash,sizeof(hash),inputtext);
  153.                     if(!strcmp(hash,string,false)){
  154.                         LoadData(playerid);
  155.                         strins(Pass[playerid], inputtext, 0);      
  156.                     }
  157.                     else ShowPlayerDialog(playerid, D_LOG, DIALOG_STYLE_INPUT,
  158.                         "Prihlásenie",
  159.                             "Prosím zadajte vaše heslo s ktorým ste sa zaregistrovali na server",
  160.                         "potvrdiť", "zavrieť");
  161.                     fclose(folder);
  162.                 }
  163.             }
  164.             else Kick(playerid);
  165.         }
  166.     }
  167.     return true;
  168. }
  169. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  170. stock
  171.     SaveData(playerid){
  172.         new
  173.             hash  [129],
  174.             string[200];
  175.  
  176.         format(string, sizeof(string),FolderPlayer,PlayerName(playerid));
  177.  
  178.         new
  179.             File:folder = fopen(string, io_write);
  180.         if(C_Login[playerid]){
  181.             if(fexist(string)){
  182.                 if(folder){
  183.                     WP_Hash(hash,sizeof(hash),Pass[playerid]);
  184.                    
  185.                     format(string,200,"%s\r\n%d\r\n%d\r\n%d\r\n%d\r\n%d",
  186.                         hash,Skin[playerid],Kill[playerid],Death[playerid],Wanted[playerid],Administration[playerid]);
  187.                     fwrite(folder,string);
  188.                     fclose(folder);
  189.                 }
  190.                 C_Login[playerid] = 1;
  191.             }
  192.             else{
  193.                 if(folder){
  194.                     WP_Hash(hash,sizeof(hash),Pass[playerid]);
  195.                    
  196.                     format(string,200,"%s\r\n0\r\n0\r\n0\r\n0\r\n0",hash);
  197.                     fwrite(folder,string);
  198.                     fclose(folder);
  199.                 }
  200.             }
  201.         }
  202.         return true;
  203.     }
  204. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  205. stock
  206.     LoadData(playerid){
  207.         new
  208.             string[200];
  209.        
  210.         format(string, sizeof(string),FolderPlayer,PlayerName(playerid));
  211.  
  212.         new
  213.             File:folder = fopen(string, io_read);  
  214.        
  215.         if(folder){
  216.             fread(folder,string);
  217.             fread(folder,string);Skin           [playerid] = strval(string);
  218.             fread(folder,string);Kill           [playerid] = strval(string);
  219.             fread(folder,string);Death          [playerid] = strval(string);
  220.             fread(folder,string);Wanted         [playerid] = strval(string);
  221.             fread(folder,string);Administration [playerid] = strval(string);
  222.             fclose(folder);
  223.         }
  224.         C_Login[playerid] = 1;
  225.         return true;
  226.     }
  227. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  228. stock
  229.     PlayerName(playerid){
  230.         new
  231.             name[MAX_PLAYER_NAME+1];
  232.         GetPlayerName(playerid, name, sizeof(name));
  233.         return name;
  234.     }
  235. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement