Guest User

Untitled

a guest
Jun 16th, 2012
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.20 KB | None | 0 0
  1. #include <a_samp>
  2. #include <Dini>
  3. #include <sscanf2>
  4. #include <streamer>
  5. #include <zcmd>
  6.  
  7. #define DIALOG_REGISTER 1
  8. #define DIALOG_LOGIN 2
  9. #define GREEN 0x00BB00BB
  10. #define RED 0xBB0000BB
  11. #define BLUE 0x0000BBBB
  12. #define AQUA 0x00BBBBBB
  13. #define YELLOW 0xBBBB00BB
  14.  
  15. enum ServerMain
  16. {
  17.     ServerRegisterPlayers,
  18.     ServerHeadAdministrators,
  19.     ServerAdministrators,
  20.     ServerJuniorAdministrators,
  21.     ServerModerators,
  22.     ServerVips
  23. }
  24. new Server[ServerMain];
  25. enum PlayerMain
  26. {
  27.     PlayerName[MAX_PLAYER_NAME],
  28.     PlayerIp[20],
  29.     PlayerFile[30],
  30.     PlayerDateOfRegister[50],
  31.     PlayerPassword[20],
  32.     bool:PlayerLoggedIn,
  33.     PlayerMoney,
  34.     PlayerRespect,
  35.     PlayerLevel,
  36.     PlayerRespectToNextLevel,
  37.     bool:PlayerHeadAdministrator,
  38.     bool:PlayerAdministrator,
  39.     bool:PlayerJuniorAdministrator,
  40.     bool:PlayerModerator,
  41.     bool:PlayerVip,
  42.     PlayerSuicide,
  43.     PlayerDeaths,
  44.     PlayerKills
  45. };
  46. new Player[MAX_PLAYERS][PlayerMain];
  47.  
  48. main(){}
  49.  
  50. public OnGameModeInit()
  51. {
  52.     Server[ServerRegisterPlayers] = dini_Int("Settings.ini","ServerRegisterPlayers");
  53.     Server[ServerHeadAdministrators] = 0;
  54.     Server[ServerAdministrators] = 0;
  55.     Server[ServerJuniorAdministrators] = 0;
  56.     Server[ServerModerators] = 0;
  57.     Server[ServerVips] = 0;
  58.     return 1;
  59. }
  60.  
  61. public OnGameModeExit()
  62. {
  63.     dini_IntSet("Settings.ini","ServerRegisterPlayers",Server[ServerRegisterPlayers]);
  64.     return 1;
  65. }
  66.  
  67. public OnPlayerConnect(playerid)
  68. {
  69.     GetPlayerName(playerid,Player[playerid][PlayerName],MAX_PLAYER_NAME);
  70.     GetPlayerIp(playerid,Player[playerid][PlayerIp],20);
  71.     format(Player[playerid][PlayerFile],30,"Players/%s.ini",Player[playerid][PlayerName]);
  72.     format(Player[playerid][PlayerDateOfRegister],50,"");
  73.     format(Player[playerid][PlayerPassword],20,"");
  74.     Player[playerid][PlayerLoggedIn] = false;
  75.     Player[playerid][PlayerMoney] = 0;
  76.     Player[playerid][PlayerRespect] = 0;
  77.     Player[playerid][PlayerLevel] = 0;
  78.     Player[playerid][PlayerRespectToNextLevel] = 0;
  79.     Player[playerid][PlayerHeadAdministrator] = false;
  80.     Player[playerid][PlayerAdministrator] = false;
  81.     Player[playerid][PlayerJuniorAdministrator] = false;
  82.     Player[playerid][PlayerModerator] = false;
  83.     Player[playerid][PlayerVip] = false;
  84.     Player[playerid][PlayerSuicide] = 0;
  85.     Player[playerid][PlayerDeaths] = 0;
  86.     Player[playerid][PlayerKills] = 0;
  87.     if(!dini_Exists(Player[playerid][PlayerFile])) ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"{00BBBB}Polski Serwer Freeroam","{00BBBB}Nazwa twojego konta nie została znaleziona.\n{00BBBB}Aby grać musisz zarejestrować swoje konto.\n{00BBBB}Wpisz poniżej hasło do konta którego będziesz używał podczas logowania.","Ok","Zamknij");
  88.     if(dini_Exists(Player[playerid][PlayerFile])) ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{00BBBB}Polski Serwer Freeroam","{00BBBB}Nazwa twojego konta została znaleziona.\n{00BBBB}Aby grać musisz się zalogować.\n{00BBBB}Wpisz poniżej hasło do konta które podałeś podczas rejestracji.","Ok","Zamknij");
  89.     return 1;
  90. }
  91.  
  92. public OnPlayerDisconnect(playerid,reason)
  93. {
  94.     if(Player[playerid][PlayerLoggedIn])
  95.     {
  96.         dini_Set(Player[playerid][PlayerFile],"PlayerDateOfRegister",Player[playerid][PlayerDateOfRegister]);
  97.         dini_Set(Player[playerid][PlayerFile],"PlayerPassword",Player[playerid][PlayerPassword]);
  98.         dini_IntSet(Player[playerid][PlayerFile],"PlayerMoney",Player[playerid][PlayerMoney]);
  99.         dini_IntSet(Player[playerid][PlayerFile],"PlayerRespect",Player[playerid][PlayerRespect]);
  100.         dini_IntSet(Player[playerid][PlayerFile],"PlayerLevel",Player[playerid][PlayerLevel]);
  101.         dini_IntSet(Player[playerid][PlayerFile],"PlayerRespectToNextLevel",Player[playerid][PlayerRespectToNextLevel]);
  102.         dini_BoolSet(Player[playerid][PlayerFile],"PlayerHeadAdministrator",Player[playerid][PlayerHeadAdministrator]);
  103.         dini_BoolSet(Player[playerid][PlayerFile],"PlayerAdministrator",Player[playerid][PlayerAdministrator]);
  104.         dini_BoolSet(Player[playerid][PlayerFile],"PlayerJuniorAdministrator",Player[playerid][PlayerJuniorAdministrator]);
  105.         dini_BoolSet(Player[playerid][PlayerFile],"PlayerModerator",Player[playerid][PlayerModerator]);
  106.         dini_BoolSet(Player[playerid][PlayerFile],"PlayerVip",Player[playerid][PlayerVip]);
  107.         dini_IntSet(Player[playerid][PlayerFile],"PlayerSuicide",Player[playerid][PlayerSuicide]);
  108.         dini_IntSet(Player[playerid][PlayerFile],"PlayerDeaths",Player[playerid][PlayerDeaths]);
  109.         dini_IntSet(Player[playerid][PlayerFile],"PlayerKills",Player[playerid][PlayerKills]);
  110.     }
  111.     return 1;
  112. }
  113.  
  114. public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
  115. {
  116.     new String[200];
  117.     switch(dialogid)
  118.     {
  119.         case 1:
  120.         {
  121.             if(response)
  122.             {
  123.                 if(strlen(inputtext) < 5) return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"{00BBBB}Polski Serwer Freeroam","{00BBBB}Nazwa twojego konta nie została znaleziona.\n{00BBBB}Aby grać musisz zarejestrować swoje konto.\n{00BBBB}Twoje hasło jest za krótkie, minimalnie 5 znaków.\n{00BBBB}Wpisz poniżej hasło do konta którego będziesz używał podczas logowania.","Ok","Zamknij");
  124.                 if(strlen(inputtext) > 20) return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"{00BBBB}Polski Serwer Freeroam","{00BBBB}Nazwa twojego konta nie została znaleziona.\n{00BBBB}Aby grać musisz zarejestrować swoje konto.\n{00BBBB}Twoje hasło jest za długie, maksymalnie 20 znaków.\n{00BBBB}Wpisz poniżej hasło do konta którego będziesz używał podczas logowania.","Ok","Zamknij");
  125.                 dini_Create(Player[playerid][PlayerFile]);
  126.                 new Year,Month,Day,Hour,Minute,Second;
  127.                 getdate(Year,Month,Day);
  128.                 gettime(Hour,Minute,Second);
  129.                 format(Player[playerid][PlayerDateOfRegister],50,"[%02d.%02d.%02d] [%02d:%02d:%02d]",Day,Month,Year,Hour,Minute,Second);
  130.                 format(Player[playerid][PlayerPassword],20,"%s",inputtext);
  131.                 Player[playerid][PlayerLoggedIn] = true;
  132.                 format(String,200,">> Zarejestrowałeś swoje konto, twoje hasło to %s.",Player[playerid][PlayerPassword]);
  133.                 SendClientMessage(playerid,GREEN,String);
  134.             }
  135.         }
  136.         case 2:
  137.         {
  138.             if(response)
  139.             {
  140.                 format(Player[playerid][PlayerPassword],20,"%s",dini_Get(Player[playerid][PlayerFile],"PlayerPassword"));
  141.                 if(strcmp(inputtext,Player[playerid][PlayerPassword],false) == 0) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{00BBBB}Polski Serwer Freeroam","{00BBBB}Nazwa twojego konta została znaleziona.\n{00BBBB}Aby grać musisz się zalogować.\n{00BBBB}Podałeś nieprawidłowe hasło do konta.\n{00BBBB}Wpisz poniżej hasło do konta które podałeś podczas rejestracji.","Ok","Zamknij");
  142.                 format(Player[playerid][PlayerDateOfRegister],50,"%s",dini_Get(Player[playerid][PlayerFile],"PlayerDateOfRegister"));
  143.                 Player[playerid][PlayerLoggedIn] = true;
  144.                 Player[playerid][PlayerMoney] = dini_Int(Player[playerid][PlayerFile],"PlayerMoney");
  145.                 Player[playerid][PlayerRespect] = dini_Int(Player[playerid][PlayerFile],"PlayerRespect");
  146.                 Player[playerid][PlayerLevel] = dini_Int(Player[playerid][PlayerFile],"PlayerLevel");
  147.                 Player[playerid][PlayerRespectToNextLevel] = dini_Int(Player[playerid][PlayerFile],"PlayerRespectToNextLevel");
  148.                 Player[playerid][PlayerHeadAdministrator] = bool:dini_Bool(Player[playerid][PlayerFile],"PlayerHeadAdministrator");
  149.                 Player[playerid][PlayerAdministrator] = bool:dini_Bool(Player[playerid][PlayerFile],"PlayerAdministrator");
  150.                 Player[playerid][PlayerJuniorAdministrator] = bool:dini_Bool(Player[playerid][PlayerFile],"PlayerJuniorAdministrator");
  151.                 Player[playerid][PlayerModerator] = bool:dini_Bool(Player[playerid][PlayerFile],"PlayerModerator");
  152.                 Player[playerid][PlayerVip] = bool:dini_Bool(Player[playerid][PlayerFile],"PlayerVip");
  153.                 Player[playerid][PlayerSuicide] = dini_Int(Player[playerid][PlayerFile],"PlayerSuicide");
  154.                 Player[playerid][PlayerDeaths] = dini_Int(Player[playerid][PlayerFile],"PlayerDeaths");
  155.                 Player[playerid][PlayerKills] = dini_Int(Player[playerid][PlayerFile],"PlayerKills");
  156.                 if(Player[playerid][PlayerHeadAdministrator])
  157.                 {
  158.                     format(String,200,">> Gracz %s (%d) zalogował się jako head administrator.",Player[playerid][PlayerName],playerid);
  159.                     SendClientMessageToAll(RED,String);
  160.                     SendClientMessage(playerid,RED,">> Wpisz /Hcmd aby zobaczyć listę komend head administratora.");
  161.                     SetPlayerColor(playerid,RED);
  162.                     Server[ServerHeadAdministrators]++;
  163.                 }
  164.                 if(Player[playerid][PlayerAdministrator])
  165.                 {
  166.                     format(String,200,">> Gracz %s (%d) zalogował się jako administrator.",Player[playerid][PlayerName],playerid);
  167.                     SendClientMessageToAll(BLUE,String);
  168.                     SendClientMessage(playerid,BLUE,">> Wpisz /Acmd aby zobaczyć listę komend administratora.");
  169.                     SetPlayerColor(playerid,BLUE);
  170.                     Server[ServerAdministrators]++;
  171.                 }
  172.                 if(Player[playerid][PlayerJuniorAdministrator])
  173.                 {
  174.                     format(String,200,">> Gracz %s (%d) zalogował się jako junior administrator.",Player[playerid][PlayerName],playerid);
  175.                     SendClientMessageToAll(AQUA,String);
  176.                     SendClientMessage(playerid,AQUA,">> Wpisz /Jcmd aby zobaczyć listę komend junior administratora.");
  177.                     SetPlayerColor(playerid,AQUA);
  178.                     Server[ServerJuniorAdministrators]++;
  179.                 }
  180.                 if(Player[playerid][PlayerModerator])
  181.                 {
  182.                     format(String,200,">> Gracz %s (%d) zalogował się jako moderator.",Player[playerid][PlayerName],playerid);
  183.                     SendClientMessageToAll(GREEN,String);
  184.                     SendClientMessage(playerid,GREEN,">> Wpisz /Mcmd aby zobaczyć listę komend moderatora");
  185.                     SetPlayerColor(playerid,GREEN);
  186.                     Server[ServerModerators]++;
  187.                 }
  188.                 if(Player[playerid][PlayerVip])
  189.                 {
  190.                     format(String,200,">> Gracz %s (%d) zalogował się jako vip.",Player[playerid][PlayerName],playerid);
  191.                     SendClientMessageToAll(YELLOW,String);
  192.                     SendClientMessage(playerid,YELLOW,">> Wpisz /Mcmd aby zobaczyć listę komend vipa.");
  193.                     SetPlayerColor(playerid,YELLOW);
  194.                     Server[ServerVips]++;
  195.                 }
  196.                 SendClientMessage(playerid,GREEN,">> Zalogowałeś się pomyślnie.");
  197.             }
  198.         }
  199.     }
  200.     return 1;
  201. }
  202.  
  203. stock IsPlayerHeadAdministrator(playerid)
  204. {
  205.     if(Player[playerid][PlayerHeadAdministrator]) return 1;
  206.     return 0;
  207. }
  208.  
  209. stock IsPlayerAdministrator(playerid)
  210. {
  211.     if(Player[playerid][PlayerHeadAdministrator]) return 1;
  212.     if(Player[playerid][PlayerAdministrator]) return 1;
  213.     return 0;
  214. }
  215.  
  216. stock IsPlayerJuniorAdministrator(playerid)
  217. {
  218.     if(Player[playerid][PlayerHeadAdministrator]) return 1;
  219.     if(Player[playerid][PlayerAdministrator]) return 1;
  220.     if(Player[playerid][PlayerJuniorAdministrator]) return 1;
  221.     return 0;
  222. }
  223.  
  224. stock IsPlayerModerator(playerid)
  225. {
  226.     if(Player[playerid][PlayerHeadAdministrator]) return 1;
  227.     if(Player[playerid][PlayerAdministrator]) return 1;
  228.     if(Player[playerid][PlayerJuniorAdministrator]) return 1;
  229.     if(Player[playerid][PlayerModerator]) return 1;
  230.     return 0;
  231. }
  232.  
  233. stock IsPlayerVip(playerid)
  234. {
  235.     if(Player[playerid][PlayerHeadAdministrator]) return 1;
  236.     if(Player[playerid][PlayerAdministrator]) return 1;
  237.     if(Player[playerid][PlayerJuniorAdministrator]) return 1;
  238.     if(Player[playerid][PlayerModerator]) return 1;
  239.     if(Player[playerid][PlayerVip]) return 1;
  240.     return 0;
  241. }
Advertisement
Add Comment
Please, Sign In to add comment