Advertisement
Guest User

Soumi -- Advanced gangs filterscript

a guest
Jan 13th, 2012
3,569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 47.79 KB | None | 0 0
  1. /*
  2. Advanced gangs filterscript created by Soumi.
  3. Copyright Soumi 2011.
  4. Admin commands:
  5. You need to be an RCON admin to use these commands.
  6. - /makegangleader [playerid] [gangid]: to make someone a gang leader.
  7. - /resetgang [gangid]: to reset a gang, it will change the gang name to Nothing, leader name to Nobody and everything else to default, it will also kick the online members of this gang.
  8. Regular player commands:
  9. - /gangs: it will show a list of the gangs.
  10. - /acceptgang: When you are invited to join a gang, use this command to accept.
  11. - /loadganginfo: When you join the server, you should use this command to load your gang info (Gang id and rank) and will show the gang MOTD.
  12. Gang Members commands:
  13. - /{g}ang: Gang chat.
  14. - /adjustgang: it is only working for rank 5 and 6, it will show a dialog where you can change the gang name/MOTD/Rank names/Gang Color/Gang skins.
  15. - /giverank: to change a gang member rank, works only for rank 5/6 command.
  16. - /gkick: to kick someone from the gang, works only for rank 5/6 command.
  17. - /ginvite: to invite someone to the gang, works only for rank 5/6 command.
  18. - /gquit: to quit the gang.
  19. - /gclothes: to set change your skin to the gang skin.
  20. - /gmembers: shows a list of current online gang members.
  21. */
  22.  
  23. #define filterscript
  24. #include <a_samp>
  25. #include <zcmd>
  26. #include <sscanf2>
  27. #include <dini>
  28.  
  29. #define MAX_GANGS              5
  30.  
  31.  
  32. // Colors defines
  33.  
  34. #define GREY            0xCECECEFF
  35. #define WHITE           0xFFFFFFFF
  36. #define RED             0xAA3333AA
  37. #define GOLD            0xB8860BAA
  38. #define ACTION_COLOR    0xC2A2DAAA
  39. #define GREEN           0x33AA33AA
  40. #define ORANGE          0xFF9900AA
  41. #define GUARDS_RADIO    0x33CCFFAA
  42. #define DOCTORS_RADIO   0xFFC0CBAA
  43. #define YELLOW          0xFFFF00AA
  44. #define BRONZE          0x800000AA
  45. #define SILVER          0xF5F5F5FF
  46.  
  47.  
  48. //Dialogs defines
  49.  
  50. #define DIALOG_ADJUSTGANG  21
  51. #define DIALOG_GANGNAME    22
  52. #define DIALOG_GANGMOTD    23
  53. #define DIALOG_RANK1NAME   24
  54. #define DIALOG_RANK2NAME   25
  55. #define DIALOG_RANK3NAME   26
  56. #define DIALOG_RANK4NAME   27
  57. #define DIALOG_RANK5NAME   28
  58. #define DIALOG_RANK6NAME   29
  59. #define DIALOG_GANGCOLOR   30
  60. #define DIALOG_RANK1SKIN   31
  61. #define DIALOG_RANK2SKIN   32
  62. #define DIALOG_RANK3SKIN   33
  63. #define DIALOG_RANK4SKIN   34
  64. #define DIALOG_RANK5SKIN   35
  65. #define DIALOG_RANK6SKIN   36
  66.  
  67. // Player Stats
  68.  
  69. enum PlayerInfo
  70. {
  71.      GangID,
  72.      GangRank,
  73.      BeingInvitedToGang,
  74.  
  75. }
  76. new PlayerStat[MAX_PLAYERS][PlayerInfo];
  77.  
  78. // Gang Stats
  79.  
  80. enum GangInfo
  81. {
  82.     GangFile[255],
  83.     GangName[255],
  84.     Leader[255],
  85.     Members,
  86.     Rank1[255],
  87.     Rank2[255],
  88.     Rank3[255],
  89.     Rank4[255],
  90.     Rank5[255],
  91.     Rank6[255],
  92.     MOTD[255],
  93.     Color,
  94.     Skin1,
  95.     Skin2,
  96.     Skin3,
  97.     Skin4,
  98.     Skin5,
  99.     Skin6,
  100. }
  101. new GangStat[MAX_GANGS][GangInfo];
  102.  
  103. #if defined filterscript
  104.  
  105. public OnFilterScriptInit()
  106. {
  107.     print("\n--------------------------------------");
  108.     print("     Advanced gang system by Soumi      ");
  109.     print("--------------------------------------\n");
  110.     LoadGangs();
  111.     return 1;
  112. }
  113.  
  114. stock LoadGangs()
  115. {
  116.     for(new i = 1; i < MAX_GANGS; i++)
  117.     {
  118.         format(GangStat[i][GangFile], 60, "Gangs/Gang %d.ini", i);
  119.         if(fexist(GangStat[i][GangFile]))
  120.         {
  121.  
  122.            GangStat[i][Leader] = dini_Get(GangStat[i][GangFile], "Leader");
  123.            GangStat[i][GangName] = dini_Get(GangStat[i][GangFile], "Name");
  124.            GangStat[i][MOTD] = dini_Get(GangStat[i][GangFile], "MOTD");
  125.  
  126.            GangStat[i][Rank1] = dini_Get(GangStat[i][GangFile], "Rank1");
  127.            GangStat[i][Rank2] = dini_Get(GangStat[i][GangFile], "Rank2");
  128.            GangStat[i][Rank3] = dini_Get(GangStat[i][GangFile], "Rank3");
  129.            GangStat[i][Rank4] = dini_Get(GangStat[i][GangFile], "Rank4");
  130.            GangStat[i][Rank5] = dini_Get(GangStat[i][GangFile], "Rank5");
  131.            GangStat[i][Rank6] = dini_Get(GangStat[i][GangFile], "Rank6");
  132.  
  133.            GangStat[i][Skin1] = dini_Int(GangStat[i][GangFile], "Skin1");
  134.            GangStat[i][Skin2] = dini_Int(GangStat[i][GangFile], "Skin2");
  135.            GangStat[i][Skin3] = dini_Int(GangStat[i][GangFile], "Skin3");
  136.            GangStat[i][Skin4] = dini_Int(GangStat[i][GangFile], "Skin4");
  137.            GangStat[i][Skin5] = dini_Int(GangStat[i][GangFile], "Skin5");
  138.            GangStat[i][Skin6] = dini_Int(GangStat[i][GangFile], "Skin6");
  139.  
  140.            GangStat[i][Members] = dini_Int(GangStat[i][GangFile], "Members");
  141.  
  142.            GangStat[i][Color] = dini_Int(GangStat[i][GangFile], "Color");
  143.  
  144.         }
  145.     }
  146.     return 1;
  147. }
  148.  
  149. public OnFilterScriptExit()
  150. {
  151.     return 1;
  152. }
  153.  
  154. #else
  155.  
  156. main()
  157. {
  158.     print("\n--------------------------------------");
  159.     print("     Advanced gang system by Soumi      ");
  160.     print("--------------------------------------\n");
  161. }
  162.  
  163. #endif
  164.  
  165. //-----------------------------------------------------------------------[Gang members Commands]------------------------------------------------------------------------------
  166.  
  167. COMMAND:g(playerid, params[])
  168. {
  169.     new message[128], str[128];
  170.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  171.     if(sscanf(params,"s[128]", message))return SendClientMessage(playerid, GREY, "USAGE: /g{ang} [message]");
  172.     switch(PlayerStat[playerid][GangRank])
  173.     {
  174.         case 1:
  175.         {
  176.             format(str, sizeof(str), "(( %s (1) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank1], GetName(playerid), message);
  177.         }
  178.         case 2:
  179.         {
  180.             format(str, sizeof(str), "(( %s (2) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank2], GetName(playerid), message);
  181.         }
  182.         case 3:
  183.         {
  184.             format(str, sizeof(str), "(( %s (3) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank3], GetName(playerid), message);
  185.         }
  186.         case 4:
  187.         {
  188.             format(str, sizeof(str), "(( %s (4) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank4], GetName(playerid), message);
  189.         }
  190.         case 5:
  191.         {
  192.             format(str, sizeof(str), "(( %s (5) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank5], GetName(playerid), message);
  193.         }
  194.         case 6:
  195.         {
  196.             format(str, sizeof(str), "(( %s (6) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank6], GetName(playerid), message);
  197.         }
  198.     }
  199.     SendGangMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  200.     return 1;
  201. }
  202.  
  203. COMMAND:gang(playerid, params[])
  204. {
  205.     new message[128], str[128];
  206.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  207.     if(sscanf(params,"s[128]", message))return SendClientMessage(playerid, GREY, "USAGE: /g{ang} [message]");
  208.     switch(PlayerStat[playerid][GangRank])
  209.     {
  210.         case 1:
  211.         {
  212.             format(str, sizeof(str), "(( %s (1) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank1], GetName(playerid), message);
  213.         }
  214.         case 2:
  215.         {
  216.             format(str, sizeof(str), "(( %s (2) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank2], GetName(playerid), message);
  217.         }
  218.         case 3:
  219.         {
  220.             format(str, sizeof(str), "(( %s (3) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank3], GetName(playerid), message);
  221.         }
  222.         case 4:
  223.         {
  224.             format(str, sizeof(str), "(( %s (4) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank4], GetName(playerid), message);
  225.         }
  226.         case 5:
  227.         {
  228.             format(str, sizeof(str), "(( %s (5) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank5], GetName(playerid), message);
  229.         }
  230.         case 6:
  231.         {
  232.             format(str, sizeof(str), "(( %s (6) %s: %s ))", GangStat[PlayerStat[playerid][GangID]][Rank6], GetName(playerid), message);
  233.         }
  234.     }
  235.     SendGangMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  236.     return 1;
  237. }
  238.  
  239. COMMAND:adjustgang(playerid, params[])
  240. {
  241.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  242.     if(PlayerStat[playerid][GangRank] < 5) return SendClientMessage(playerid, GREY, "You must be rank 5/6 to use this command.");
  243.     ShowPlayerDialog(playerid, DIALOG_ADJUSTGANG, DIALOG_STYLE_LIST, "What are you going to adjust?", "Gang Name\nGang MOTD\nRank 1 name\nRank 2 name\nRank 3 name\nRank 4 name\nRank 5 name\nRank 6 name\nColor\nRank 1 Skin\nRank 2 Skin\nRank 3 Skin\nRank 4 Skin\nRank 5 Skin\nRank 6 Skin", "Select", "Quit");
  244.     return 1;
  245. }
  246.  
  247. COMMAND:giverank(playerid, params[])
  248. {
  249.     new targetid, rank, str[128];
  250.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  251.     if(PlayerStat[playerid][GangRank] < 5) return SendClientMessage(playerid, GREY, "You must be rank 5/6 to use this command.");
  252.     if(sscanf(params,"ud", targetid, rank))return SendClientMessage(playerid, GREY, "USAGE: /giverank [playerid] [rank]");
  253.     if(playerid == targetid) return SendClientMessage(playerid, GREY, "You can't change your rank.");
  254.     if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, "Target ID not found.");
  255.     if(PlayerStat[playerid][GangID] != PlayerStat[targetid][GangID]) return SendClientMessage(playerid, GREY, "Target ID isn't in your gang.");
  256.     if(PlayerStat[playerid][GangRank] <= PlayerStat[targetid][GangRank]) return SendClientMessage(playerid, GREY, "Target ID has same or higher rank.");
  257.     PlayerStat[targetid][GangRank] = rank;
  258.     format(str, sizeof(str), "%s has gave rank %d to %s.", GetName(playerid), rank, GetName(targetid));
  259.     SendGangMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  260.     SavePlayerGangInfo(targetid);
  261.     return 1;
  262. }
  263.  
  264. COMMAND:ginvite(playerid, params[])
  265. {
  266.     new targetid, str[128];
  267.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  268.     if(PlayerStat[playerid][GangRank] < 5) return SendClientMessage(playerid, GREY, "You must be rank 5/6 to use this command.");
  269.     if(sscanf(params,"u", targetid))return SendClientMessage(playerid, GREY, "USAGE: /ginvite [playerid]");
  270.     if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, "Target ID not found.");
  271.     if(PlayerStat[targetid][GangID] >= 1) return SendClientMessage(playerid, GREY, "Target ID is already in a Gang/Faction.");
  272.     PlayerStat[targetid][BeingInvitedToGang] = PlayerStat[playerid][GangID];
  273.     format(str, sizeof(str), "%s has invited %s to join %s.", GetName(playerid), GetName(targetid), GangStat[PlayerStat[playerid][GangID]][GangName]);
  274.     SendGangMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  275.     format(str, sizeof(str), "%s has invited you to join %s, use /acceptgang to join!");
  276.     SendClientMessage(targetid, GangStat[PlayerStat[playerid][GangID]][GangName], str);
  277.     return 1;
  278. }
  279.  
  280. COMMAND:gkick(playerid, params[])
  281. {
  282.     new targetid, str[128];
  283.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  284.     if(PlayerStat[playerid][GangRank] < 5) return SendClientMessage(playerid, GREY, "You must be rank 5/6 to use this command.");
  285.     if(sscanf(params,"u", targetid))return SendClientMessage(playerid, GREY, "USAGE: /gkick [playerid]");
  286.     if(playerid == targetid) return SendClientMessage(playerid, GREY, "You can't kick yourself, use /gquit.");
  287.     if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, "Target ID not found.");
  288.     if(PlayerStat[playerid][GangID] != PlayerStat[targetid][GangID]) return SendClientMessage(playerid, GREY, "Target ID isn't in your gang.");
  289.     if(PlayerStat[playerid][GangRank] <= PlayerStat[targetid][GangRank]) return SendClientMessage(playerid, GREY, "Target ID has same or higher rank.");
  290.     format(str, sizeof(str), "%s has kicked %s from the gang.", GetName(playerid), GetName(targetid));
  291.     SendGangMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  292.     GangStat[PlayerStat[playerid][GangID]][Members] -= 1;
  293.     PlayerStat[targetid][GangID] = 0;
  294.     PlayerStat[targetid][GangRank] = 0;
  295.     SaveGang(PlayerStat[playerid][GangID]);
  296.     SavePlayerGangInfo(targetid);
  297.     return 1;
  298. }
  299.  
  300. COMMAND:gquit(playerid, params[])
  301. {
  302.     new str[128];
  303.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  304.     format(str, sizeof(str), "%s has quited the gang.", GetName(playerid));
  305.     SendGangMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  306.     GangStat[PlayerStat[playerid][GangID]][Members] -= 1;
  307.     SaveGang(PlayerStat[playerid][GangID]);
  308.     PlayerStat[playerid][GangID] = 0;
  309.     PlayerStat[playerid][GangRank] = 0;
  310.     return 1;
  311. }
  312.  
  313. COMMAND:gclothes(playerid, params[])
  314. {
  315.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  316.     if(PlayerStat[playerid][GangRank] == 1) return SetPlayerSkin(playerid, GangStat[PlayerStat[playerid][GangID]][Skin1]);
  317.     else if(PlayerStat[playerid][GangRank] == 2) return SetPlayerSkin(playerid, GangStat[PlayerStat[playerid][GangID]][Skin2]);
  318.     else if(PlayerStat[playerid][GangRank] == 3) return SetPlayerSkin(playerid, GangStat[PlayerStat[playerid][GangID]][Skin3]);
  319.     else if(PlayerStat[playerid][GangRank] == 4) return SetPlayerSkin(playerid, GangStat[PlayerStat[playerid][GangID]][Skin4]);
  320.     else if(PlayerStat[playerid][GangRank] == 5) return SetPlayerSkin(playerid, GangStat[PlayerStat[playerid][GangID]][Skin5]);
  321.     else if(PlayerStat[playerid][GangRank] == 6) return SetPlayerSkin(playerid, GangStat[PlayerStat[playerid][GangID]][Skin6]);
  322.     return 1;
  323. }
  324.  
  325.  
  326. COMMAND:gmembers(playerid, params[])
  327. {
  328.     new str[128];
  329.     if(PlayerStat[playerid][GangID] < 1) return SendClientMessage(playerid, GREY, "You must be in a gang to use this command.");
  330.     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "Online Gang Members:");
  331.     for(new i = 0; i < MAX_PLAYERS; i++)
  332.     {
  333.         if(IsPlayerConnected(i) && PlayerStat[playerid][GangID] == PlayerStat[i][GangID])
  334.         {
  335.             format(str, sizeof(str), "%s, Rank %d.", GetName(i), PlayerStat[i][GangRank]);
  336.             SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  337.         }
  338.     }
  339.     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "--------------------------------");
  340.     return 1;
  341. }
  342.  
  343. //-----------------------------------------------------------------------[Admin Commands]------------------------------------------------------------------------------
  344.  
  345. COMMAND:makegangleader(playerid, params[])
  346. {
  347.     new targetid, Gang, str[128];
  348.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, GREY, "You can't use this command.");
  349.     if(sscanf(params,"ud", targetid, Gang))return SendClientMessage(playerid, GREY, "USAGE: /makegangleader [playerid] [gangid]");
  350.     if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, GREY, "Target ID not found.");
  351.     if(Gang <= 0) return SendClientMessage(playerid, GREY, "Invalid Gang ID.");
  352.     if(Gang >= MAX_GANGS) return SendClientMessage(playerid, GREY, "Invalid Gang ID.");
  353.     format(str, sizeof(str), "Admin %s has made %s leader of Gang ID %d.", GetName(playerid), GetName(targetid), Gang);
  354.     SendClientMessageToAll(RED, str);
  355.     PlayerStat[targetid][GangID] = Gang;
  356.     PlayerStat[targetid][GangRank] = 6;
  357.     format(GangStat[PlayerStat[targetid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[targetid][GangID]);
  358.     format(GangStat[PlayerStat[targetid][GangID]][Leader], 60, "%s", GetName(targetid));
  359.     SaveGang(Gang);
  360.     SavePlayerGangInfo(targetid);
  361.     return 1;
  362. }
  363.  
  364. COMMAND:resetgang(playerid, params[])
  365. {
  366.     new Gang, str[128];
  367.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, GREY, "You can't use this command.");
  368.     if(sscanf(params,"d", Gang))return SendClientMessage(playerid, GREY, "USAGE: /resetgang [gangid]");
  369.     if(Gang <= 0) return SendClientMessage(playerid, GREY, "Invalid Gang ID.");
  370.     if(Gang >= MAX_GANGS) return SendClientMessage(playerid, GREY, "Invalid Gang ID.");
  371.     format(GangStat[Gang][GangFile], 60, "Gangs/Gang %d.ini", Gang);
  372.     if(fexist(GangStat[Gang][GangFile]))
  373.     {
  374.         format(GangStat[Gang][Leader], 60, "Nobody");
  375.         format(GangStat[Gang][GangName], 60, "Nothing");
  376.         format(GangStat[Gang][Rank1], 60, "None");
  377.         format(GangStat[Gang][Rank2], 60, "None");
  378.         format(GangStat[Gang][Rank3], 60, "None");
  379.         format(GangStat[Gang][Rank4], 60, "None");
  380.         format(GangStat[Gang][Rank5], 60, "None");
  381.         format(GangStat[Gang][Rank6], 60, "None");
  382.         format(GangStat[Gang][MOTD], 128, "Welcome Back to BPRP.");
  383.         GangStat[Gang][Skin1] = 50;
  384.         GangStat[Gang][Skin2] = 50;
  385.         GangStat[Gang][Skin3] = 50;
  386.         GangStat[Gang][Skin4] = 50;
  387.         GangStat[Gang][Skin5] = 50;
  388.         GangStat[Gang][Skin6] = 50;
  389.         GangStat[Gang][Members] = 0;
  390.  
  391.         SaveGang(Gang);
  392.  
  393.         format(str, sizeof(str), "Admin %s has re-setted Gang ID %d.", GetName(playerid), Gang);
  394.         SendClientMessageToAll(RED, str);
  395.  
  396.         for(new i = 0; i < MAX_PLAYERS; i++)
  397.         {
  398.             if(IsPlayerConnected(i) && PlayerStat[i][GangID] == Gang)
  399.             {
  400.                 SendClientMessage(i, RED, "You have been kicked from your gang by an admin");
  401.                 PlayerStat[i][GangID] = 0;
  402.                 PlayerStat[i][GangRank] = 0;
  403.                 SavePlayerGangInfo(i);
  404.             }
  405.         }
  406.  
  407.     }
  408.     return 1;
  409. }
  410.  
  411.  
  412. //-----------------------------------------------------------------------[Regular Players Commands]------------------------------------------------------------------------------
  413.  
  414.  
  415. COMMAND:gangs(playerid, params[])
  416. {
  417.     new str[128];
  418.     SendClientMessage(playerid, WHITE, "----------------------------------------------------------------------------------------------------------");
  419.     for(new i = 1; i < MAX_GANGS; i++)
  420.     {
  421.         format(str, sizeof(str), "Gang Name: %s, Leader: %s, Members: %d.", GangStat[i][GangName], GangStat[i][Leader], GangStat[i][Members]);
  422.         SendClientMessage(playerid, GangStat[i][Color], str);
  423.     }
  424.     SendClientMessage(playerid, WHITE, "----------------------------------------------------------------------------------------------------------");
  425.     return 1;
  426. }
  427.  
  428. COMMAND:acceptgang(playerid, params[])
  429. {
  430.     new str[128];
  431.     if(PlayerStat[playerid][BeingInvitedToGang] == 0) return SendClientMessage(playerid, GREY, "Nobody invited you to join a gang.");
  432.     PlayerStat[playerid][GangID] = PlayerStat[playerid][BeingInvitedToGang];
  433.     PlayerStat[playerid][GangRank] = 1;
  434.     PlayerStat[playerid][BeingInvitedToGang] = 0;
  435.     format(str, sizeof(str), "%s has accepted to join %s, Welcome!", GetName(playerid), GangStat[PlayerStat[playerid][GangID]][GangName]);
  436.     SendGangMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  437.     GangStat[PlayerStat[playerid][GangID]][Members] += 1;
  438.     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  439.     SaveGang(GangStat[PlayerStat[playerid][GangID]][GangFile]);
  440.     SavePlayerGangInfo(playerid);
  441.     return 1;
  442. }
  443.  
  444. COMMAND:loadganginfo(playerid, params[])
  445. {
  446.     LoadPlayerGangInfo(playerid);
  447.     new str[128];
  448.     format(str, sizeof(str), "Gang info loaded, Gang: %s (ID: %d), Rank: %s (%d).", GetGangName(playerid), PlayerStat[playerid][GangID], GetGangRank(playerid), PlayerStat[playerid][GangRank]);
  449.     SendClientMessage(playerid, GREEN, str);
  450.     if(PlayerStat[playerid][GangID] >= 1)
  451.     {
  452.         format(str, sizeof(str), "Gang MOTD: %s", GangStat[PlayerStat[playerid][GangID]][MOTD]);
  453.         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  454.     }
  455.     return 1;
  456. }
  457.  
  458. //-----------------------------------------------------------------------[Functions]------------------------------------------------------------------------------
  459.  
  460. stock GetName(playerid)
  461. {
  462.     new Name[MAX_PLAYER_NAME];
  463.     if(IsPlayerConnected(playerid))
  464.     {
  465.         GetPlayerName(playerid, Name, sizeof(Name));
  466.     }
  467.     else
  468.     {
  469.         Name = "None";
  470.     }
  471.  
  472.     return Name;
  473. }
  474.  
  475.  
  476. stock SendGangMessage(playerid, color, str[])
  477. {
  478.     for(new i = 0; i < MAX_PLAYERS; i++)
  479.     {
  480.         if(IsPlayerConnected(i) && PlayerStat[playerid][GangID] == PlayerStat[i][GangID])
  481.         {
  482.             SendClientMessage(i, color, str);
  483.         }
  484.     }
  485.     GangChatLog(str);
  486.     return 1;
  487. }
  488.  
  489. stock SaveGang(gangid)
  490. {
  491.     format(GangStat[gangid][GangFile], 20, "Gangs/Gang %d.ini", gangid);
  492.     if(fexist(GangStat[gangid][GangFile]))
  493.     {
  494.  
  495.         dini_Set(GangStat[gangid][GangFile], "Leader", GangStat[gangid][Leader]);
  496.         dini_Set(GangStat[gangid][GangFile], "Name", GangStat[gangid][GangName]);
  497.         dini_Set(GangStat[gangid][GangFile], "MOTD", GangStat[gangid][MOTD]);
  498.  
  499.         dini_Set(GangStat[gangid][GangFile], "Rank1", GangStat[gangid][Rank1]);
  500.         dini_Set(GangStat[gangid][GangFile], "Rank2", GangStat[gangid][Rank2]);
  501.         dini_Set(GangStat[gangid][GangFile], "Rank3", GangStat[gangid][Rank3]);
  502.         dini_Set(GangStat[gangid][GangFile], "Rank4", GangStat[gangid][Rank4]);
  503.         dini_Set(GangStat[gangid][GangFile], "Rank5", GangStat[gangid][Rank5]);
  504.         dini_Set(GangStat[gangid][GangFile], "Rank6", GangStat[gangid][Rank6]);
  505.  
  506.         dini_IntSet(GangStat[gangid][GangFile], "Skin1", GangStat[gangid][Skin1]);
  507.         dini_IntSet(GangStat[gangid][GangFile], "Skin2", GangStat[gangid][Skin2]);
  508.         dini_IntSet(GangStat[gangid][GangFile], "Skin3", GangStat[gangid][Skin3]);
  509.         dini_IntSet(GangStat[gangid][GangFile], "Skin4", GangStat[gangid][Skin4]);
  510.         dini_IntSet(GangStat[gangid][GangFile], "Skin5", GangStat[gangid][Skin5]);
  511.         dini_IntSet(GangStat[gangid][GangFile], "Skin6", GangStat[gangid][Skin6]);
  512.        
  513.         dini_IntSet(GangStat[gangid][GangFile], "Members", GangStat[gangid][Members]);
  514.  
  515.         dini_IntSet(GangStat[gangid][GangFile], "Color", GangStat[gangid][Color]);
  516.     }
  517.     return 1;
  518. }
  519.  
  520. stock GangChatLog(str[])
  521. {
  522.     new File:lFile = fopen("Gangs/Gang Chat Log.txt", io_append);
  523.     new logData[178];
  524.     new Hour, Minute, Second;
  525.     new Day, Month, Year;
  526.  
  527.     gettime(Hour, Minute, Second);
  528.     getdate(Year, Month, Day);
  529.  
  530.     format(logData, sizeof(logData),"[%02d/%02d/%02d %02d:%02d:%02d] %s \r\n", Day, Month, Year, Hour, Minute, Second, str);
  531.     fwrite(lFile, logData);
  532.  
  533.     fclose(lFile);
  534.     return 1;
  535. }
  536.  
  537. stock LoadPlayerGangInfo(playerid)
  538. {
  539.     if(fexist(Accounts(playerid)))
  540.     {
  541.         PlayerStat[playerid][GangID] = dini_Int(Accounts(playerid), "GangID");
  542.         PlayerStat[playerid][GangRank] = dini_Int(Accounts(playerid), "GangRank");
  543.     }
  544.     return 1;
  545. }
  546.  
  547. stock GetGangName(playerid)
  548. {
  549.     new Gang[60];
  550.     if(PlayerStat[playerid][GangID] >= 1)
  551.     {
  552.        format(Gang, sizeof(Gang), "%s", GangStat[PlayerStat[playerid][GangID]][GangName]);
  553.     }
  554.     else
  555.     {
  556.         Gang = "None";
  557.     }
  558.     return Gang;
  559. }
  560.  
  561. stock GetGangRank(playerid)
  562. {
  563.     new Rank[60];
  564.     if(PlayerStat[playerid][GangID] >= 1)
  565.     {
  566.        if(PlayerStat[playerid][GangRank] == 1) format(Rank, sizeof(Rank), "%s", GangStat[PlayerStat[playerid][GangID]][Rank1]);
  567.        if(PlayerStat[playerid][GangRank] == 2) format(Rank, sizeof(Rank), "%s", GangStat[PlayerStat[playerid][GangID]][Rank2]);
  568.        if(PlayerStat[playerid][GangRank] == 3) format(Rank, sizeof(Rank), "%s", GangStat[PlayerStat[playerid][GangID]][Rank3]);
  569.        if(PlayerStat[playerid][GangRank] == 4) format(Rank, sizeof(Rank), "%s", GangStat[PlayerStat[playerid][GangID]][Rank4]);
  570.        if(PlayerStat[playerid][GangRank] == 5) format(Rank, sizeof(Rank), "%s", GangStat[PlayerStat[playerid][GangID]][Rank5]);
  571.        if(PlayerStat[playerid][GangRank] == 6) format(Rank, sizeof(Rank), "%s", GangStat[PlayerStat[playerid][GangID]][Rank6]);
  572.     }
  573.     else
  574.     {
  575.         Rank = "None";
  576.     }
  577.     return Rank;
  578. }
  579.  
  580. stock SavePlayerGangInfo(playerid)
  581. {
  582.     if(!fexist(Accounts(playerid)))
  583.     {
  584.         dini_Create(Accounts(playerid));
  585.         dini_IntSet(Accounts(playerid), "GangID",PlayerStat[playerid][GangID]);
  586.         dini_IntSet(Accounts(playerid), "GangRank",PlayerStat[playerid][GangRank]);
  587.     }
  588.     else
  589.     {
  590.         dini_IntSet(Accounts(playerid), "GangID",PlayerStat[playerid][GangID]);
  591.         dini_IntSet(Accounts(playerid), "GangRank",PlayerStat[playerid][GangRank]);
  592.     }
  593.     return 1;
  594. }
  595.  
  596. stock Accounts(playerid)
  597. {
  598.   new PlayerAcc[128];
  599.   format(PlayerAcc,128,"Gangs/Players/%s.ini",GetName(playerid));
  600.   return PlayerAcc;
  601. }
  602.  
  603. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  604. {
  605.     if(dialogid == DIALOG_ADJUSTGANG)
  606.     {
  607.         if(!response) return 1;
  608.         else if(response)
  609.         {
  610.             switch(listitem)
  611.             {
  612.                 case 0:
  613.                 {
  614.                     ShowPlayerDialog(playerid, DIALOG_GANGNAME, DIALOG_STYLE_INPUT, "Gang Name", "Please input your new gang name below.", "Done", "Quit");
  615.                 }
  616.                 case 1:
  617.                 {
  618.                     ShowPlayerDialog(playerid, DIALOG_GANGMOTD, DIALOG_STYLE_INPUT, "Gang MOTD", "Please input your new gang MOTD below.", "Done", "Quit");
  619.                 }
  620.                 case 2:
  621.                 {
  622.                     ShowPlayerDialog(playerid, DIALOG_RANK1NAME, DIALOG_STYLE_INPUT, "Rank 1 Name", "Please input the new rank 1 name below.", "Done", "Quit");
  623.                 }
  624.                 case 3:
  625.                 {
  626.                     ShowPlayerDialog(playerid, DIALOG_RANK2NAME, DIALOG_STYLE_INPUT, "Rank 2 Name", "Please input the new rank 2 name below.", "Done", "Quit");
  627.                 }
  628.                 case 4:
  629.                 {
  630.                     ShowPlayerDialog(playerid, DIALOG_RANK3NAME, DIALOG_STYLE_INPUT, "Rank 3 Name", "Please input the new rank 3 name below.", "Done", "Quit");
  631.                 }
  632.                 case 5:
  633.                 {
  634.                     ShowPlayerDialog(playerid, DIALOG_RANK4NAME, DIALOG_STYLE_INPUT, "Rank 4 Name", "Please input the new rank 4 name below.", "Done", "Quit");
  635.                 }
  636.                 case 6:
  637.                 {
  638.                     ShowPlayerDialog(playerid, DIALOG_RANK5NAME, DIALOG_STYLE_INPUT, "Rank 5 Name", "Please input the new rank 5 name below.", "Done", "Quit");
  639.                 }
  640.                 case 7:
  641.                 {
  642.                     ShowPlayerDialog(playerid, DIALOG_RANK6NAME, DIALOG_STYLE_INPUT, "Rank 6 Name", "Please input the new rank 6 name below.", "Done", "Quit");
  643.                 }
  644.                 case 8:
  645.                 {
  646.                     ShowPlayerDialog(playerid, DIALOG_GANGCOLOR, DIALOG_STYLE_LIST, "Gang Color", "Green\nRed\nLight Blue\nYellow\nBrown\nBlack\nOrange", "Done", "Quit");
  647.                 }
  648.                 case 9:
  649.                 {
  650.                     ShowPlayerDialog(playerid, DIALOG_RANK1SKIN, DIALOG_STYLE_INPUT, "Rank 1 Skin", "Input the new rank 1 skin ID below.", "Done", "Quit");
  651.                 }
  652.                 case 10:
  653.                 {
  654.                     ShowPlayerDialog(playerid, DIALOG_RANK2SKIN, DIALOG_STYLE_INPUT, "Rank 2 Skin", "Input the new rank 2 skin ID below.", "Done", "Quit");
  655.                 }
  656.                 case 11:
  657.                 {
  658.                     ShowPlayerDialog(playerid, DIALOG_RANK3SKIN, DIALOG_STYLE_INPUT, "Rank 3 Skin", "Input the new rank 3 skin ID below.", "Done", "Quit");
  659.                 }
  660.                 case 12:
  661.                 {
  662.                     ShowPlayerDialog(playerid, DIALOG_RANK4SKIN, DIALOG_STYLE_INPUT, "Rank 4 Skin", "Input the new rank 4 skin ID below.", "Done", "Quit");
  663.                 }
  664.                 case 13:
  665.                 {
  666.                     ShowPlayerDialog(playerid, DIALOG_RANK5SKIN, DIALOG_STYLE_INPUT, "Rank 5 Skin", "Input the new rank 5 skin ID below.", "Done", "Quit");
  667.                 }
  668.                 case 14:
  669.                 {
  670.                     ShowPlayerDialog(playerid, DIALOG_RANK6SKIN, DIALOG_STYLE_INPUT, "Rank 6 Skin", "Input the new rank 6 skin ID below.", "Done", "Quit");
  671.                 }
  672.             }
  673.         }
  674.     }
  675.     if(dialogid == DIALOG_GANGNAME)
  676.     {
  677.         if(!response) return 1;
  678.         else if(response)
  679.         {
  680.             if(!strlen(inputtext))
  681.             {
  682.                 SendClientMessage(playerid, GREY, "Invalid Gang Name.");
  683.             }
  684.             else if(strlen(inputtext) < 5)
  685.             {
  686.                 SendClientMessage(playerid, GREY, "Your new gang name mustn't be under 3 characters.");
  687.             }
  688.             else if(strlen(inputtext) > 20)
  689.             {
  690.                 SendClientMessage(playerid, GREY, "Your new gang name mustn't be more than 20 characters.");
  691.             }
  692.             else
  693.             {
  694.                 format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  695.                 if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  696.                 {
  697.                     new str[128];
  698.                     format(str, sizeof(str), "You have successfully changed your gang name to %s", inputtext);
  699.                     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  700.                     format(GangStat[PlayerStat[playerid][GangID]][GangName], 128, "%s", inputtext);
  701.                     SaveGang(PlayerStat[playerid][GangID]);
  702.                 }
  703.             }
  704.         }
  705.     }
  706.     if(dialogid == DIALOG_GANGMOTD)
  707.     {
  708.         if(!response) return 1;
  709.         else if(response)
  710.         {
  711.             if(!strlen(inputtext))
  712.             {
  713.                 SendClientMessage(playerid, GREY, "Invalid Gang MOTD.");
  714.             }
  715.             else if(strlen(inputtext) < 15)
  716.             {
  717.                 SendClientMessage(playerid, GREY, "Your new gang MOTD mustn't be under 15 characters.");
  718.             }
  719.             else if(strlen(inputtext) > 128)
  720.             {
  721.                 SendClientMessage(playerid, GREY, "Your new gang MOTD mustn't be more than 128 characters.");
  722.             }
  723.             else
  724.             {
  725.                 format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  726.                 if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  727.                 {
  728.                     new str[128];
  729.                     format(str, sizeof(str), "New gang MOTD: to %s", inputtext);
  730.                     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  731.                     format(GangStat[PlayerStat[playerid][GangID]][MOTD], 128, "%s", inputtext);
  732.                     SaveGang(PlayerStat[playerid][GangID]);
  733.                 }
  734.             }
  735.         }
  736.     }
  737.     if(dialogid == DIALOG_RANK1NAME)
  738.     {
  739.         if(!response) return 1;
  740.         else if(response)
  741.         {
  742.             if(!strlen(inputtext))
  743.             {
  744.                 SendClientMessage(playerid, GREY, "Invalid Rank name.");
  745.             }
  746.             else if(strlen(inputtext) < 3)
  747.             {
  748.                 SendClientMessage(playerid, GREY, "The new rank 1 name mustn't be under 3 characters.");
  749.             }
  750.             else if(strlen(inputtext) > 10)
  751.             {
  752.                 SendClientMessage(playerid, GREY, "The new rank 1 name mustn't be more than 10 characters.");
  753.             }
  754.             else
  755.             {
  756.                 format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  757.                 if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  758.                 {
  759.                     new str[128];
  760.                     format(str, sizeof(str), "You have successfully changed the rank 1 name to %s", inputtext);
  761.                     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  762.                     format(GangStat[PlayerStat[playerid][GangID]][Rank1], 128, "%s", inputtext);
  763.                     SaveGang(PlayerStat[playerid][GangID]);
  764.                 }
  765.             }
  766.         }
  767.     }
  768.     if(dialogid == DIALOG_RANK2NAME)
  769.     {
  770.         if(!response) return 1;
  771.         else if(response)
  772.         {
  773.             if(!strlen(inputtext))
  774.             {
  775.                 SendClientMessage(playerid, GREY, "Invalid Rank name.");
  776.             }
  777.             else if(strlen(inputtext) < 3)
  778.             {
  779.                 SendClientMessage(playerid, GREY, "The new rank 2 name mustn't be under 3 characters.");
  780.             }
  781.             else if(strlen(inputtext) > 10)
  782.             {
  783.                 SendClientMessage(playerid, GREY, "The new rank 2 name mustn't be more than 10 characters.");
  784.             }
  785.             else
  786.             {
  787.                 format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  788.                 if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  789.                 {
  790.                     new str[128];
  791.                     format(str, sizeof(str), "You have successfully changed the rank 2 name to %s", inputtext);
  792.                     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  793.                     format(GangStat[PlayerStat[playerid][GangID]][Rank2], 128, "%s", inputtext);
  794.                     SaveGang(PlayerStat[playerid][GangID]);
  795.                 }
  796.             }
  797.         }
  798.     }
  799.     if(dialogid == DIALOG_RANK3NAME)
  800.     {
  801.         if(!response) return 1;
  802.         else if(response)
  803.         {
  804.             if(!strlen(inputtext))
  805.             {
  806.                 SendClientMessage(playerid, GREY, "Invalid Rank name.");
  807.             }
  808.             else if(strlen(inputtext) < 3)
  809.             {
  810.                 SendClientMessage(playerid, GREY, "The new rank 3 name mustn't be under 3 characters.");
  811.             }
  812.             else if(strlen(inputtext) > 10)
  813.             {
  814.                 SendClientMessage(playerid, GREY, "the new rank 3 name mustn't be more than 10 characters.");
  815.             }
  816.             else
  817.             {
  818.                 format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  819.                 if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  820.                 {
  821.                     new str[128];
  822.                     format(str, sizeof(str), "You have successfully changed the rank 3 name to %s", inputtext);
  823.                     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  824.                     format(GangStat[PlayerStat[playerid][GangID]][Rank3], 128, "%s", inputtext);
  825.                     SaveGang(PlayerStat[playerid][GangID]);
  826.                 }
  827.             }
  828.         }
  829.     }
  830.     if(dialogid == DIALOG_RANK4NAME)
  831.     {
  832.         if(!response) return 1;
  833.         else if(response)
  834.         {
  835.             if(!strlen(inputtext))
  836.             {
  837.                 SendClientMessage(playerid, GREY, "Invalid Rank name.");
  838.             }
  839.             else if(strlen(inputtext) < 3)
  840.             {
  841.                 SendClientMessage(playerid, GREY, "The new rank 4 name mustn't be under 3 characters.");
  842.             }
  843.             else if(strlen(inputtext) > 10)
  844.             {
  845.                 SendClientMessage(playerid, GREY, "The new rank 4 name mustn't be more than 10 characters.");
  846.             }
  847.             else
  848.             {
  849.                 format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  850.                 if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  851.                 {
  852.                     new str[128];
  853.                     format(str, sizeof(str), "You have successfully changed the rank 4 name to %s", inputtext);
  854.                     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  855.                     format(GangStat[PlayerStat[playerid][GangID]][Rank4], 128, "%s", inputtext);
  856.                     SaveGang(PlayerStat[playerid][GangID]);
  857.                 }
  858.             }
  859.         }
  860.     }
  861.     if(dialogid == DIALOG_RANK5NAME)
  862.     {
  863.         if(!response) return 1;
  864.         else if(response)
  865.         {
  866.             if(!strlen(inputtext))
  867.             {
  868.                 SendClientMessage(playerid, GREY, "Invalid Rank name.");
  869.             }
  870.             else if(strlen(inputtext) < 3)
  871.             {
  872.                 SendClientMessage(playerid, GREY, "The new rank 5 name mustn't be under 3 characters.");
  873.             }
  874.             else if(strlen(inputtext) > 10)
  875.             {
  876.                 SendClientMessage(playerid, GREY, "The new rank 5 name mustn't be more than 10 characters.");
  877.             }
  878.             else
  879.             {
  880.                 format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  881.                 if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  882.                 {
  883.                     new str[128];
  884.                     format(str, sizeof(str), "You have successfully changed the rank 5 name to %s", inputtext);
  885.                     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  886.                     format(GangStat[PlayerStat[playerid][GangID]][Rank5], 128, "%s", inputtext);
  887.                     SaveGang(PlayerStat[playerid][GangID]);
  888.                 }
  889.             }
  890.         }
  891.     }
  892.     if(dialogid == DIALOG_RANK6NAME)
  893.     {
  894.         if(!response) return 1;
  895.         else if(response)
  896.         {
  897.             if(!strlen(inputtext))
  898.             {
  899.                 SendClientMessage(playerid, GREY, "Invalid Rank name.");
  900.             }
  901.             else if(strlen(inputtext) < 3)
  902.             {
  903.                 SendClientMessage(playerid, GREY, "The new rank 6 name mustn't be under 3 characters.");
  904.             }
  905.             else if(strlen(inputtext) > 10)
  906.             {
  907.                 SendClientMessage(playerid, GREY, "The new rank 6 name mustn't be more than 10 characters.");
  908.             }
  909.             else
  910.             {
  911.                 format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  912.                 if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  913.                 {
  914.                     new str[128];
  915.                     format(str, sizeof(str), "You have successfully changed the rank 6 name to %s", inputtext);
  916.                     SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  917.                     format(GangStat[PlayerStat[playerid][GangID]][Rank6], 128, "%s", inputtext);
  918.                     SaveGang(PlayerStat[playerid][GangID]);
  919.                 }
  920.             }
  921.         }
  922.     }
  923.     if(dialogid == DIALOG_GANGCOLOR)
  924.     {
  925.         if(!response) return 1;
  926.         else if(response)
  927.         {
  928.             switch(listitem)
  929.             {
  930.                 case 0:
  931.                 {
  932.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  933.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  934.                     {
  935.                         GangStat[PlayerStat[playerid][GangID]][Color] = 0x33AA33AA;
  936.                         SaveGang(PlayerStat[playerid][GangID]);
  937.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "You have successfully changed the gang color to Green");
  938.                     }
  939.                 }
  940.                 case 1:
  941.                 {
  942.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  943.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  944.                     {
  945.                         GangStat[PlayerStat[playerid][GangID]][Color] = 0xAA3333AA;
  946.                         SaveGang(PlayerStat[playerid][GangID]);
  947.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "You have successfully changed the gang color to Red");
  948.                     }
  949.                 }
  950.                 case 2:
  951.                 {
  952.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  953.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  954.                     {
  955.                         GangStat[PlayerStat[playerid][GangID]][Color] = 0x33CCFFAA;
  956.                         SaveGang(PlayerStat[playerid][GangID]);
  957.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "You have successfully changed the gang color to Light Blue");
  958.                     }
  959.                 }
  960.                 case 3:
  961.                 {
  962.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  963.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  964.                     {
  965.                         GangStat[PlayerStat[playerid][GangID]][Color] = 0xFFFF00AA;
  966.                         SaveGang(PlayerStat[playerid][GangID]);
  967.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "You have successfully changed the gang color to Yellow");
  968.                     }
  969.                 }
  970.                 case 4:
  971.                 {
  972.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  973.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  974.                     {
  975.                         GangStat[PlayerStat[playerid][GangID]][Color] = 0xA52A2AAA;
  976.                         SaveGang(PlayerStat[playerid][GangID]);
  977.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "You have successfully changed the gang color to Brown");
  978.                     }
  979.                 }
  980.                 case 5:
  981.                 {
  982.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  983.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  984.                     {
  985.                         GangStat[PlayerStat[playerid][GangID]][Color] = 0x000000AA;
  986.                         SaveGang(PlayerStat[playerid][GangID]);
  987.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "You have successfully changed the gang color to Black");
  988.                     }
  989.                 }
  990.                 case 6:
  991.                 {
  992.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  993.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  994.                     {
  995.                         GangStat[PlayerStat[playerid][GangID]][Color] = 0xFF9900AA;
  996.                         SaveGang(PlayerStat[playerid][GangID]);
  997.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], "You have successfully changed the gang color to Orange");
  998.                     }
  999.                 }
  1000.             }
  1001.         }
  1002.     }
  1003.     if(dialogid == DIALOG_RANK1SKIN)
  1004.     {
  1005.         if(!response) return 1;
  1006.         if(response)
  1007.         {
  1008.             if(!strval(inputtext))
  1009.             {
  1010.                 SendClientMessage(playerid, GREY, "You have entered an Invalid Skin ID.");
  1011.             }
  1012.             else if(strval(inputtext))
  1013.             {
  1014.                 if(0 < strval(inputtext) < 299)
  1015.                 {
  1016.                     new str[128];
  1017.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  1018.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  1019.                     {
  1020.                         GangStat[PlayerStat[playerid][GangID]][Skin1] = strval(inputtext);
  1021.                         SaveGang(PlayerStat[playerid][GangID]);
  1022.                         format(str, sizeof(str), "You have successfully changed rank 1 skin to %d", GangStat[PlayerStat[playerid][GangID]][Skin1]);
  1023.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  1024.                     }
  1025.                 }
  1026.                 else
  1027.                 {
  1028.                     SendClientMessage(playerid, GREY, "Skins IDs are between 0 and 299.");
  1029.                 }
  1030.             }
  1031.         }
  1032.     }
  1033.     if(dialogid == DIALOG_RANK2SKIN)
  1034.     {
  1035.         if(!response) return 1;
  1036.         if(response)
  1037.         {
  1038.             if(!strval(inputtext))
  1039.             {
  1040.                 SendClientMessage(playerid, GREY, "You have entered an Invalid Skin ID.");
  1041.             }
  1042.             else if(strval(inputtext))
  1043.             {
  1044.                 if(0 < strval(inputtext) < 299)
  1045.                 {
  1046.                     new str[128];
  1047.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  1048.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  1049.                     {
  1050.                         GangStat[PlayerStat[playerid][GangID]][Skin2] = strval(inputtext);
  1051.                         SaveGang(PlayerStat[playerid][GangID]);
  1052.                         format(str, sizeof(str), "You have successfully changed rank 2 skin to %d", GangStat[PlayerStat[playerid][GangID]][Skin2]);
  1053.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  1054.                     }
  1055.                 }
  1056.                 else
  1057.                 {
  1058.                     SendClientMessage(playerid, GREY, "Skins IDs are between 0 and 299.");
  1059.                 }
  1060.             }
  1061.         }
  1062.     }
  1063.     if(dialogid == DIALOG_RANK3SKIN)
  1064.     {
  1065.         if(!response) return 1;
  1066.         if(response)
  1067.         {
  1068.             if(!strval(inputtext))
  1069.             {
  1070.                 SendClientMessage(playerid, GREY, "You have entered an Invalid Skin ID.");
  1071.             }
  1072.             else if(strval(inputtext))
  1073.             {
  1074.                 if(0 < strval(inputtext) < 299)
  1075.                 {
  1076.                     new str[128];
  1077.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  1078.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  1079.                     {
  1080.                         GangStat[PlayerStat[playerid][GangID]][Skin3] = strval(inputtext);
  1081.                         SaveGang(PlayerStat[playerid][GangID]);
  1082.                         format(str, sizeof(str), "You have successfully changed rank 3 skin to %d", GangStat[PlayerStat[playerid][GangID]][Skin3]);
  1083.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  1084.                     }
  1085.                 }
  1086.                 else
  1087.                 {
  1088.                     SendClientMessage(playerid, GREY, "Skins IDs are between 0 and 299.");
  1089.                 }
  1090.             }
  1091.         }
  1092.     }
  1093.     if(dialogid == DIALOG_RANK4SKIN)
  1094.     {
  1095.         if(!response) return 1;
  1096.         if(response)
  1097.         {
  1098.             if(!strval(inputtext))
  1099.             {
  1100.                 SendClientMessage(playerid, GREY, "You have entered an Invalid Skin ID.");
  1101.             }
  1102.             else if(strval(inputtext))
  1103.             {
  1104.                 if(0 < strval(inputtext) < 299)
  1105.                 {
  1106.                     new str[128];
  1107.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  1108.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  1109.                     {
  1110.                         GangStat[PlayerStat[playerid][GangID]][Skin4] = strval(inputtext);
  1111.                         SaveGang(PlayerStat[playerid][GangID]);
  1112.                         format(str, sizeof(str), "You have successfully changed rank 4 skin to %d", GangStat[PlayerStat[playerid][GangID]][Skin4]);
  1113.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  1114.                     }
  1115.                 }
  1116.                 else
  1117.                 {
  1118.                     SendClientMessage(playerid, GREY, "Skins IDs are between 0 and 299.");
  1119.                 }
  1120.             }
  1121.         }
  1122.     }
  1123.     if(dialogid == DIALOG_RANK5SKIN)
  1124.     {
  1125.         if(!response) return 1;
  1126.         if(response)
  1127.         {
  1128.             if(!strval(inputtext))
  1129.             {
  1130.                 SendClientMessage(playerid, GREY, "You have entered an Invalid Skin ID.");
  1131.             }
  1132.             else if(strval(inputtext))
  1133.             {
  1134.                 if(0 < strval(inputtext) < 299)
  1135.                 {
  1136.                     new str[128];
  1137.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  1138.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  1139.                     {
  1140.                         GangStat[PlayerStat[playerid][GangID]][Skin5] = strval(inputtext);
  1141.                         SaveGang(PlayerStat[playerid][GangID]);
  1142.                         format(str, sizeof(str), "You have successfully changed rank 5 skin to %d", GangStat[PlayerStat[playerid][GangID]][Skin5]);
  1143.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  1144.                     }
  1145.                 }
  1146.                 else
  1147.                 {
  1148.                     SendClientMessage(playerid, GREY, "Skins IDs are between 0 and 299.");
  1149.                 }
  1150.             }
  1151.         }
  1152.     }
  1153.     if(dialogid == DIALOG_RANK6SKIN)
  1154.     {
  1155.         if(!response) return 1;
  1156.         if(response)
  1157.         {
  1158.             if(!strval(inputtext))
  1159.             {
  1160.                 SendClientMessage(playerid, GREY, "You have entered an Invalid Skin ID.");
  1161.             }
  1162.             else if(strval(inputtext))
  1163.             {
  1164.                 if(0 < strval(inputtext) < 299)
  1165.                 {
  1166.                     new str[128];
  1167.                     format(GangStat[PlayerStat[playerid][GangID]][GangFile], 60, "Gangs/Gang %d.ini", PlayerStat[playerid][GangID]);
  1168.                     if(fexist(GangStat[PlayerStat[playerid][GangID]][GangFile]))
  1169.                     {
  1170.                         GangStat[PlayerStat[playerid][GangID]][Skin6] = strval(inputtext);
  1171.                         SaveGang(PlayerStat[playerid][GangID]);
  1172.                         format(str, sizeof(str), "You have successfully changed rank 6 skin to %d", GangStat[PlayerStat[playerid][GangID]][Skin6]);
  1173.                         SendClientMessage(playerid, GangStat[PlayerStat[playerid][GangID]][Color], str);
  1174.                     }
  1175.                 }
  1176.                 else
  1177.                 {
  1178.                     SendClientMessage(playerid, GREY, "Skins IDs are between 0 and 299.");
  1179.                 }
  1180.             }
  1181.         }
  1182.     }
  1183.     return 1;
  1184. }
  1185.  
  1186. //----------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement