Guest User

Brown County Roleplay v0.02 [Scratch] by JonathanW

a guest
Nov 29th, 2014
2,870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 47.42 KB | None | 0 0
  1. /*
  2.         |____________________________________|
  3.        
  4.             » BROWN COUNTY ROLEPLAY [ENG]
  5.          ____________________________________
  6.         |                                    |
  7. */
  8. // ============= » INCLUDES =============
  9. #include    <a_samp>
  10. #include    <YSI\y_ini>
  11. #include    <aDialog>
  12. #include    <zcmd>
  13. #include    <sscanf2>
  14. #include    <streamer>
  15. #include    <Cam>
  16. #include    <foreach>
  17. // ============= » DIALOGS =============
  18. #define     DIALOG_REGISTER     1
  19. #define     DIALOG_AGE          2
  20. #define     DIALOG_GENDER       3
  21. #define     DIALOG_ORIGIN       4
  22. #define     DIALOG_LOGIN        5
  23. #define     DIALOG_CHARSELECT   6
  24. #define     DIALOG_PROFILE      7
  25. #define     DIALOG_CHANGENAME   8
  26. #define     DIALOG_CHANGEAGE    9
  27. #define     DIALOG_AGEMSG       10
  28. #define     DIALOG_CHANGEGEN    11
  29. #define     DIALOG_GENMSG       12
  30. #define     DIALOG_CHANGEPASS   12
  31. #define     DIALOG_PASSMSG      13
  32. #define     DIALOG_ASTATUS      14
  33. // ============= » SERVER DEFINES =============
  34. #define     HOSTNAME            "» Brown County Roleplay [ENG]"
  35. #define     VERSION             "v0.02"
  36. #define     MAPNAME             "Bone County"
  37. #define     WEBSITE             "www.browncountyrp.tk
  38. #define     DEVELOPER           "JonathanW"
  39.  
  40. #define     PATH                "Accounts/%s.ini"
  41.  
  42. // ============= » OTHER DEFINES =============
  43. #define     DonatorOnly         "You don't have the required Donator Level to use this command."
  44. #define     AdminOnly           "You don't have the required Admin Level to use this command."
  45. #define     NotSpawnedYet       "You need to login in order to use any command."
  46. #define     NotConnected        "Player Not Connected."
  47. #define     UnknownCommand      "Command not recognized. Use /help for more information."
  48.  
  49. new LoginAttempt[MAX_PLAYERS], Spawned[MAX_PLAYERS], aStatus[MAX_PLAYERS], AdminChat[MAX_PLAYERS];
  50. new Text:TDEditor_TD[9];
  51.  
  52. // ============= » COLORS =============
  53. #define     W                   0xFFFFFFFF
  54. #define     WHITE               0xFFFFFFFF
  55. #define     GREY                0x888888C8 // {888888}
  56. #define     RED                 0xFF0000FF
  57. #define     GREEN               0x00E228FF
  58. #define     LIBLUE              0x3AB3EDFF
  59. #define     BLUE                0x0073FFFF
  60. // ============= » ENUMERATORS =============
  61. enum pInfo
  62. {
  63.     Name[32],
  64.     Password,
  65.     Level,
  66.     Helper,
  67.     Registered,
  68.     Money,
  69.     AdminLevel,
  70.     Age,
  71.     Gender,
  72.     Skin,
  73.     RegDate,
  74.     RegMonth,
  75.     RegYear,
  76.     TimesKicked,
  77.     Banned,
  78.     BannedBy[32],
  79.     BanReason[128],
  80.     TimesWarned,
  81. }
  82. new PlayerInfo[MAX_PLAYERS][pInfo];
  83.  
  84. enum vInfo
  85. {
  86.     vID,
  87. }
  88. // ============= » FORWARDS =============
  89. forward LoadUser_data(playerid,name[],value[]);
  90. public LoadUser_data(playerid,name[],value[])
  91. {
  92.     INI_String("Name", PlayerInfo[playerid][Name], 32);
  93.     INI_Int("Password",PlayerInfo[playerid][Password]);
  94.     INI_Int("Level",PlayerInfo[playerid][Level]);
  95.     INI_Int("Helper",PlayerInfo[playerid][Helper]);
  96.     INI_Int("Registered",PlayerInfo[playerid][Registered]);
  97.     INI_Int("Money",PlayerInfo[playerid][Money]);
  98.     INI_Int("AdminLevel",PlayerInfo[playerid][AdminLevel]);
  99.     INI_Int("Age",PlayerInfo[playerid][Age]);
  100.     INI_Int("Gender",PlayerInfo[playerid][Gender]);
  101.     INI_Int("Skin",PlayerInfo[playerid][Skin]);
  102.     INI_Int("RegDate",PlayerInfo[playerid][RegDate]);
  103.     INI_Int("RegMonth",PlayerInfo[playerid][RegMonth]);
  104.     INI_Int("RegYear",PlayerInfo[playerid][RegYear]);
  105.     INI_Int("TimesKicked",PlayerInfo[playerid][TimesKicked]);
  106.     INI_Int("Banned",PlayerInfo[playerid][Banned]);
  107.     INI_String("BannedBy",PlayerInfo[playerid][BannedBy], 32);
  108.     INI_String("BanReason",PlayerInfo[playerid][BanReason], 128);
  109.     INI_Int("TimesWarned",PlayerInfo[playerid][TimesWarned]);
  110.     return 1;
  111. }
  112. stock SaveUser(playerid)
  113. {
  114.     PlayerInfo[playerid][Money] = GetPlayerMoney(playerid);
  115.     PlayerInfo[playerid][Level] = GetPlayerScore(playerid);
  116.     new INI:File = INI_Open(UserPath(playerid));
  117.     INI_WriteString(File,"Name",PlayerInfo[playerid][Name]);
  118.     INI_WriteInt(File,"Password",PlayerInfo[playerid][Password]);
  119.     INI_WriteInt(File,"Level",PlayerInfo[playerid][Level]);
  120.     INI_WriteInt(File,"Helper",PlayerInfo[playerid][Helper]);
  121.     INI_WriteInt(File,"Registered",PlayerInfo[playerid][Registered]);
  122.     INI_WriteInt(File,"Money",PlayerInfo[playerid][Money]);
  123.     INI_WriteInt(File,"AdminLevel",PlayerInfo[playerid][AdminLevel]);
  124.     INI_WriteInt(File,"Age",PlayerInfo[playerid][Age]);
  125.     INI_WriteInt(File,"Gender",PlayerInfo[playerid][Gender]);
  126.     INI_WriteInt(File,"Skin",PlayerInfo[playerid][Skin]);
  127.     INI_WriteInt(File,"RegDate",PlayerInfo[playerid][RegDate]);
  128.     INI_WriteInt(File,"RegMonth",PlayerInfo[playerid][RegMonth]);
  129.     INI_WriteInt(File,"RegYear",PlayerInfo[playerid][RegYear]);
  130.     INI_WriteInt(File,"TimesKicked",PlayerInfo[playerid][TimesKicked]);
  131.     INI_WriteInt(File,"Banned",PlayerInfo[playerid][Banned]);
  132.     INI_WriteString(File,"BannedBy",PlayerInfo[playerid][BannedBy]);
  133.     INI_WriteString(File,"BanReason",PlayerInfo[playerid][BanReason]);
  134.     INI_WriteInt(File,"TimesWarned",PlayerInfo[playerid][TimesWarned]);
  135.     INI_Close(File);
  136.     return 1;
  137. }
  138. forward KickPlayer(playerid);
  139. public KickPlayer(playerid)
  140. {
  141.     SetTimerEx("KickUser", 1000, 0, "i", playerid);
  142. }
  143. forward KickUser(playerid);
  144. public KickUser(playerid)
  145. {
  146.     Kick(playerid);
  147. }
  148. forward PrepareFirstSpawn(playerid);
  149. public PrepareFirstSpawn(playerid)
  150. {
  151.     Spawned[playerid] = 1;
  152.     TogglePlayerSpectating(playerid, 0);
  153.     SetPlayerVirtualWorld(playerid, 0);
  154.     SetPlayerInterior(playerid, 0);
  155.     SetSpawnInfo(playerid, 0, 170, -35.5528, 1420.6594, 13.2465, 98, 0, 0, 0, 0, 0, 0);
  156.     SpawnPlayer(playerid);
  157.     SetCameraBehindPlayer(playerid);
  158.     PlayerInfo[playerid][Money] = 3000;
  159.     GivePlayerMoney(playerid, 5000);
  160.     PlayerInfo[playerid][Level] = 1;
  161.     SetPlayerScore(playerid, 1);
  162.     SendClientMessage(playerid, GREY, "Use /help & /helpme for commands and live help! Enjoy your stay here.");
  163.     return 1;
  164. }
  165. forward InterPol(playerid);
  166. public InterPol(playerid)
  167. {
  168.     ShowMNT(playerid);
  169.     TogglePlayerSpectating(playerid, 1);
  170.     SetPlayerVirtualWorld(playerid, 5);
  171.     new rand = random(5);
  172.     switch(rand)
  173.     {
  174.         case 1:
  175.         {
  176.             InterpolateCameraPos(playerid, -17.8958, 1214.2452, 22.9738, -20.1276, 1214.2823, 22.9738, 6000,CAMERA_MOVE);
  177.             InterpolateCameraLookAt(playerid, -63.2371, 1183.7734, 18.5250, -63.2371, 1183.7734, 18.5250, 6000,CAMERA_MOVE);
  178.         }
  179.         case 2:
  180.         {
  181.             InterpolateCameraPos(playerid, 423.7457, 1666.7694, 38.0824, 426.0505, 1666.1898, 38.0824, 6000,CAMERA_MOVE);
  182.             InterpolateCameraLookAt(playerid, 427.7002, 1230.3662, 9.0451, 427.7002, 1230.3662, 9.0451, 6000,CAMERA_MOVE);
  183.         }
  184.         case 3:
  185.         {
  186.             InterpolateCameraPos(playerid, -34.9903, 950.7279, 20.5772, -42.5423, 950.6465, 20.5772, 6000,CAMERA_MOVE);
  187.             InterpolateCameraLookAt(playerid, -33.1911, 1037.0138, 20.3607, -42.8496, 1057.9865, 19.9063, 6000,CAMERA_MOVE);
  188.         }
  189.     }
  190.     return 1;
  191. }
  192. public OnPlayerText(playerid, text[])
  193. {
  194.     new string[128];
  195.     format(string, sizeof(string), "%s says: %s", RemoveUnderScore(playerid), text);
  196.     CloseMessage(playerid, GREY, string);
  197.     return 0;
  198. }
  199. // ============= » STOCKS =============
  200. stock UserPath(playerid)
  201. {
  202.     new string[128],playername[MAX_PLAYER_NAME];
  203.     GetPlayerName(playerid,playername,sizeof(playername));
  204.     format(string,sizeof(string),PATH,playername);
  205.     return string;
  206. }
  207. stock udb_hash(buf[])
  208. {
  209.     new length=strlen(buf);
  210.     new s1 = 1;
  211.     new s2 = 0;
  212.     new n;
  213.     for (n=0; n<length; n++)
  214.     {
  215.         s1 = (s1 + buf[n]) % 65521;
  216.         s2 = (s2 + s1)     % 65521;
  217.     }
  218.     return (s2 << 16) + s1;
  219. }
  220. stock RemoveUnderScore(playerid)
  221. {
  222.     new name[MAX_PLAYER_NAME];
  223.     GetPlayerName(playerid,name,sizeof(name));
  224.     for(new i = 0; i < MAX_PLAYER_NAME; i++)
  225.     {
  226.         if(name[i] == '_') name[i] = ' ';
  227.     }
  228.     return name;
  229. }
  230. stock IsValidName(playerid)
  231. {
  232.     if (IsPlayerConnected(playerid))
  233.     {
  234.         new player[24];
  235.         GetPlayerName(playerid,player,24);
  236.         for(new n = 0; n < strlen(player); n++)
  237.         {
  238.             if (player[n] == '_') return 1;
  239.             if (player[n] == ']' || player[n] == '[') return 0;
  240.         }
  241.     }
  242.     return 0;
  243. }
  244. stock SendAdminMessage(color, string[])
  245. {
  246.     foreach(Player, i)
  247.     {
  248.         if(IsPlayerConnected(i) && PlayerInfo[i][AdminLevel] >= 1)
  249.         {
  250.             SendClientMessage(i, color, string);
  251.         }
  252.     }
  253.     return 1;
  254. }
  255. stock SendHelperMessage(color, string[])
  256. {
  257.     foreach(Player, i)
  258.     {
  259.         if(IsPlayerConnected(i) && PlayerInfo[i][Helper] == 1)
  260.         {
  261.             SendClientMessage(i, color, string);
  262.         }
  263.     }
  264.     return 1;
  265. }
  266. stock NotAdmin(playerid)
  267. {
  268.     SendClientMessage(playerid, GREY, AdminOnly);
  269.     return 1;
  270. }
  271. stock NotLogged(playerid)
  272. {
  273.     SendClientMessage(playerid, GREY, NotSpawnedYet);
  274.     return 1;
  275. }
  276. stock SendCitizenship(playerid)
  277. {
  278.     new string[128];
  279.     SendClientMessage(playerid, WHITE, "");
  280.     SendClientMessage(playerid, WHITE, "");
  281.     SendClientMessage(playerid, WHITE, "");
  282.     SendClientMessage(playerid, WHITE, "");
  283.     SendClientMessage(playerid, WHITE, "");
  284.     SendClientMessage(playerid, WHITE, "");
  285.     SendClientMessage(playerid, WHITE, "");
  286.     SendClientMessage(playerid, WHITE, "(===================[Bone County Citizenship]===================)");
  287.     format(string, sizeof(string), "(====== {50BB44}FULL LEGAL NAME: {FFFFFF}%s ============)",PlayerInfo[playerid][Name]);
  288.     SendClientMessage(playerid, WHITE, string);
  289.     format(string, sizeof(string), "(====== {50BB44}AGE: {FFFFFF}%d  ===================================)", PlayerInfo[playerid][Age]);
  290.     SendClientMessage(playerid, WHITE, string);
  291.     format(string, sizeof(string), "(====== {50BB44}GENDER: {FFFFFF}%s ===============================)",GetGender(playerid));
  292.     SendClientMessage(playerid, WHITE, string);
  293.     SendClientMessage(playerid, WHITE, "(===============================================================)");
  294.     SendClientMessage(playerid, WHITE, "");
  295.     format(string, sizeof(string), "Customs Officer: Well, Good Luck in Bone County Mr. %s. Have a Nice one!",PlayerInfo[playerid][Name]);
  296.     SendClientMessage(playerid, WHITE, string);
  297.     PlayerInfo[playerid][Registered] = 1;
  298.     SetTimerEx("PrepareFirstSpawn", 1000, false, "i", playerid);
  299.     return 1;
  300. }
  301. stock CloseMessage(playerid, color, string[])
  302. {
  303.     for(new i = 0; i < MAX_PLAYERS; i++)
  304.     {
  305.         new Float:x, Float:y, Float:z;
  306.         GetPlayerPos(playerid, x, y, z);
  307.         if(IsPlayerInRangeOfPoint(i, 10.0, x, y, z))
  308.         {
  309.             if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
  310.             {
  311.                 if(GetPlayerInterior(playerid) == GetPlayerInterior(i))
  312.                 {
  313.                     SendClientMessage(i, color, string);
  314.                 }
  315.             }
  316.         }
  317.     }
  318. }
  319. stock NewStats(playerid)
  320. {
  321.     getdate(PlayerInfo[playerid][RegYear], PlayerInfo[playerid][RegMonth], PlayerInfo[playerid][RegDate]);
  322.     format(PlayerInfo[playerid][Name], 32, RemoveUnderScore(playerid));
  323.     PlayerInfo[playerid][AdminLevel] = 0;
  324.     PlayerInfo[playerid][Level] = 0;
  325.     PlayerInfo[playerid][TimesKicked] = 0;
  326.     PlayerInfo[playerid][Banned] = 0;
  327.     format(PlayerInfo[playerid][BannedBy], 32, "N/A");
  328.     format(PlayerInfo[playerid][BanReason], 128, "N/A");
  329.     PlayerInfo[playerid][TimesWarned] = 0;
  330.     PlayerInfo[playerid][Skin] = 170;
  331.     SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
  332.     return 1;
  333. }
  334. stock ShowRegisterDialog(playerid)
  335. {
  336.     new string [128];
  337.     format(string, sizeof(string), "{FFFFFF}Welcome To Brown County Roleplay, {50BB44}%s.\n{FFFFFF}Type your desired password below to Register.", RemoveUnderScore(playerid));
  338.     ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Register",string,"Register","Quit");
  339.     return 1;
  340. }
  341. stock ShowLoginDialog(playerid)
  342. {
  343.     new string [128];
  344.     format(string, sizeof(string), "{FFFFFF}Welcome Back, {50BB44}%s.\n{FFFFFF}Type Your below Password To Login.", RemoveUnderScore(playerid));
  345.     ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Login",string,"Login","Quit");
  346.     return 1;
  347. }
  348. stock ShowCharacterDialog(playerid)
  349. {
  350.     new string[128];
  351.     format(string, sizeof(string), "{FFFFFF}Play as {50BB44}%s\n\n{FFFFFF}Profile Settings", PlayerInfo[playerid][Name]);
  352.     ShowPlayerDialog(playerid, DIALOG_CHARSELECT, DIALOG_STYLE_LIST,"Menu",string,"Select","Quit");
  353.     return 1;
  354. }
  355. stock ShowCharacterInformation(playerid)
  356. {
  357.     new string[128];
  358.     SendClientMessage(playerid, WHITE, "You have successfully logged in {50BB44}Brown County Roleplay.");
  359.  
  360.     format(string, sizeof(string), "Account Name: {50BB44}%s",PlayerInfo[playerid][Name]);
  361.     SendClientMessage(playerid, WHITE, string);
  362.    
  363.     if(PlayerInfo[playerid][AdminLevel] == 0) format (string, sizeof(string), "Administrator Level: {50BB44}None.");
  364.     else format(string, sizeof(string), "Administrator Level: {50BB44}%s {FFFFFF}(%d)",GetAdminRank(playerid),PlayerInfo[playerid][AdminLevel]);
  365.     SendClientMessage(playerid, WHITE, string);
  366.    
  367.     format(string, sizeof(string), "Level: {50BB44}%d",PlayerInfo[playerid][Level]);
  368.     SendClientMessage(playerid, WHITE, string);
  369.     return 1;
  370. }
  371. stock ShowProfileSettings(playerid)
  372. {
  373.     new string[128];
  374.     format(string, sizeof(string), "{FFFFFF}Change Name {50BB44}(Current: %s)\nChange Age\nChange Gender\nChange Password", PlayerInfo[playerid][Name]);
  375.     ShowPlayerDialog(playerid, DIALOG_PROFILE, DIALOG_STYLE_LIST,"{FFFFFF}Profile",string,"Select","");
  376.     return 1;
  377. }
  378. stock GetGender(playerid)
  379. {
  380.     new astring[128];
  381.     if(PlayerInfo[playerid][Gender] == 1)format(astring, sizeof(astring), "Male");
  382.     else if(PlayerInfo[playerid][Gender] == 2)format(astring, sizeof(astring), "Female");
  383.     return astring;
  384. }
  385. stock GetAdminRank(playerid)
  386. {
  387.     new astring[28];
  388.     if(PlayerInfo[playerid][AdminLevel] == 1)format(astring, sizeof(astring), "Trial Administrator");
  389.     else if(PlayerInfo[playerid][AdminLevel] == 2)format(astring, sizeof(astring), "Administrator");
  390.     else if(PlayerInfo[playerid][AdminLevel] == 3)format(astring, sizeof(astring), "Senior Administrator");
  391.     else if(PlayerInfo[playerid][AdminLevel] == 4)format(astring, sizeof(astring), "Management");
  392.     else if(PlayerInfo[playerid][AdminLevel] == 5)format(astring, sizeof(astring), "Server Owner");
  393.     return astring;
  394. }
  395. main()
  396. {
  397.     print("\n----------------------------------");
  398.     print(" » Brown County Roleplay [ENG] ");
  399.     print("----------------------------------\n");
  400. }
  401. public OnGameModeInit()
  402. {
  403.     LoadMainScreenTXD();
  404.     DisableInteriorEnterExits();
  405.     ShowNameTags(1);
  406.     EnableStuntBonusForAll(0);
  407.     LoadMaps();
  408.     ManualVehicleEngineAndLights();
  409.     SetGameModeText("BC-RP "VERSION"");
  410.     SendRconCommand("hostname "HOSTNAME"");
  411.     SendRconCommand("mapname "MAPNAME"");
  412.     return 1;
  413. }
  414. public OnGameModeExit()
  415. {
  416.     return 1;
  417. }
  418. // ============= » ADMIN COMMANDS =============
  419. CMD:ahelp(playerid, params[])
  420. {
  421.     if(PlayerInfo[playerid][AdminLevel])
  422.     {
  423.         if(PlayerInfo[playerid][AdminLevel] >= 1)
  424.         {
  425.             SendClientMessage(playerid, GREY, "{0080FF}|_____________________ Trial Administrator _____________________|");
  426.             SendClientMessage(playerid, WHITE, "/a /asay /togadmin /changestatus /setint /setvw ");
  427.         }
  428.         if(PlayerInfo[playerid][AdminLevel] >= 2)
  429.         {
  430.             SendClientMessage(playerid, GREY, "{0080FF}|_____________________ Administrator _____________________|");
  431.             SendClientMessage(playerid, WHITE, "/kick /ban");
  432.         }
  433.         if(PlayerInfo[playerid][AdminLevel] >= 3)
  434.         {
  435.             SendClientMessage(playerid, GREY, "{0080FF}|_____________________ Senior Administrator _____________________|");
  436.             SendClientMessage(playerid, WHITE, "/goto /get");
  437.         }
  438.         if(PlayerInfo[playerid][AdminLevel] >= 4)
  439.         {
  440.             SendClientMessage(playerid, GREY, "{0080FF}|_____________________ Management _____________________|");
  441.             SendClientMessage(playerid, WHITE, "/freeze /unfreeze /slap");
  442.         }
  443.         if(PlayerInfo[playerid][AdminLevel] == 5)
  444.         {
  445.             SendClientMessage(playerid, GREY, "{0080FF}|_____________________ Server Owner _____________________|");
  446.             SendClientMessage(playerid, WHITE, "/makeadmin /makehelper");
  447.         }
  448.     }
  449.     else return NotAdmin(playerid);
  450.     return 1;
  451. }
  452. CMD:a(playerid, params[])
  453. {
  454.     if(PlayerInfo[playerid][AdminLevel])
  455.     {
  456.         if(AdminChat[playerid] == 1)
  457.         {
  458.             new msg[128], string[168];
  459.             if(sscanf(params, "s[128]", msg)) return SendClientMessage(playerid, GREY, "Usage: /a [message]");
  460.             {
  461.                 format(string,sizeof(string), "* %s %s: %s", GetAdminRank(playerid), RemoveUnderScore(playerid), msg);
  462.                 SendAdminMessage(BLUE, string);
  463.             }
  464.         }
  465.         else return SendClientMessage(playerid, GREY, "Please enable your Admin Chat by /togadmin.");
  466.     }
  467.     else return NotAdmin(playerid);
  468.     return 1;
  469. }
  470. CMD:asay(playerid, params[])
  471. {
  472.     if(PlayerInfo[playerid][AdminLevel])
  473.     {
  474.         new string[128];
  475.         if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, GREY, "Usage: /asay [text]");
  476.         format(string, sizeof(string), "{800000}* Admin %s: %s *", RemoveUnderScore(playerid), params);
  477.         SendClientMessageToAll(GREY, string);
  478.     }
  479.     else return NotAdmin(playerid);
  480.     return 1;
  481. }
  482. CMD:togadmin(playerid, params[])
  483. {
  484.     if(PlayerInfo[playerid][AdminLevel])
  485.     {
  486.         if(AdminChat[playerid])
  487.         {
  488.             AdminChat[playerid] = 0;
  489.             SendClientMessage(playerid, GREY, "You have {C43C3C}Disabled {888888}the Admin Chat.");
  490.         }
  491.         else
  492.         {
  493.             AdminChat[playerid] = 1;
  494.             SendClientMessage(playerid, GREY, "You have {008000}Enabled {888888}the Admin Chat.");
  495.         }
  496.     }
  497.     else return NotAdmin(playerid);
  498.     return 1;
  499. }
  500. CMD:changestatus(playerid, params[])
  501. {
  502.     if(PlayerInfo[playerid][AdminLevel] > 1)
  503.     {
  504.         ShowPlayerDialog(playerid,DIALOG_ASTATUS,DIALOG_STYLE_LIST,"Administrator Status","{40C040}Administrating\n{D52B2B}Roleplaying\n{EA9515}Off Duty","Change","Back");
  505.     }
  506.     else return NotAdmin(playerid);
  507.     return 1;
  508. }
  509. CMD:kick(playerid, params[])
  510. {
  511.     if(PlayerInfo[playerid][AdminLevel] >= 2)
  512.     {
  513.         new str[128], targetid, reason[128];
  514.         if(sscanf(params,"us[128]", targetid, reason)) return SendClientMessage(playerid, GREY, "Usage: /kick [player targetid or name] [reason]");
  515.         if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, NotConnected);
  516.         if(PlayerInfo[targetid][AdminLevel] > PlayerInfo[playerid][AdminLevel]) return SendClientMessage(playerid, GREY, "The person you are trying to kick has Higher Admin Level than you.");
  517.         format(str, sizeof(str), "Administrator %s has kicked %s. [Reason: %s]", RemoveUnderScore(playerid), RemoveUnderScore(targetid), reason);
  518.         SendClientMessageToAll(GREY, str);
  519.         PlayerInfo[targetid][TimesKicked] ++;
  520.         KickPlayer(targetid);
  521.     }
  522.     else return NotAdmin(playerid);
  523.     return 1;
  524. }
  525. CMD:ban(playerid, params[])
  526. {
  527.     if(PlayerInfo[playerid][AdminLevel] >= 2)
  528.     {
  529.         new str[128], targetid, reason[128];
  530.         if(sscanf(params,"us[128]", targetid, reason)) return SendClientMessage(playerid, GREY, "Usage: /ban [player targetid or name] [reason]");
  531.         if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, NotConnected);
  532.         if(PlayerInfo[targetid][AdminLevel] > PlayerInfo[playerid][AdminLevel]) return SendClientMessage(playerid, GREY, "The person you are trying to Ban has Higher Admin Level than you.");
  533.         format(str, sizeof(str), "Administrator %s has Banned %s. [Reason: %s]", RemoveUnderScore(playerid), RemoveUnderScore(targetid), reason);
  534.         SendClientMessageToAll(GREY, str);
  535.         format(str, sizeof(str), "You have Banned %s's IP Address. [Reason: %s]", RemoveUnderScore(targetid), reason);
  536.         SendClientMessage(playerid, GREY, str);
  537.         PlayerInfo[targetid][Banned] = 1;
  538.         format(PlayerInfo[targetid][BannedBy], 32, "%s", RemoveUnderScore(playerid));
  539.         format(PlayerInfo[targetid][BanReason], 128, "%s", reason);
  540.         KickPlayer(targetid);
  541.     }
  542.     else return NotAdmin(playerid);
  543.     return 1;
  544. }
  545. CMD:goto(playerid, params[])
  546. {
  547.     if(PlayerInfo[playerid][AdminLevel] >= 3)
  548.     {
  549.         new targetid, Float:x, Float:y, Float:z, interior, vw, string[128];
  550.         if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, GREY, "Usage: /goto [player targetid or name]");
  551.         {
  552.             if(!IsPlayerConnected(targetid))return SendClientMessage(playerid, GREY, NotConnected);
  553.             GetPlayerPos(targetid, x, y, z);
  554.             interior = GetPlayerInterior(targetid);
  555.             vw = GetPlayerVirtualWorld(targetid);
  556.  
  557.             format(string, sizeof(string), "You have teleported to %s's position.", RemoveUnderScore(targetid));
  558.             SendClientMessage(playerid, LIBLUE, string);
  559.  
  560.             if(IsPlayerInAnyVehicle(playerid))
  561.             {
  562.                 SetVehiclePos(GetPlayerVehicleID(playerid), x+4, y, z);
  563.             }
  564.             else
  565.             {
  566.                 SetPlayerPos(playerid, x+4, y, z);
  567.                 SetPlayerInterior(playerid, interior);
  568.                 SetPlayerVirtualWorld(playerid, vw);
  569.             }
  570.         }
  571.     }
  572.     else return NotAdmin(playerid);
  573.     return 1;
  574. }
  575. CMD:get(playerid, params[])
  576. {
  577.     if(PlayerInfo[playerid][AdminLevel] >= 3)
  578.     {
  579.         new targetid, Float:x, Float:y, Float:z, interior, vw, string[128];
  580.         if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, GREY, "Usage: /get [player targetid or name]");
  581.         {
  582.             if(!IsPlayerConnected(targetid))return SendClientMessage(playerid, GREY, NotConnected);
  583.             GetPlayerPos(playerid, x, y, z);
  584.             interior = GetPlayerInterior(playerid);
  585.             vw = GetPlayerVirtualWorld(playerid);
  586.  
  587.             format(string, sizeof(string), "You have teleported %s to your position.", RemoveUnderScore(targetid));
  588.             SendClientMessage(playerid, LIBLUE, string);
  589.  
  590.             format(string, sizeof(string), "Admin %s has teleported you to their position.", RemoveUnderScore(playerid));
  591.             SendClientMessage(targetid, LIBLUE, string);
  592.  
  593.             if(IsPlayerInAnyVehicle(targetid))
  594.             {
  595.                 SetVehiclePos(GetPlayerVehicleID(targetid), x+4, y, z);
  596.             }
  597.             else
  598.             {
  599.                 SetPlayerPos(targetid, x+4, y, z);
  600.                 SetPlayerInterior(targetid, interior);
  601.                 SetPlayerVirtualWorld(targetid, vw);
  602.             }
  603.         }
  604.     }
  605.     else return NotAdmin(playerid);
  606.     return 1;
  607. }
  608. CMD:setint(playerid, params[])
  609. {
  610.     if(PlayerInfo[playerid][AdminLevel] >= 1)
  611.     {
  612.         new targetid, vw, string[128];
  613.         if(sscanf(params, "ud", targetid, vw)) return SendClientMessage(playerid, GREY, "Usage: /setint [player targetid or name] [interior]");
  614.         {
  615.             if(!IsPlayerConnected(targetid))return SendClientMessage(playerid, GREY, NotConnected);
  616.             SetPlayerInterior(targetid, vw);
  617.             format(string, sizeof(string), "Admin %s has set your Interior to %d.", RemoveUnderScore(playerid), vw);
  618.             SendClientMessage(targetid, LIBLUE, string);
  619.             format(string, sizeof(string), "You have set %s's Interior to %d.", RemoveUnderScore(targetid), vw);
  620.             SendClientMessage(playerid, LIBLUE, string);
  621.         }
  622.     }
  623.     else return NotAdmin(playerid);
  624.     return 1;
  625. }
  626. CMD:setvw(playerid, params[])
  627. {
  628.     if(PlayerInfo[playerid][AdminLevel] >= 1)
  629.     {
  630.         new targetid, vw, string[128];
  631.         if(sscanf(params, "ud", targetid, vw)) return SendClientMessage(playerid, GREY, "Usage: /setvw [player targetid or name] [virtualworld]");
  632.         {
  633.             if(!IsPlayerConnected(targetid))return SendClientMessage(playerid, GREY, NotConnected);
  634.             SetPlayerInterior(targetid, vw);
  635.             format(string, sizeof(string), "Admin %s has set your Virtual World to %d.", RemoveUnderScore(playerid), vw);
  636.             SendClientMessage(targetid, LIBLUE, string);
  637.             format(string, sizeof(string), "You have set %s's Virtual World to %d.", RemoveUnderScore(targetid), vw);
  638.             SendClientMessage(playerid, LIBLUE, string);
  639.         }
  640.     }
  641.     else return NotAdmin(playerid);
  642.     return 1;
  643. }
  644. CMD:warn(playerid, params[])
  645. {
  646.     if(PlayerInfo[playerid][AdminLevel] >= 1)
  647.     {
  648.         new targetid, warn[128], string[256];
  649.         if(sscanf(params, "us[128]", targetid, warn)) return SendClientMessage(playerid, GREY, "Usage: /warn [player targetid or name] [reason]");
  650.         {
  651.             if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, NotConnected);
  652.             format(string, sizeof(string), "{FF0000}* WARNING * from Admin %s. [Reason: %s]", RemoveUnderScore(playerid), warn);
  653.             SendClientMessage(targetid, WHITE, string);
  654.             format(string, sizeof(string), "{FF0000}You have warned %s for %s.", RemoveUnderScore(targetid), warn);
  655.             SendClientMessage(playerid, WHITE, string);
  656.             PlayerInfo[playerid][TimesWarned] ++;
  657.         }
  658.     }
  659.     else return NotAdmin(playerid);
  660.     return 1;
  661. }
  662. CMD:makeadmin(playerid, params[])
  663. {
  664.     if(PlayerInfo[playerid][AdminLevel] == 5)
  665.     {
  666.         new targetid, level, string[128];
  667.         if(sscanf(params, "ud", targetid, level)) return SendClientMessage(playerid, GREY, "Usage: /makeadmin [player targetid or name] [level]");
  668.         {
  669.             if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, NotConnected);
  670.             PlayerInfo[targetid][AdminLevel] = level;
  671.             format(string, sizeof(string), "Administrator %s has set your Admin Level to %s (Level %d).",GetAdminRank(targetid),RemoveUnderScore(playerid), level);
  672.             SendClientMessage(targetid, WHITE, string);
  673.             format(string, sizeof(string), "You have set %s's Admin Level to %d.", RemoveUnderScore(targetid), level);
  674.             SendClientMessage(playerid, WHITE, string);
  675.         }
  676.     }
  677.     else return NotAdmin(playerid);
  678.     return 1;
  679. }
  680. CMD:makehelper(playerid, params[])
  681. {
  682.     if(PlayerInfo[playerid][AdminLevel] == 5)
  683.     {
  684.         new targetid, string[128];
  685.         if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, GREY, "Usage: /makeadmin [player targetid or name]");
  686.         {
  687.             if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, NotConnected);
  688.             PlayerInfo[targetid][Helper] = 1;
  689.             format(string, sizeof(string), "Administrator %s has set your Helper Level to 1.",GetAdminRank(targetid),RemoveUnderScore(playerid));
  690.             SendClientMessage(targetid, WHITE, string);
  691.             format(string, sizeof(string), "You have set %s's Helper Level to 1.", RemoveUnderScore(targetid));
  692.             SendClientMessage(playerid, WHITE, string);
  693.         }
  694.     }
  695.     else return NotAdmin(playerid);
  696.     return 1;
  697. }
  698. // Version II
  699. CMD:freeze(playerid, params[])
  700. {
  701.     if(PlayerInfo[playerid][AdminLevel] >=4)
  702.     {
  703.         new id, string[128];
  704.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, GREY, "Usage: /freeze [player id or name]");
  705.         {
  706.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, GREY, NotConnected);
  707.             TogglePlayerControllable(id, 0);
  708.             format(string, sizeof(string), "Administrator %s has Freezed you.", RemoveUnderScore(playerid));
  709.             SendClientMessage(id, LIBLUE, string);
  710.             format(string, sizeof(string), "You have frozen %s(ID: %d)", RemoveUnderScore(id), id);
  711.             SendClientMessage(playerid, LIBLUE, string);
  712.         }
  713.     }
  714.     else return NotAdmin(playerid);
  715.     return 1;
  716. }
  717. CMD:unfreeze(playerid, params[])
  718. {
  719.     if(PlayerInfo[playerid][AdminLevel] >=4)
  720.     {
  721.         new id, string[128];
  722.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, GREY, "Usage: /unfreeze [player id or name]");
  723.         {
  724.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, GREY, NotConnected);
  725.             TogglePlayerControllable(id, 1);
  726.             format(string, sizeof(string), "Administrator %s has Unfreezed you.", RemoveUnderScore(playerid));
  727.             SendClientMessage(id, LIBLUE, string);
  728.             format(string, sizeof(string), "You have unfrozen %s(ID: %d)", RemoveUnderScore(id), id);
  729.             SendClientMessage(playerid, LIBLUE, string);
  730.         }
  731.     }
  732.     else return NotAdmin(playerid);
  733.     return 1;
  734. }
  735. CMD:slap(playerid, params[])
  736. {
  737.     if(PlayerInfo[playerid][AdminLevel] >= 4)
  738.     {
  739.         new id, string[128];
  740.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, GREY, "Usage: /slap [player id or name]");
  741.         {
  742.             if(!IsPlayerConnected(id))return SendClientMessage(playerid, GREY, NotConnected);
  743.             new Float:x, Float:y, Float:z;
  744.             GetPlayerPos(id, x, y, z);
  745.             SetPlayerPos(id, x, y, z+3);
  746.             format(string, sizeof(string), "Administrator %s has slapped you.", RemoveUnderScore(playerid));
  747.             SendClientMessage(id, LIBLUE, string);
  748.             format(string, sizeof(string), "You have slapped %s(ID: %d).", RemoveUnderScore(id), id);
  749.             SendClientMessage(playerid, LIBLUE, string);
  750.         }
  751.     }
  752.     else return NotAdmin(playerid);
  753.     return 1;
  754. }
  755. // ============= » PLAYER COMMANDS =============
  756. CMD:help(playerid, params[])
  757. {
  758.     if(Spawned[playerid])
  759.     {
  760.         if(sscanf(params, "s[128]", params))
  761.         {
  762.             SendClientMessage(playerid, GREY, "{0080FF}|_____________________ Commands Information _____________________|");
  763.             SendClientMessage(playerid, GREY, "{0080FF}Usage: {FFFFFF}/help [option]");
  764.             SendClientMessage(playerid, GREY, "| general | helper |");
  765.         }
  766.         else
  767.         {
  768.             if(!strcmp(params, "general", true))
  769.             {
  770.                 SendClientMessage(playerid, GREY, "GENERAL: /settings /admins /helpme /me /do /stats");
  771.             }
  772.             if(!strcmp(params, "helper", true))
  773.             {
  774.                 SendClientMessage(playerid, GREY, "HELPER: /helpme /hpm");
  775.             }
  776.         }
  777.     }
  778.     else return NotLogged(playerid);
  779.     return 1;
  780. }
  781. CMD:admins(playerid, params[])
  782. {
  783.     new str[128];
  784.     SendClientMessage(playerid, WHITE, "------------------------------------------------");
  785.     SendClientMessage(playerid, WHITE, "|--- » Brown County Roleplay - ONLINE STAFF ---|");
  786.     for(new i = 0; i < MAX_PLAYERS; i++)
  787.     {
  788.         if(IsPlayerConnected(i) && PlayerInfo[i][AdminLevel] >= 1)
  789.         {
  790.             if(aStatus[i] == 1)
  791.             {
  792.                 format(str, sizeof(str), "%s: %s ({40C040}Administrating)",GetAdminRank(i), RemoveUnderScore(i),i);
  793.             }
  794.             else if(aStatus[i] == 2)
  795.             {
  796.                 format(str, sizeof(str), "%s: %s ({D52B2B}Roleplaying)",GetAdminRank(i), RemoveUnderScore(i),i);
  797.             }
  798.             else if(aStatus[i] == 3)
  799.             {
  800.                 format(str, sizeof(str), "%s: %s ({EA9515}Off Duty)",GetAdminRank(i), RemoveUnderScore(i), i);
  801.             }
  802.             SendClientMessage(playerid, WHITE, str);
  803.         }
  804.     }
  805.     SendClientMessage(playerid, WHITE, "------------------------------------------------");
  806.     return 1;
  807. }
  808. CMD:settings(playerid, params[])
  809. {
  810.     if(Spawned[playerid])
  811.     {
  812.         ShowProfileSettings(playerid);
  813.     }
  814.     else return NotLogged(playerid);
  815.     return 1;
  816. }
  817. // Version II
  818. CMD:helpme(playerid, params[])
  819. {
  820.     new string[128];
  821.     if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, GREY, "Usage: /helpme [Message - What you need help with.]");
  822.     format(string, sizeof(string), "[HELP] Player %s (ID: %d): %s",RemoveUnderScore(playerid), playerid, params);
  823.     SendHelperMessage(LIBLUE, string);
  824.     SendClientMessage(playerid, LIBLUE, "Your report has been posted to Online Advisors.");
  825.     return 1;
  826. }
  827. CMD:hpm(playerid, params[])
  828. {
  829.     new targetid, string[128], text[128];
  830.     if(!PlayerInfo[playerid][Helper]) return SendClientMessage(playerid, GREY, "You don't have the required Helper Level to use this command.");
  831.     if(sscanf(params, "us[128]", targetid, text)) return SendClientMessage(playerid, GREY, "Usage: /hpm (playerid) (message)");
  832.     if(!strlen(text)) return SendClientMessage(playerid, GREY, "Please Enter Something.");
  833.     format(string, sizeof(string), "[HELP] Message Sent to %s (%d): %s", RemoveUnderScore(targetid), targetid, text);
  834.     SendClientMessage(playerid, LIBLUE, string);
  835.     format(string, sizeof(string), "[HELP] Message from Helper %s (%d): %s", RemoveUnderScore(playerid),playerid,text);
  836.     SendClientMessage(targetid, LIBLUE, string);
  837.     return 1;
  838. }
  839. CMD:me(playerid, params[])
  840. {
  841.     new string[128];
  842.     if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, GREY, "Usage: /me [action]");
  843.     format(string, sizeof(string), "%s %s",RemoveUnderScore(playerid), params);
  844.     CloseMessage(playerid, LIBLUE, string);
  845.     return 1;
  846. }
  847. CMD:do(playerid, params[])
  848. {
  849.     new string[128];
  850.     if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, GREY, "Usage: /do [action]");
  851.     format(string, sizeof(string), "%s ((%s))",params, RemoveUnderScore(playerid));
  852.     CloseMessage(playerid, LIBLUE, string);
  853.     return 1;
  854. }
  855. CMD:stats(playerid, params[])
  856. {
  857.     new string[512];
  858.     SendClientMessage(playerid, BLUE, "|_____[STATS]_____|");
  859.     // PLAYER NAME
  860.     format(string, sizeof(string), "Account Name: {50BB44}%s",PlayerInfo[playerid][Name]);
  861.     SendClientMessage(playerid, WHITE, string);
  862.     // GENDER
  863.     if(PlayerInfo[playerid][Gender] == 1) format(string, sizeof(string), "Gender: {50BB44}Male");
  864.     else if(PlayerInfo[playerid][Gender] == 2) format(string, sizeof(string), "Gender: {50BB44}Female");
  865.     SendClientMessage(playerid, WHITE, string);
  866.     // ADMIN LEVEL
  867.     if(PlayerInfo[playerid][AdminLevel] == 0) format (string, sizeof(string), "Administrator Level: {50BB44}None.");
  868.     else format(string, sizeof(string), "Administrator Level: {50BB44}%s {FFFFFF}(%d)",GetAdminRank(playerid),PlayerInfo[playerid][AdminLevel]);
  869.     SendClientMessage(playerid, WHITE, string);
  870.     // LEVEL
  871.     format(string, sizeof(string), "Level: {50BB44}%d",PlayerInfo[playerid][Level]);
  872.     SendClientMessage(playerid, WHITE, string);
  873.     return 1;
  874. }
  875. public OnPlayerConnect(playerid)
  876. {
  877.     SetPlayerColor(playerid, WHITE);
  878.     SetTimerEx("InterPol", 2000, 0, "i", playerid);
  879.     RemoveBuildings(playerid);
  880.     aStatus[playerid] = 1; // Administrating
  881.     if(IsValidName(playerid))
  882.     {
  883.         if(fexist(UserPath(playerid)))
  884.         {
  885.             INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  886.             if(!PlayerInfo[playerid][Banned])
  887.             {
  888.                 ShowLoginDialog(playerid);
  889.             }
  890.             else if(PlayerInfo[playerid][Banned])
  891.             {
  892.                 new string[128];
  893.                 SendClientMessage(playerid, GREY, "You are banned from Brown County Roleplay. Make a Ban Appeal On Forums, if you wish to be Unbanned.");
  894.                 format(string, sizeof(string), "Banned By: {50BB44}%s", PlayerInfo[playerid][BannedBy]);
  895.                 SendClientMessage(playerid, GREY, string);
  896.                
  897.                 format(string, sizeof(string), "Ban Reason: {50BB44}%s", PlayerInfo[playerid][BanReason]);
  898.                 SendClientMessage(playerid, GREY, string);
  899.                
  900.                 KickPlayer(playerid);
  901.             }
  902.         }
  903.         else
  904.         {
  905.             ShowRegisterDialog(playerid);
  906.         }
  907.     }
  908.     else
  909.     {
  910.         SendClientMessage(playerid, RED, "You have been Kicked for using Incorrect Name Format.Use Firstname_Lastname.");
  911.         KickPlayer(playerid);
  912.     }
  913.     return 1;
  914. }
  915. public OnPlayerDisconnect(playerid, reason)
  916. {
  917.     if(PlayerInfo[playerid][Registered])
  918.     {
  919.         if(Spawned[playerid])
  920.         {
  921.             SaveUser(playerid);
  922.         }
  923.     }
  924.     new string[128];
  925.     switch(reason)
  926.     {
  927.         case 0: format(string,sizeof string,"%s left the server. (Lost Connection)", RemoveUnderScore(playerid));
  928.         case 1: format(string,sizeof string,"%s left the server.", RemoveUnderScore(playerid));
  929.         case 2: format(string,sizeof string,"%s left the server. (Kicked/Banned)", RemoveUnderScore(playerid));
  930.     }
  931.     return 1;
  932. }
  933. public OnPlayerSpawn(playerid)
  934. {
  935.     HideMNT(playerid);
  936.     Spawned[playerid] = 1;
  937.     SetPlayerScore(playerid, PlayerInfo[playerid][Level]);
  938.     return 1;
  939. }
  940.  
  941. public OnPlayerDeath(playerid, killerid, reason)
  942. {
  943.     return 1;
  944. }
  945.  
  946. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  947. {
  948.     switch( dialogid )
  949.     {
  950.         case DIALOG_REGISTER:
  951.         {
  952.             if(!response)
  953.             {
  954.                 SendClientMessage(playerid, GREY,"You cannot proceed without Registeration.");
  955.                 ShowRegisterDialog(playerid);
  956.             }
  957.             if(response)
  958.             {
  959.                 if(!strlen(inputtext))
  960.                 {
  961.                     ShowRegisterDialog(playerid);
  962.                     SendClientMessage(playerid, GREY,"You cannot proceed without Registeration.");
  963.                 }
  964.                 else
  965.                 {
  966.                     PlayerInfo[playerid][Password] = udb_hash(inputtext);
  967.                     //SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  968.                     //SpawnPlayer(playerid);
  969.                     ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT,"{FFFFFF}Registeration Form","{FFFFFF}\nType in your {50BB44}Age. {FFFFFF} (( e.g '25' ))","Enter","");
  970.                 }
  971.             }
  972.         }
  973.         case DIALOG_AGE:
  974.         {
  975.             if(!response)
  976.             {
  977.                 SendClientMessage(playerid, GREY,"Please enter your {50BB44}Age.");
  978.                 ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT,"{FFFFFF}Registeration Form","{FFFFFF}\nType in your {50BB44}Age. {FFFFFF} (( e.g '25' ))","Enter","");
  979.             }
  980.             else if(response)
  981.             {
  982.                 PlayerInfo[playerid][Age] = strval(inputtext);
  983.                 ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_INPUT,"{FFFFFF}Registeration Form","{FFFFFF}\nPlease Enter your {50BB44}Gender. {FFFFFF} (( 'Male' or 'Female' ))","Enter","");
  984.             }
  985.         }
  986.         case DIALOG_GENDER:
  987.         {
  988.             if(!response)
  989.             {
  990.                 SendClientMessage(playerid, GREY,"Please select your {50BB44}Gender.");
  991.                 ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_INPUT,"{FFFFFF}Registeration Form","{FFFFFF}\nPlease Enter your {50BB44}Gender. {FFFFFF} (( 'Male' or 'Female' ))","Enter","");
  992.             }
  993.             else if(response)
  994.             {
  995.                 NewStats(playerid);
  996.                 if(!strlen(inputtext))
  997.                 {
  998.                     ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_INPUT,"{FFFFFF}Registeration Form","{FFFFFF}\nPlease Enter your {50BB44}Gender. {FFFFFF} (( 'Male' or 'Female' ))","Enter","");
  999.                     SendClientMessage(playerid, GREY,"Please select your {50BB44}Gender.");
  1000.                 }
  1001.                 if(strcmp(inputtext, "Male", true) == 0)
  1002.                 {
  1003.                     PlayerInfo[playerid][Gender] = 1;
  1004.                     SendCitizenship(playerid);
  1005.                 }
  1006.                 else if(strcmp(inputtext, "Female", true) == 0)
  1007.                 {
  1008.                     PlayerInfo[playerid][Gender] = 2;
  1009.                     SendCitizenship(playerid);
  1010.                 }
  1011.                 else
  1012.                 {
  1013.                     ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_INPUT,"{FFFFFF}Registeration Form","{FFFFFF}\nPlease Enter your {50BB44}Gender. {FFFFFF} (( 'Male' or 'Female' ))","Enter","");
  1014.                 }
  1015.             }
  1016.         }
  1017.         case DIALOG_LOGIN:
  1018.         {
  1019.             if(!response)
  1020.             {
  1021.                 ShowLoginDialog(playerid);
  1022.                 SendClientMessage(playerid, GREY,"You need to Login in order to play.");
  1023.             }
  1024.             if(response)
  1025.             {
  1026.                 if(udb_hash(inputtext) == PlayerInfo[playerid][Password])
  1027.                 {
  1028.                     INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  1029.                     GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);
  1030.                     ShowCharacterDialog(playerid);
  1031.                 }
  1032.                 else
  1033.                 {
  1034.                     ShowLoginDialog(playerid);
  1035.                     SendClientMessage(playerid, GREY, "Incorrect Password");
  1036.                     LoginAttempt[playerid] ++;
  1037.                     if(LoginAttempt[playerid] == 2)
  1038.                     {
  1039.                         LoginAttempt[playerid] = 0;
  1040.                         KickPlayer(playerid);
  1041.                     }
  1042.                 }
  1043.             }
  1044.         }
  1045.         case DIALOG_CHARSELECT:
  1046.         {
  1047.             if(!response)
  1048.             {
  1049.                 ShowCharacterDialog(playerid);
  1050.                 SendClientMessage(playerid, GREY,"Please Select your Character in order to spawn, or click 'Profile Settings' for the settings.");
  1051.             }
  1052.             if(response)
  1053.             {
  1054.                 switch(listitem)
  1055.                 {
  1056.                     case 0:
  1057.                     {
  1058.                         SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  1059.                         SpawnPlayer(playerid);
  1060.                         TogglePlayerSpectating(playerid, 0);
  1061.                         if(PlayerInfo[playerid][Skin]) SetPlayerSkin(playerid, 170);
  1062.                         else SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
  1063.                         ShowCharacterInformation(playerid);
  1064.                         HideMNT(playerid);
  1065.                     }
  1066.                     case 1:
  1067.                     {
  1068.                         ShowProfileSettings(playerid);
  1069.                     }
  1070.                 }
  1071.             }
  1072.         }
  1073.         case DIALOG_PROFILE:
  1074.         {
  1075.             if(!response)
  1076.             {
  1077.                 SendClientMessage(playerid, GREY,"You have chosen to close the Profile Settings.");
  1078.                 if(!Spawned[playerid])
  1079.                 {
  1080.                     ShowLoginDialog(playerid);
  1081.                 }
  1082.             }
  1083.             if(response)
  1084.             {
  1085.                 switch(listitem)
  1086.                 {
  1087.                     case 0:
  1088.                     {
  1089.                         // TO be Done Later
  1090.                     }
  1091.                     case 1:
  1092.                     {
  1093.                         ShowPlayerDialog(playerid, DIALOG_CHANGEAGE, DIALOG_STYLE_INPUT,"{FFFFFF}New Age","{FFFFFF}Please enter your Character's new age.","Enter","");
  1094.                     }
  1095.                     case 2:
  1096.                     {
  1097.                         ShowPlayerDialog(playerid, DIALOG_CHANGEGEN, DIALOG_STYLE_INPUT,"{FFFFFF}New Gender","{FFFFFF}Please enter your Character's new gender. (( 'Male' or 'Female' ))","Enter","");
  1098.                     }
  1099.                     case 3:
  1100.                     {
  1101.                         ShowPlayerDialog(playerid, DIALOG_CHANGEPASS, DIALOG_STYLE_INPUT,"{FFFFFF}New Password","{FFFFFF}Please enter your new password.","Enter","");
  1102.                     }
  1103.                 }
  1104.             }
  1105.         }
  1106.         case DIALOG_CHANGEAGE:
  1107.         {
  1108.             if(!response)
  1109.             {
  1110.                 SendClientMessage(playerid, GREY,"You have chosen to cancel the changes.");
  1111.             }
  1112.             else
  1113.             {
  1114.                 new string[128];
  1115.                 PlayerInfo[playerid][Age] = strval(inputtext);
  1116.                 format(string, sizeof(string), "You have set your Character's Age to {50BB44}%d.", strval(inputtext));
  1117.                 ShowPlayerDialog(playerid, DIALOG_AGEMSG, DIALOG_STYLE_MSGBOX, "{FFFFFF}New Age",string,"Ok","");
  1118.             }
  1119.         }
  1120.         case DIALOG_CHANGEGEN:
  1121.         {
  1122.             if(!response)
  1123.             {
  1124.                 SendClientMessage(playerid, GREY,"You have chosen to cancel the changes.");
  1125.             }
  1126.             else
  1127.             {
  1128.                 if(!strlen(inputtext))
  1129.                 {
  1130.                     SendClientMessage(playerid, GREY,"You have chosen to cancel the changes.");
  1131.                 }
  1132.                 if(strcmp(inputtext, "Male", true) == 0)
  1133.                 {
  1134.                     PlayerInfo[playerid][Gender] = 1;
  1135.                     SendClientMessage(playerid, GREY, "You have successfully changed your Gender to {50BB44}Male.");
  1136.                 }
  1137.                 else if(strcmp(inputtext, "Female", true) == 0)
  1138.                 {
  1139.                     PlayerInfo[playerid][Gender] = 2;
  1140.                     SendClientMessage(playerid, GREY, "You have successfully changed your Gender to {50BB44}Female.");
  1141.                 }
  1142.             }
  1143.         }
  1144.         case DIALOG_CHANGEPASS:
  1145.         {
  1146.             if(!response)
  1147.             {
  1148.                 SendClientMessage(playerid, GREY,"You have chosen to cancel the changes.");
  1149.             }
  1150.             else
  1151.             {
  1152.                 if(!strlen(inputtext))
  1153.                 {
  1154.                     SendClientMessage(playerid, GREY,"You have chosen to cancel the changes.");
  1155.                 }
  1156.                 else
  1157.                 {
  1158.                     new string[128];
  1159.                     format(string, sizeof(string), "You have successfully changed your password to {50BB44}%s.", inputtext);
  1160.                     SendClientMessage(playerid, GREY, string);
  1161.                     PlayerInfo[playerid][Password] = udb_hash(inputtext);
  1162.                 }
  1163.             }
  1164.         }
  1165.         case DIALOG_ASTATUS:
  1166.         {
  1167.             if(!response)
  1168.             {
  1169.                 // Do nothing
  1170.             }
  1171.             else if(response)
  1172.             {
  1173.                 switch(listitem)
  1174.                 {
  1175.                     case 0:
  1176.                     {
  1177.                         aStatus[playerid] = 1;
  1178.                         SendClientMessage(playerid, GREY,"You have Changed your Administrator Status to {58A624}Administrating.");
  1179.                     }
  1180.                     case 1:
  1181.                     {
  1182.                         aStatus[playerid] = 2;
  1183.                         SendClientMessage(playerid, GREY,"You have Changed your Administrator Status to {FF0000}Roleplaying.");
  1184.                     }
  1185.                     case 2:
  1186.                     {
  1187.                         aStatus[playerid] = 3;
  1188.                         SendClientMessage(playerid, GREY,"You have Changed your Administrator Status to {FF8C00}Off Duty.");
  1189.                     }
  1190.                 }
  1191.             }
  1192.         }
  1193.     }
  1194.     return 1;
  1195. }
  1196. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1197. {
  1198.     return 1;
  1199. }
  1200. forward RemoveBuildings(playerid);
  1201. public RemoveBuildings(playerid)
  1202. {
  1203.     // PLACE THE REMOVEBUILDINGS HERE
  1204.     return 1;
  1205. }
  1206. forward LoadMaps();
  1207. public LoadMaps()
  1208. {
  1209.     // PLACE YOUR MAPPINGS HERE
  1210.     return 1;
  1211. }
  1212. stock LoadMainScreenTXD()
  1213. {
  1214.     TDEditor_TD[0] = TextDrawCreate(-27.500000, -50.625000, "box");
  1215.     TextDrawLetterSize(TDEditor_TD[0], 0.000000, 18.599998);
  1216.     TextDrawTextSize(TDEditor_TD[0], 699.500000, 0.000000);
  1217.     TextDrawAlignment(TDEditor_TD[0], 1);
  1218.     TextDrawColor(TDEditor_TD[0], -1);
  1219.     TextDrawUseBox(TDEditor_TD[0], 1);
  1220.     TextDrawBoxColor(TDEditor_TD[0], 110);
  1221.     TextDrawSetShadow(TDEditor_TD[0], 0);
  1222.     TextDrawSetOutline(TDEditor_TD[0], 0);
  1223.     TextDrawBackgroundColor(TDEditor_TD[0], 255);
  1224.     TextDrawFont(TDEditor_TD[0], 1);
  1225.     TextDrawSetProportional(TDEditor_TD[0], 1);
  1226.     TextDrawSetShadow(TDEditor_TD[0], 0);
  1227.  
  1228.     TDEditor_TD[1] = TextDrawCreate(193.000000, 39.062500, "brown_County");
  1229.     TextDrawLetterSize(TDEditor_TD[1], 0.865500, 3.332499);
  1230.     TextDrawAlignment(TDEditor_TD[1], 1);
  1231.     TextDrawColor(TDEditor_TD[1], -1);
  1232.     TextDrawSetShadow(TDEditor_TD[1], 0);
  1233.     TextDrawSetOutline(TDEditor_TD[1], 1);
  1234.     TextDrawBackgroundColor(TDEditor_TD[1], 255);
  1235.     TextDrawFont(TDEditor_TD[1], 3);
  1236.     TextDrawSetProportional(TDEditor_TD[1], 1);
  1237.     TextDrawSetShadow(TDEditor_TD[1], 0);
  1238.  
  1239.     TDEditor_TD[2] = TextDrawCreate(265.500000, 70.125000, "Roleplay");
  1240.     TextDrawLetterSize(TDEditor_TD[2], 0.737999, 2.396251);
  1241.     TextDrawAlignment(TDEditor_TD[2], 1);
  1242.     TextDrawColor(TDEditor_TD[2], -1);
  1243.     TextDrawSetShadow(TDEditor_TD[2], 0);
  1244.     TextDrawSetOutline(TDEditor_TD[2], 1);
  1245.     TextDrawBackgroundColor(TDEditor_TD[2], 255);
  1246.     TextDrawFont(TDEditor_TD[2], 0);
  1247.     TextDrawSetProportional(TDEditor_TD[2], 1);
  1248.     TextDrawSetShadow(TDEditor_TD[2], 0);
  1249.  
  1250.     TDEditor_TD[3] = TextDrawCreate(452.000000, 16.312500, "");
  1251.     TextDrawLetterSize(TDEditor_TD[3], 0.000000, 0.000000);
  1252.     TextDrawTextSize(TDEditor_TD[3], 60.000000, 72.062500);
  1253.     TextDrawAlignment(TDEditor_TD[3], 1);
  1254.     TextDrawColor(TDEditor_TD[3], -1);
  1255.     TextDrawSetShadow(TDEditor_TD[3], 0);
  1256.     TextDrawSetOutline(TDEditor_TD[3], 0);
  1257.     TextDrawBackgroundColor(TDEditor_TD[3], 0);
  1258.     TextDrawFont(TDEditor_TD[3], 5);
  1259.     TextDrawSetProportional(TDEditor_TD[3], 1);
  1260.     TextDrawSetShadow(TDEditor_TD[3], 0);
  1261.     TextDrawSetPreviewModel(TDEditor_TD[3], 170);
  1262.     TextDrawSetPreviewRot(TDEditor_TD[3], 0.000000, 0.000000, -30.000000, 1.000000);
  1263.  
  1264.     TDEditor_TD[4] = TextDrawCreate(419.500000, 18.062500, "");
  1265.     TextDrawLetterSize(TDEditor_TD[4], 0.000000, 0.000000);
  1266.     TextDrawTextSize(TDEditor_TD[4], 60.000000, 72.062500);
  1267.     TextDrawAlignment(TDEditor_TD[4], 1);
  1268.     TextDrawColor(TDEditor_TD[4], -1);
  1269.     TextDrawSetShadow(TDEditor_TD[4], 0);
  1270.     TextDrawSetOutline(TDEditor_TD[4], 0);
  1271.     TextDrawBackgroundColor(TDEditor_TD[4], 0);
  1272.     TextDrawFont(TDEditor_TD[4], 5);
  1273.     TextDrawSetProportional(TDEditor_TD[4], 1);
  1274.     TextDrawSetShadow(TDEditor_TD[4], 0);
  1275.     TextDrawSetPreviewModel(TDEditor_TD[4], 161);
  1276.     TextDrawSetPreviewRot(TDEditor_TD[4], 0.000000, 0.000000, 30.000000, 1.000000);
  1277.  
  1278.     TDEditor_TD[5] = TextDrawCreate(-56.000000, 312.937500, "box");
  1279.     TextDrawLetterSize(TDEditor_TD[5], 0.000000, 18.599998);
  1280.     TextDrawTextSize(TDEditor_TD[5], 671.000000, 0.000000);
  1281.     TextDrawAlignment(TDEditor_TD[5], 1);
  1282.     TextDrawColor(TDEditor_TD[5], -1);
  1283.     TextDrawUseBox(TDEditor_TD[5], 1);
  1284.     TextDrawBoxColor(TDEditor_TD[5], 110);
  1285.     TextDrawSetShadow(TDEditor_TD[5], 0);
  1286.     TextDrawSetOutline(TDEditor_TD[5], 0);
  1287.     TextDrawBackgroundColor(TDEditor_TD[5], 255);
  1288.     TextDrawFont(TDEditor_TD[5], 1);
  1289.     TextDrawSetProportional(TDEditor_TD[5], 1);
  1290.     TextDrawSetShadow(TDEditor_TD[5], 0);
  1291.  
  1292.     TDEditor_TD[6] = TextDrawCreate(0.500000, 123.937500, "box");
  1293.     TextDrawLetterSize(TDEditor_TD[6], 0.000000, -0.649999);
  1294.     TextDrawTextSize(TDEditor_TD[6], 697.500000, 0.000000);
  1295.     TextDrawAlignment(TDEditor_TD[6], 1);
  1296.     TextDrawColor(TDEditor_TD[6], -1);
  1297.     TextDrawUseBox(TDEditor_TD[6], 1);
  1298.     TextDrawBoxColor(TDEditor_TD[6], 110);
  1299.     TextDrawSetShadow(TDEditor_TD[6], 0);
  1300.     TextDrawSetOutline(TDEditor_TD[6], 0);
  1301.     TextDrawBackgroundColor(TDEditor_TD[6], 255);
  1302.     TextDrawFont(TDEditor_TD[6], 1);
  1303.     TextDrawSetProportional(TDEditor_TD[6], 1);
  1304.     TextDrawSetShadow(TDEditor_TD[6], 0);
  1305.  
  1306.     TDEditor_TD[7] = TextDrawCreate(-18.000000, 311.625000, "box");
  1307.     TextDrawLetterSize(TDEditor_TD[7], 0.000000, -0.649999);
  1308.     TextDrawTextSize(TDEditor_TD[7], 679.000000, 0.000000);
  1309.     TextDrawAlignment(TDEditor_TD[7], 1);
  1310.     TextDrawColor(TDEditor_TD[7], -1);
  1311.     TextDrawUseBox(TDEditor_TD[7], 1);
  1312.     TextDrawBoxColor(TDEditor_TD[7], 110);
  1313.     TextDrawSetShadow(TDEditor_TD[7], 0);
  1314.     TextDrawSetOutline(TDEditor_TD[7], 0);
  1315.     TextDrawBackgroundColor(TDEditor_TD[7], 255);
  1316.     TextDrawFont(TDEditor_TD[7], 1);
  1317.     TextDrawSetProportional(TDEditor_TD[7], 1);
  1318.     TextDrawSetShadow(TDEditor_TD[7], 0);
  1319.  
  1320.     TDEditor_TD[8] = TextDrawCreate(8.000000, 427.562500, "www.browncountyrp.tk");
  1321.     TextDrawLetterSize(TDEditor_TD[8], 0.287499, 1.315625);
  1322.     TextDrawAlignment(TDEditor_TD[8], 1);
  1323.     TextDrawColor(TDEditor_TD[8], -1);
  1324.     TextDrawSetShadow(TDEditor_TD[8], 0);
  1325.     TextDrawSetOutline(TDEditor_TD[8], 1);
  1326.     TextDrawBackgroundColor(TDEditor_TD[8], 255);
  1327.     TextDrawFont(TDEditor_TD[8], 1);
  1328.     TextDrawSetProportional(TDEditor_TD[8], 1);
  1329.     TextDrawSetShadow(TDEditor_TD[8], 0);
  1330.     return 1;
  1331. }
  1332. stock ShowMNT(playerid)
  1333. {
  1334.     for(new i = 0; i < 9; i++)
  1335.     {
  1336.         TextDrawShowForPlayer(playerid, TDEditor_TD[i]);
  1337.     }
  1338. }
  1339.  
  1340. stock HideMNT(playerid)
  1341. {
  1342.     for(new i = 0; i < 9; i++)
  1343.     {
  1344.         TextDrawHideForPlayer(playerid, TDEditor_TD[i]);
  1345.     }
  1346. }
Advertisement
Add Comment
Please, Sign In to add comment