Advertisement
Guest User

Save/Register Skript

a guest
Dec 28th, 2010
524
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.95 KB | None | 0 0
  1. //===========|                                 |===========
  2. //===========|        FS Created -BMV-         |===========
  3. //===========|  Credits Lukui and Zygulys400  |===========
  4. //===========|_________________________________|===========
  5.  
  6. #include <a_samp>
  7. #include <dini>
  8. #pragma tabsize 0
  9. forward LoadPlayerData(playerid);
  10. forward SavePlayerData(playerid);
  11. forward ClearFuncktions(playerid);
  12. #pragma unused strtok
  13. #define RegisterDialog 0
  14. #define LoginDialog 1
  15.  
  16. enum PlayerData
  17. {
  18.     LoggedIn,
  19. };
  20.  
  21. new AccountInfo[MAX_PLAYERS][PlayerData];
  22. new bool:Admin[MAX_PLAYERS];
  23. new selected[MAX_PLAYERS];
  24. public OnFilterScriptInit()
  25. {
  26.     print("\n--------------------------------------");
  27.     print(" Register System Loaded!");
  28.     print("--------------------------------------\n");
  29.     return 1;
  30. }
  31.  
  32. public OnPlayerConnect(playerid)
  33. {
  34.     Admin[playerid] = false;
  35.     ClearFuncktions(playerid);
  36.     new PlayerFile[128], Name[MAX_PLAYER_NAME];
  37.     GetPlayerName(playerid, Name, sizeof(Name));
  38.     format(PlayerFile, sizeof(PlayerFile), "users/%s.ini", Name);
  39.     if(!dini_Exists(PlayerFile))
  40.     {
  41.         ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_INPUT, "Register Box", "Your account {FF0000}not found.\n{F2F2F2}Please enter your register password:", "Register", "");
  42.     }
  43.     else
  44.     {
  45.         ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_INPUT, "Login Box", "You account {01DF01}found\n{F2F2F2}Please enter your password:", "Login", "Cancel");
  46.     }
  47.     return 1;
  48. }
  49.  
  50. public OnPlayerSpawn(playerid)
  51. {
  52.     if(AccountInfo[playerid][LoggedIn] == 1)
  53.     {
  54.         LoadPlayerData(playerid);
  55.         AccountInfo[playerid][LoggedIn] = 2;
  56.     }
  57.     return 1;
  58. }
  59. public OnPlayerCommandText(playerid, cmdtext[])
  60. {
  61.     if (strcmp("/BAN", cmdtext, true, 10) == 0)
  62.     {
  63.         ShowPlayerDialog(playerid,215,DIALOG_STYLE_INPUT,"Ban Player","Click TAB and click on the player's block, and here the reason.","Ban","Cancel"); // parodykime žaidėjui dialog langą
  64.         return 1;
  65.     }
  66.     if (strcmp("/Kick", cmdtext, true, 10) == 0)
  67.     {
  68.         ShowPlayerDialog(playerid,216,DIALOG_STYLE_INPUT,"Kick Player","Click TAB and click on the player's kick, and here the reason.","Kick","Cancel");// parodykime žaidėjui dialog langą
  69.         return 1;
  70.     }
  71.     if (strcmp("/s", cmdtext, true, 10) == 0)
  72.     {
  73.         ShowPlayerDialog(playerid,217,DIALOG_STYLE_INPUT,"Write a message to all players","Please enter the message you will see all the players.","Write","Cancel");// parodykime žaidėjui dialog langą
  74.         return 1;
  75.     }
  76.     return 1;
  77. }
  78. public OnPlayerDisconnect(playerid, reason)
  79. {
  80.     Admin[playerid] = false;
  81.     if(AccountInfo[playerid][LoggedIn] == 2)
  82.     {
  83.         SavePlayerData(playerid);
  84.     }
  85.     return 1;
  86. }
  87.  
  88. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  89. {
  90.     new string[256],pname1[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
  91.  
  92.     GetPlayerName(playerid,pname1,sizeof(pname1));
  93.     GetPlayerName(selected[playerid], name, sizeof(name));
  94.     if(dialogid == 215)
  95.     {
  96.         if ( Admin[ playerid ] )
  97.         {
  98.             if(response == 1)
  99.             {
  100.                 format(string,sizeof(string),"%s - Ban %s (Reason: %s)",pname1,name,inputtext);
  101.                 SendClientMessageToAll(0xFFFFFFFF,string);
  102.                 Ban(selected[playerid]);
  103.             }
  104.             else if(response == 0)
  105.             {
  106.             }
  107.         }
  108.         else
  109.         {
  110.         SendClientMessage(playerid,0xFFFFFFFF,"You're not the administrator, so the team can not use");
  111.         return 0;
  112.         }
  113.  
  114.     }
  115.     if(dialogid == 216)
  116.     {
  117.        if ( Admin[ playerid ] )
  118.         {
  119.             if(response == 1)
  120.             {
  121.                 format(string,sizeof(string),"%s - Kick From the server %s (Reason: %s)",pname1,name,inputtext);
  122.                 SendClientMessageToAll(0xFFFFFFFF,string);
  123.                 Kick(selected[playerid]);
  124.             }
  125.             else if(response == 0)
  126.             {
  127.             }
  128.         }
  129.         else
  130.         {
  131.         SendClientMessage(playerid,0xFFFFFFFF,"You're not the administrator, so the team can not use");
  132.         return 0;
  133.         }
  134.  
  135.     }
  136.     if(dialogid == 217)
  137.     {
  138.         if(Admin[ playerid ])
  139.         {
  140.             if(response == 1)
  141.             {
  142.                 format(string,sizeof(string),"Admin %s || %s ",pname1,inputtext);
  143.                 SendClientMessageToAll(0xFFFFFFFF,string);
  144.             }
  145.             else if(response == 0)
  146.             {
  147.             }
  148.         }
  149.         else
  150.         {
  151.         SendClientMessage(playerid,0xFFFFFFFF,"You're not the administrator, so the team can not use.");
  152.         return 0;
  153.         }
  154.  
  155.     }
  156.     if(dialogid == RegisterDialog)
  157.     {
  158.         if(response)
  159.         {
  160.             new PlayerFile[128], Name[128];
  161.             GetPlayerName(playerid, Name, sizeof(Name));
  162.             format(PlayerFile, sizeof(PlayerFile), "users/%s.ini", Name);
  163.             dini_Create(PlayerFile);
  164.             dini_Set(PlayerFile, "Password", inputtext);
  165.             AccountInfo[playerid][LoggedIn] = 2;
  166.             SendClientMessage(playerid, 0xFFFFFFFF, "Registration is successful, the server you are connected automatically");
  167.             }
  168.         return 1;
  169.     }
  170.     if(dialogid == LoginDialog)
  171.     {
  172.         if(response)
  173.          {
  174.             new PlayerFile[128], Name[128], Passwords[256];
  175.             GetPlayerName(playerid, Name, sizeof(Name));
  176.             format(PlayerFile, sizeof(PlayerFile), "users/%s.ini", Name);
  177.             Passwords = dini_Get(PlayerFile, "Password");
  178.             Admin = dini_Get(PlayerFile,"Admin");
  179.             if(strval(Admin) == 1)
  180.             {
  181.                 SendClientMessage(playerid,0xFFFFFFFF,"Hello Admin...");
  182.                 Admin[playerid] = true;
  183.  
  184.             }
  185.             if((!strcmp(Passwords, inputtext, true)))
  186.             {
  187.             AccountInfo[playerid][LoggedIn] = 1;
  188.             SendClientMessage(playerid, 0xFFFFFFFF, "You've successfully {FF0000}logged in");
  189.             }
  190.             else
  191.             {
  192.                 ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_INPUT,"Login", "{FF0000}Password incorrect.\n{F2F2F2}Please enter your password:", "Login", "Cancel");
  193.             }
  194.             }
  195.             else if(!response)
  196.             {
  197.             Kick(playerid);
  198.             }
  199.         return 1;
  200.     }
  201.     return 0;
  202. }
  203.    
  204. public ClearFuncktions(playerid)
  205. {
  206.     AccountInfo[playerid][LoggedIn] = 0;
  207.     return 1;
  208. }
  209.  
  210. public SavePlayerData(playerid)
  211. {
  212.     new Name[MAX_PLAYER_NAME], PlayerFile[128], Float: LastPos[3];
  213.     GetPlayerName(playerid, Name,sizeof(Name));
  214.     GetPlayerPos(playerid, LastPos[0], LastPos[1], LastPos[2]);
  215.     format(PlayerFile, sizeof(PlayerFile),"users/%s.ini", Name);
  216.     if(!fexist(PlayerFile))
  217.     {
  218.         dini_Create(PlayerFile);
  219.     }
  220.     dini_IntSet(PlayerFile,"Money", GetPlayerMoney(playerid));
  221.     dini_IntSet(PlayerFile,"Xp", GetPlayerScore(playerid));
  222.     dini_FloatSet(PlayerFile, "Pos_X", LastPos[0]);
  223.     dini_FloatSet(PlayerFile, "Pos_Y", LastPos[1]);
  224.     dini_FloatSet(PlayerFile, "Pos_Z", LastPos[2]);
  225.     return 1;
  226. }
  227.  
  228. public LoadPlayerData(playerid)
  229. {
  230.     new Name[MAX_PLAYER_NAME], PlayerFile[128];
  231.     GetPlayerName(playerid, Name,sizeof(Name));
  232.     format(PlayerFile, sizeof(PlayerFile), "users/%s.ini", Name);
  233.     if(!fexist(PlayerFile)) return 1;
  234.     SetPlayerScore(playerid, dini_Int(PlayerFile, "Xp"));
  235.     SetPlayerPos(playerid, dini_Float(PlayerFile, "Pos_X"), dini_Float(PlayerFile, "Pos_Y"), dini_Float(PlayerFile, "Pos_Z"));
  236.     GivePlayerMoney(playerid, dini_Int(PlayerFile, "Money"));
  237.     return 1;
  238. }
  239. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  240. {
  241.     selected[playerid] = clickedplayerid;
  242.     return 1;
  243. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement