Advertisement
RiseAboveHate

Clan Sys By CanadaSolider

Jan 6th, 2014
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 36.86 KB | None | 0 0
  1. #include <a_samp>
  2. #include <DOF2>
  3.  
  4. #define MAX_CLANS_IDS (501)
  5. #define MAX_CLAN_PLAYERS (31)
  6. #define MAX_HQS_IDS (501)
  7. #define IsPlayerNotAdminMsg "/ClanHelp - äô÷åãä àéðä ðîöàä áîòøëú, àðà ä÷ù/é"
  8. #define GetName(%0) PClanInfo[%0][Name]
  9. #define GetPlayerClanLevel(%0) PClanInfo[%0][ClanLevel]
  10. #define SendFMsg(%0,%1,%2,%3) format(String, 256, %2, %3) && SendClientMessage(%0, %1, String)
  11. #define ClanMsgsColor "{00B3FF}"
  12. #define Public(%0,%1) forward %0(%1); public %0(%1)
  13.  
  14. enum ClanInfo
  15. {
  16.     ClanID,
  17.     ClanName[24],
  18.     ClanFounder[MAX_PLAYER_NAME + 2],
  19.     ClanPlayers,
  20.     Test,
  21.     Bank,
  22.     Message[128],
  23.     Chat,
  24.     ColorR,
  25.     ColorG,
  26.     ColorB,
  27.     HaveHq,
  28.     HqID,
  29.     Float:X,
  30.     Float:Y,
  31.     Float:Z,
  32.     Date[4]
  33. };
  34. new CInfo[MAX_CLANS_IDS][ClanInfo];
  35. enum PlayerClanInfo
  36. {
  37.     InClan,
  38.     InClanNum,
  39.     ClanID,
  40.     ClanName[24],
  41.     ClanLevel,
  42.     ClanManager,
  43.     Name[MAX_PLAYER_NAME + 2]
  44. };
  45. new PClanInfo[MAX_PLAYERS][PlayerClanInfo];
  46. new IsInvited[MAX_PLAYERS] = 0;
  47. new InvitedClanName[MAX_PLAYERS][24];
  48. new InvitedClanID[MAX_PLAYERS] = -1;
  49. new String[300];
  50. new Str[2500];
  51. new ClanMute[MAX_PLAYERS];
  52. new Hq1Objects[20];
  53. new Float:HqsPos[][3] =
  54. {
  55.     {1921.23547363, 672.65539550, 12.50781250}
  56. };
  57.  
  58. #define FILTERSCRIPT
  59.  
  60. public OnFilterScriptInit()
  61. {
  62.     Hq1Objects[1] = CreateObject(19129, 1977.28, 703.37, 8.44,   91.00, 0.00, 90.03);
  63.     Hq1Objects[2] = CreateObject(19129, 1928.12, 704.03, 15.92,   0.00, 0.00, 0.52);
  64.     Hq1Objects[3] = CreateObject(1723, 1933.70, 709.58, 15.80,   0.00, 0.00, 0.00);
  65.     Hq1Objects[4] = CreateObject(1723, 1936.33, 695.30, 16.02,   0.00, 0.00, 179.17);
  66.     Hq1Objects[5] = CreateObject(1723, 1922.20, 695.38, 15.97,   0.00, 0.00, 179.31);
  67.     Hq1Objects[6] = CreateObject(1723, 1918.93, 711.15, 15.98,   0.00, 0.00, 0.72);
  68.     Hq1Objects[7] = CreateObject(2898, 1923.55, 704.12, 16.12,   0.00, 0.00, 0.76);
  69.     Hq1Objects[8] = CreateObject(11490, 1920.59, 674.48, 10.00,   0.00, 0.00, 0.00);
  70.     Hq1Objects[9] = CreateObject(19129, 1921.47, 666.95, 9.76,   -91.00, 0.00, 0.00);
  71.     Hq1Objects[10] = CreateObject(10008, 1932.08, 690.03, 14.67,   0.00, 0.00, 216.47);
  72.     Hq1Objects[11] = CreateObject(14780, 1933.67, 704.20, 16.91,   0.00, 0.00, 0.00);
  73.     Hq1Objects[12] = CreateObject(14391, 1924.72, 703.71, 16.82,   0.00, 0.00, 180.39);
  74.     Hq1Objects[13] = CreateObject(16409, 1906.30, 734.62, 9.33,   0.00, 0.00, 178.22);
  75.     Hq1Objects[14] = CreateObject(980, 1914.09, 735.25, 12.14,   0.00, 0.00, 88.40);
  76.     Hq1Objects[15] = CreateObject(8210, 1877.93, 707.00, 12.25,   0.00, 0.00, 270.28);
  77.     Hq1Objects[16] = CreateObject(2985, 1922.16, 679.16, 9.79,   0.00, 0.00, 92.37);
  78.     Hq1Objects[17] = CreateObject(2985, 1918.99, 679.31, 9.87,   0.00, 0.00, 89.51);
  79.     for(new i = 0; i < GetMaxPlayers(); i++) if(IsPlayerConnected(i)) OnPlayerConnect(i);
  80.     for(new i = 0; i < MAX_CLANS_IDS; i++) if(DOF2_FileExists(ClanFile(i))) return LoadClanDetalis(i);
  81.     return 1;
  82. }
  83.  
  84. public OnFilterScriptExit()
  85. {
  86.     for(new i = 0; i < GetMaxPlayers(); i++) if(IsPlayerConnected(i)) OnPlayerDisconnect(i, 20);
  87.     for(new i = 0; i < MAX_CLANS_IDS; i++) SaveClanDetalis(i);
  88.     for(new i = 1; i < 18; i++) DestroyObject(Hq1Objects[i]);
  89.     DOF2_SaveFile();
  90.     DOF2_Exit();
  91.     return 1;
  92. }
  93.  
  94. public OnPlayerConnect(playerid)
  95. {
  96.     GetPlayerName(playerid, PClanInfo[playerid][Name], MAX_PLAYER_NAME + 2);
  97.     if(DOF2_FileExists(PClanFile(playerid)))
  98.     {
  99.         LoadPlayerClanDetalis(playerid);
  100.         if(IsPlayerInClan(playerid)) return SetPlayerColor(playerid, rgba2hex1(DOF2_GetInt(ClanFile(PClanInfo[playerid][ClanID]), "ColorR"), DOF2_GetInt(ClanFile(PClanInfo[playerid][ClanID]), "ColorR"), DOF2_GetInt(ClanFile(PClanInfo[playerid][ClanID]), "ColorR"), random(255)));
  101.     }
  102.     else
  103.     {
  104.         DOF2_CreateFile(PClanFile(playerid));
  105.         DOF2_SetInt(PClanFile(playerid), "InClan", 0);
  106.         DOF2_SetInt(PClanFile(playerid), "InClanNum", -1);
  107.         DOF2_SetInt(PClanFile(playerid), "ClanID", 0);
  108.         DOF2_SetString(PClanFile(playerid), "ClanName", "None");
  109.         DOF2_SetInt(PClanFile(playerid), "ClanLevel", 0);
  110.         DOF2_SetInt(PClanFile(playerid), "ClanManager", 0);
  111.         DOF2_SaveFile();
  112.         LoadPlayerClanDetalis(playerid);
  113.     }
  114.     return 1;
  115. }
  116.  
  117. public OnPlayerDisconnect(playerid, reason)
  118. {
  119.     SavePlayerClanDetalis(playerid);
  120.     DOF2_SaveFile();
  121.     SetPVarInt(playerid, "InCMute", 0);
  122.     KillTimer(ClanMute[playerid]);
  123.     return 1;
  124. }
  125.  
  126. public OnPlayerSpawn(playerid)
  127. {
  128.     return 1;
  129. }
  130.  
  131. public OnPlayerDeath(playerid, killerid, reason)
  132. {
  133.     return 1;
  134. }
  135.  
  136. public OnPlayerText(playerid, text[])
  137. {
  138.     if(text[0] == '@')
  139.     {
  140.         new CStr[300];
  141.         strmid(CStr, text, 1, strlen(text));
  142.         for(new i = 0; i < GetMaxPlayers(); i++) if(IsPlayerConnected(i) && IsPlayerInClan(i) && strcmp(PClanInfo[playerid][ClanName], PClanInfo[i][ClanName], true) == 0)
  143.         {
  144.             if(GetPVarInt(playerid, "InCMute") == 1) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àúä áîéåè åìëï ìà úåëì ìãáø"), 0;
  145.             format(CStr, sizeof CStr, "%s: %s [ID: %d | Level: %s (%d)]", PClanInfo[playerid][Name], CStr, playerid, GetClanLevel(playerid), PClanInfo[playerid][ClanLevel]);
  146.             SendClientMessage(i, 0x1BE042AA, CStr);
  147.         }
  148.         return 0;
  149.     }
  150.     return 1;
  151. }
  152.  
  153. public OnPlayerCommandText(playerid, cmdtext[])
  154. {
  155.     new cmd[5][128], idx;
  156.     cmd[0] = strtok(cmdtext, idx);
  157.     if(strcmp(cmdtext, "/ClanHelp", true) == 0)
  158.     {
  159.         new CDialogCmds[1024] = "{0096FF}:ô÷åãåú\n/Clan Invite - äæîðú ùç÷ï ì÷ìàï ùìê\n/Clan Join - äöèøôåú ì÷ìàï ùäåæîðú\n/Clan List - øùéîú ä÷ìàðéí áùøú\n/Clan Info - îéãò òì ÷ìàï îñåééí\n/Clan Players - øùéîú ùç÷ðéí îçåáøéí á÷ìàï îñåééí\n/Clan SetLevel - òøéëú øîä ùì ùç÷ï îñåééí á÷ìàï ùìê\n/Clan Kick - äòôú ùç÷ï îñåééí îä÷ìàï ùìê\n/Clan Mute - ìúú äùú÷ä ìùç÷ï îñåééí\n/Clan UnMute - äåøãú äùú÷ä ìùç÷ï îåñééí\n/Clan SetMsg - òøéëú äåãòú ä÷ìàï\n/Clan SetRGB - òøéëú öáò ä÷ìàï";
  160.         ShowPlayerDialog(playerid, 4444, DIALOG_STYLE_MSGBOX, "{0096FF}/ClanHelp - òæøä áîòøëú ä÷ìàðéí", CDialogCmds, "àéùåø", "");
  161.         return 1;
  162.     }
  163.     if(strcmp(cmd[0], "/SetClanManager", true) == 0)
  164.     {
  165.         if(!IsPlayerAdmin(playerid)) return 0;
  166.         cmd[1] = strtok(cmdtext, idx);
  167.         new id = strval(cmd[1]);
  168.         if(!strlen(cmd[1])) return SendClientMessage(playerid, 0xFF0000AA, "Usage: /SetClanManager [ID]");
  169.         PClanInfo[id][ClanManager] = 1;
  170.         SendFMsg(playerid, 0xFF0000AA, ".ëàçøàé ÷ìàðéí \"%s\" ùîú àú äùç÷ï", GetName(id));
  171.         SendFMsg(id, 0xFF0000AA, ".ùí àåúê ëàçøàé ÷ìàðéí \"%s\" äàãîéï", GetName(playerid));
  172.         return 1;
  173.     }
  174.     if(strcmp(cmd[0], "/CHq", true) == 0)
  175.     {
  176.         if(!IsPlayerClanManager(playerid)) return 0;
  177.         new RandPos = random(sizeof(HqsPos));
  178.         SetPVarInt(playerid, "HqID", random(501));
  179.         SetPVarInt(playerid, "InHq", 1);
  180.         SetPlayerPos(playerid, HqsPos[RandPos][0], HqsPos[RandPos][1], HqsPos[RandPos][2]);
  181.         return 1;
  182.     }
  183.     if(strcmp(cmd[0], "/GiveHq", true) == 0)
  184.     {
  185.         if(!IsPlayerClanManager(playerid)) return 0;
  186.         if(GetPVarInt(playerid, "InHq") == 0) return SendClientMessage(playerid, 0xFF0000AA, "!àéðê áîô÷ãä");
  187.         cmd[1] = strtok(cmdtext, idx);
  188.         if(!strlen(cmd[1])) return SendClientMessage(playerid, 0xFF0000AA, "Usage: /GiveHq [Clan Name]");
  189.         if(!DOF2_FileExists(ClanFile(ReturnClanID(cmd[2])))) return SendClientMessage(playerid, 0xFF0000AA, ".÷ìàï ìà ÷ééí");
  190.         CInfo[ReturnClanID(cmd[2])][HaveHq] = 1;
  191.         CInfo[ReturnClanID(cmd[2])][HqID] = GetPVarInt(playerid, "InHq");
  192.         new Float:Pos[4];
  193.         GetPlayerPos(playerid, Pos[1], Pos[2], Pos[3]);
  194.         CInfo[ReturnClanID(cmd[2])][X] = Pos[1];
  195.         CInfo[ReturnClanID(cmd[2])][Y] = Pos[2];
  196.         CInfo[ReturnClanID(cmd[2])][Z] = Pos[3];
  197.         SetPVarInt(playerid, "InHq", 0);
  198.         format(String, sizeof String, ""ClanMsgsColor".\"%s\" ðúú àú äîô÷ãä ì÷ìàï", cmd[2]);
  199.         return 1;
  200.     }
  201.     if(strcmp(cmd[0], "/Clan", true) == 0)
  202.     {
  203.         cmd[1] = strtok(cmdtext, idx);
  204.         if(!strlen(cmd[1])) return OnPlayerCommandText(playerid, "/ClanHelp");
  205.         if(strcmp(cmd[1], "Create", true) == 0)
  206.         {
  207.             if(IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àúä ëáø á÷ìàï");
  208.             cmd[3] = strtok(cmdtext, idx);
  209.             new id = strval(cmd[2]);
  210.             if(!strlen(cmd[2]) || !strlen(cmd[3])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan Create [ID] [Name]");
  211.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor".ùç÷ï æä àéðå îçåáø");
  212.             if(!IsValidClanNameAndInEnglish(cmd[3])) return SendClientMessage(playerid, 0xFF0000AA, ".äùí ùì ä÷ìàï ùâåé");
  213.             for(new i = 1; i < MAX_CLANS_IDS; i++) if(DOF2_FileExists(ClanFile(i)) && strcmp(cmd[2], CInfo[i][ClanName], true) == 0) return SendFMsg(playerid, 0xFF0000AA, "!ëáø ÷ééí, àðà áçø ùí àçø ì÷ìàï \"%s\" ä÷ìàï", cmd[2]);
  214.             SetPVarInt(id, "ClanID", random(500));
  215.             if(DOF2_FileExists(ClanFile(GetPVarInt(id), "ClanID")))) SetPVarInt(id, "ClanID", random(500));
  216.             getdate(CInfo[GetPVarInt(id, "ClanID")][Date][3], CInfo[GetPVarInt(id, "ClanID")][Date][2], CInfo[GetPVarInt(id, "ClanID")][Date][1]);
  217.             DOF2_CreateFile(ClanFile(GetPVarInt(id, "ClanID")));
  218.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "ClanID", GetPVarInt(id, "ClanID"));
  219.             DOF2_SetString(ClanFile(GetPVarInt(id, "ClanID")), "ClanName", cmd[2]);
  220.             DOF2_SetString(ClanFile(GetPVarInt(id, "ClanID")), "ClanFounder", GetName(id));
  221.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "ClanPlayers", 1);
  222.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "Test", 1);
  223.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "Bank", 0);
  224.             DOF2_SetString(ClanFile(GetPVarInt(id, "ClanID")), "Message", "None");
  225.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "Chat", 1);
  226.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "ColorR", random(255));
  227.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "ColorG", random(255));
  228.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "ColorB", random(255));
  229.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "HaveHq", 0);
  230.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "HqID", -1);
  231.             DOF2_SetFloat(ClanFile(GetPVarInt(id, "ClanID")), "x", 0.0);
  232.             DOF2_SetFloat(ClanFile(GetPVarInt(id, "ClanID")), "y", 0.0);
  233.             DOF2_SetFloat(ClanFile(GetPVarInt(id, "ClanID")), "z", 0.0);
  234.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "Day", CInfo[GetPVarInt(id, "ClanID")][Date][1]);
  235.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "Month", CInfo[GetPVarInt(id, "ClanID")][Date][2]);
  236.             DOF2_SetInt(ClanFile(GetPVarInt(id, "ClanID")), "Year", CInfo[GetPVarInt(id, "ClanID")][Date][3]);
  237.             format(String, sizeof String, "Player:%d", CInfo[GetPVarInt(id, "ClanID")][ClanPlayers]);
  238.             DOF2_SetString(ClanFile(GetPVarInt(id, "ClanID")), String, GetName(id));
  239.             DOF2_SaveFile();
  240.             LoadClanDetalis(GetPVarInt(id, "ClanID"));
  241.             PClanInfo[id][InClan] = 1;
  242.             PClanInfo[id][InClanNum] = 1;
  243.             PClanInfo[id][ClanID] = GetPVarInt(id, "ClanID");
  244.             format(PClanInfo[id][ClanName], PClanInfo[id][ClanName], cmd[2]);
  245.             PClanInfo[id][Name] = GetName(id);
  246.             PClanInfo[id][ClanLevel] = 5;
  247.             SendClientMessage(id, -1, "---------------------------------");
  248.             SendFMsg(id, 0x00F66AAA, ".\"%s\" - îæì èåá! éöøú ÷ìàï çãù áùí", cmd[2]);
  249.             SendClientMessage(id, -1, ".äåâãøú àåèåîèéú ìøîä 5 á÷ìàï");
  250.             SendClientMessage(id, -1, "/ClanHelp - ìô÷åãåú ä÷ìã/é");
  251.             SendClientMessage(id, -1, "---------------------------------");
  252.             SetPlayerColor(playerid, rgba2hex1(DOF2_GetInt(ClanFile(PClanInfo[id][ClanID]), "ColorR"), DOF2_GetInt(ClanFile(PClanInfo[id][ClanID]), "ColorR"), DOF2_GetInt(ClanFile(PClanInfo[id][ClanID]), "ColorR"), random(255)));
  253.             return 1;
  254.         }
  255.         if(strcmp(cmd[1], "Invite", true) == 0)
  256.         {
  257.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê á÷ìàï");
  258.             cmd[2] = strtok(cmdtext, idx);
  259.             new id = strval(cmd[2]);
  260.             if(!strlen(cmd[2])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan Invite [ID]");
  261.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor".ùç÷ï æä àéðå îçåáø");
  262.             if(IsPlayerInClan(id)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!ùç÷ï æä ëáø á÷ìàï");
  263.             IsInvited[id] = 1;
  264.             InvitedClanID[id] = PClanInfo[playerid][ClanID];
  265.             format(InvitedClanName[id], 24, PClanInfo[playerid][ClanName]);
  266.             format(String, sizeof String, ""ClanMsgsColor".ì÷ìàï ùìê \"%s\" äæîðú àú äùç÷ï", GetName(id));
  267.             SendClientMessage(playerid, 0xFFFF00AA, String);
  268.             format(String, sizeof String, ""ClanMsgsColor"./Clan Join - ìàéùåø ä÷ù/é ,\"%s\" äæîéï àåúê ì÷ìàï \"%s\" äùç÷ï", PClanInfo[playerid][ClanName], GetName(playerid));
  269.             SendClientMessage(id, 0xFFFF00AA, String);
  270.             return 1;
  271.         }
  272.         if(strcmp(cmd[1], "Join", true) == 0)
  273.         {
  274.             if(!IsInvited[playerid]) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê îåæîï ì÷ìàï");
  275.             PClanInfo[playerid][InClan] = 1;
  276.             PClanInfo[playerid][ClanID] = InvitedClanID[playerid];
  277.             format(PClanInfo[playerid][ClanName], 24, InvitedClanName[playerid]);
  278.             CInfo[PClanInfo[playerid][ClanID]][ClanPlayers]++;
  279.             format(String, sizeof String, ""ClanMsgsColor".\"%s\" äöèøôú ì÷ìàï", InvitedClanName[playerid]);
  280.             SendClientMessage(playerid, 0xFFFF00AA, String);
  281.             format(String, sizeof String, ""ClanMsgsColor".äöèøó ì÷ìàï \"%s\" äùç÷ï", GetName(playerid));
  282.             SendClanMsg(playerid, 0xFFFF00AA, String);
  283.             new str[30];
  284.             format(str, sizeof str, "Player:%d", CInfo[PClanInfo[playerid][ClanID]][ClanPlayers]);
  285.             DOF2_SetString(ClanFile(PClanInfo[playerid][ClanID]), str, GetName(playerid));
  286.             DOF2_SaveFile();
  287.             IsInvited[playerid] = 0;
  288.             InvitedClanID[playerid] = -1;
  289.             InvitedClanName[playerid] = "";
  290.             PClanInfo[playerid][ClanLevel] = 1;
  291.             SetPlayerColor(playerid, rgba2hex1(DOF2_GetInt(ClanFile(PClanInfo[playerid][ClanID]), "ColorR"), DOF2_GetInt(ClanFile(PClanInfo[playerid][ClanID]), "ColorR"), DOF2_GetInt(ClanFile(PClanInfo[playerid][ClanID]), "ColorR"), random(255)));
  292.             return 1;
  293.         }
  294.         if(strcmp(cmd[1], "Leave", true) == 0)
  295.         {
  296.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê á÷ìàï");
  297.             CInfo[PClanInfo[playerid][ClanID]][ClanPlayers]--;
  298.             format(String, 30, "Player:%d", PClanInfo[playerid][InClanNum]);
  299.             DOF2_Unset(ClanFile(PClanInfo[playerid][ClanID]), String);
  300.             PClanInfo[playerid][InClan] = 0;
  301.             PClanInfo[playerid][InClanNum] = -1;
  302.             PClanInfo[playerid][ClanID] = -1;
  303.             format(PClanInfo[playerid][ClanName], 24, "None");
  304.             PClanInfo[playerid][ClanLevel] = 0;
  305.             format(String, sizeof String, ""ClanMsgsColor".\"%s\" òæáú àú ä÷ìàï", PClanInfo[playerid][ClanName]);
  306.             SendClientMessage(playerid, 0xFFFF00AA, String);
  307.             format(String, sizeof String, ""ClanMsgsColor".òæá àú ä÷ìàï \"%s\" äùç÷ï", GetName(playerid));
  308.             SendClanMsg(playerid, 0xFFFF00AA, String);
  309.             return 1;
  310.         }
  311.         if(strcmp(cmd[1], "Info", true) == 0)
  312.         {
  313.             cmd[2] = strtok(cmdtext, idx);
  314.             new d[4];
  315.             getdate(d[3], d[2], d[1]);
  316.             if(!strlen(cmd[2])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan Info [Clan Name]");
  317.             format(Str, sizeof Str, "");
  318.             if(!DOF2_FileExists(ClanFile(ReturnClanID(cmd[2])))) return SendClientMessage(playerid, 0xFF0000AA, ".÷ìàï ìà ÷ééí");
  319.             strcat(Str, "\n{FFFFFF}%s :îééñã\n{FFFFFF}úàøéê ééñåã: %d/%02d/%d\n{FFFFFF}ùç÷ðéí á÷ìàï %d\n");
  320.             format(Str, sizeof Str, Str, CInfo[ReturnClanID(cmd[2])][ClanFounder], CInfo[ReturnClanID(cmd[2])][Date][1], CInfo[ReturnClanID(cmd[2])][Date][2], CInfo[ReturnClanID(cmd[2])][Date][3], CInfo[ReturnClanID(cmd[2])][ClanPlayers]);
  321.             strcat(Str, "{A0D911}$%s {FFFFFF}:áð÷ ä÷ìàï\n{FFFFFF}îô÷ãä: %s\n{FFFFFF}èñèéí: %s\n\n{FFFFFF}:äåãòú ä÷ìàï\n{FF0000}%s");
  322.             format(Str, sizeof Str, Str, CInfo[ReturnClanID(cmd[2])][Bank], CInfo[ReturnClanID(cmd[2])][HaveHq] == 1 ? ("{008040}éù") : ("{FF0000}àéï"), CInfo[ReturnClanID(cmd[2])][Test] == 1 ? ("{008040}éù") : ("{FF0000}àéï"), CInfo[ReturnClanID(cmd[2])][Message]);
  323.             format(String, 60, "%s îéãò òì ä÷ìàï", cmd[2]);
  324.             ShowPlayerDialog(playerid, 4446, DIALOG_STYLE_MSGBOX, String, Str, "àéùåø", "");
  325.             return 1;
  326.         }
  327.         if(strcmp(cmd[1], "Players", true) == 0)
  328.         {
  329.             format(Str, sizeof Str, "");
  330.             new c = 0;
  331.             cmd[2] = strtok(cmdtext, idx);
  332.             if(!strlen(cmd[2])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan Players [Clan Name]");
  333.             if(!DOF2_FileExists(ClanFile(ReturnClanID(cmd[2])))) return SendClientMessage(playerid, 0xFF0000AA, ".÷ìàï ìà ÷ééí");
  334.             for(new i = 0; i < GetMaxPlayers(); i++) if(IsPlayerConnected(i) && strcmp(cmd[2], PClanInfo[i][ClanName], true) == 0)
  335.             {
  336.                 format(Str, sizeof Str, "%sPlayer: %s [ Level: %d | %s ]\n", Str, GetName(i), PClanInfo[i][ClanLevel], GetClanLevel(i));
  337.                 format(String, sizeof String, "|%s ùç÷ðéí îçåáøéí á÷ìàï|", cmd[2]);
  338.                 ShowPlayerDialog(playerid, 4446, DIALOG_STYLE_MSGBOX, String, Str, "àéùåø", "");
  339.                 c++;
  340.             }
  341.             if(!c) return SendClientMessage(playerid, 0xFF0000AA, "!àéï ùç÷ðéí îçåáøéí á÷ìàï æä");
  342.             return 1;
  343.         }
  344.         if(strcmp(cmd[1], "List", true) == 0)
  345.         {
  346.             new c;
  347.             format(Str, sizeof Str, "");
  348.             for(new i = 1; i < MAX_CLANS_IDS; i++)
  349.             {
  350.                 if(DOF2_FileExists(ClanFile(i)) && strcmp(CInfo[i][ClanName], "None", true) != 0 && strcmp(CInfo[i][ClanFounder], "None", true) != 0)
  351.                 {
  352.                     format(Str, sizeof Str, "%s{FF0000}{ {00B3FF}Clan Name: %s {DF40FF}| {00FF62}Clan ID: %d {DF40FF}| {FFFF00}Clan Players: %d {DF40FF}| {FF9500}Clan Founder: %s {FF0000}}\n", Str, CInfo[i][ClanName], CInfo[i][ClanID], CInfo[i][ClanPlayers], CInfo[i][ClanFounder]);
  353.                     ShowPlayerDialog(playerid, 4445, DIALOG_STYLE_MSGBOX, "{0096FF}Clan List - øùéîú ä÷ìàðéí áùøú", Str, "àéùåø", "");
  354.                     c++;
  355.                 }
  356.             }
  357.             if(!c) return SendClientMessage(playerid, 0xFFFF00, ""ClanMsgsColor".àéï ÷ìàðéí áùøú");
  358.             return 1;
  359.         }
  360.         if(strcmp(cmd[1], "SetLevel", true) == 0)
  361.         {
  362.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "!àéðê á÷ìàï");
  363.             if(GetPlayerClanLevel(playerid) < 5) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê áòì ä÷ìàï");
  364.             cmd[2] = strtok(cmdtext, idx);
  365.             new id = strval(cmd[2]);
  366.             cmd[3] = strtok(cmdtext, idx);
  367.             new level = strval(cmd[3]);
  368.             if(!strlen(cmd[2]) || !strlen(cmd[3])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan SetLevel [ID] [LEVEL 1 - 4]");
  369.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor".ùç÷ï æä àéðå îçåáø");
  370.             if(strcmp(PClanInfo[id][ClanName], PClanInfo[playerid][ClanName], true) != 0) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!ùç÷ï æä àéðå á÷ìàï ùìê");
  371.             if(level < 1 || level > 4) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"LEVEL 1 - 4!");
  372.             PClanInfo[id][ClanLevel] = level;
  373.             SendFMsg(playerid, 0xFFFF00AA, ""ClanMsgsColor"5.%d ì \"%s\" ùéðéú àú äøîä ùì äçù÷ï", level, GetName(id));
  374.             SendFMsg(id, 0xFFFF00AA, ""ClanMsgsColor".%d ùéðä ìê àú äøîä á÷ìàï ì \"%s\" äùç÷ï", level, GetName(playerid));
  375.             format(String, sizeof String, ""ClanMsgsColor".%d ùéðä ìê àú äøîä ùì ä÷ìàï ì \"%s\" äùç÷ï", level, GetName(playerid));
  376.             SendClanMsg(playerid, 0xFFFF00AA, String);
  377.             return 1;
  378.         }
  379.         if(strcmp(cmd[1], "Kick", true) == 0)
  380.         {
  381.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "!àéðê á÷ìàï");
  382.             if(GetPlayerClanLevel(playerid) < 5) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê áòì ä÷ìàï");
  383.             cmd[2] = strtok(cmdtext, idx);
  384.             new id = strval(cmd[2]);
  385.             cmd[3] = strrest(cmdtext, idx);
  386.             if(!strlen(cmd[2]) || !strlen(cmd[3])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan Kick [ID] [REASON]");
  387.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor".ùç÷ï æä àéðå îçåáø");
  388.             if(strcmp(PClanInfo[id][ClanName], PClanInfo[playerid][ClanName], true) != 0) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!ùç÷ï æä àéðå á÷ìàï ùìê");
  389.             format(String, 30, "Player:%d", PClanInfo[id][InClanNum]);
  390.             DOF2_Unset(ClanFile(PClanInfo[id][ClanID]), String);
  391.             CInfo[PClanInfo[id][ClanID]][ClanPlayers]--;
  392.             PClanInfo[id][InClan] = 0;
  393.             PClanInfo[id][InClanNum] = -1;
  394.             PClanInfo[id][ClanID] = -1;
  395.             format(PClanInfo[id][ClanName], 24, "None");
  396.             PClanInfo[id][ClanLevel] = 0;
  397.             SendFMsg(playerid, 0xFFFF00AA, ""ClanMsgsColor"(%s) .îä÷ìàï ùìê \"%s\" äòôú àú äùç÷ï", cmd[3], GetName(id));
  398.             SendFMsg(id, 0xFFFF00AA, ""ClanMsgsColor"(%s) .\"%s\" äòéó àåúê îä÷ìàï \"%s\" äùç÷ï", cmd[3], PClanInfo[playerid][ClanName], GetName(playerid));
  399.             format(String, sizeof String, ""ClanMsgsColor"(%s) .îä÷ìàï \"%s\" äòéó àú äùç÷ï \"%s\" äùç÷ï", cmd[3], GetName(id), GetName(playerid));
  400.             SendClanMsg(playerid, 0xFFFF00AA, String);
  401.             return 1;
  402.         }
  403.         if(strcmp(cmd[1], "Mute", true) == 0)
  404.         {
  405.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "!àéðê á÷ìàï");
  406.             if(GetPlayerClanLevel(playerid) < 5) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê áòì ä÷ìàï");
  407.             cmd[2] = strtok(cmdtext, idx);
  408.             new id = strval(cmd[2]);
  409.             cmd[3] = strtok(cmdtext, idx);
  410.             new time = strval(cmd[3]);
  411.             cmd[4] = strrest(cmdtext, idx);
  412.             if(!strlen(cmd[2]) || !strlen(cmd[3]) || !strlen(cmd[4])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan Mute [ID] [TIME] [REASON]");
  413.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor".ùç÷ï æä àéðå îçåáø");
  414.             if(strcmp(PClanInfo[id][ClanName], PClanInfo[playerid][ClanName], true) != 0) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!ùç÷ï æä àéðå á÷ìàï ùìê");
  415.             if(time > 0)
  416.             {
  417.                 new Mtime[16];
  418.                 FormatTime(time, Mtime);
  419.                 ClanMute[playerid] = SetTimerEx("UnCMute", time * 1000, false, "d", id);
  420.                 SetPVarInt(id, "InCMute", 1);
  421.                 SendFMsg(playerid, 0xFFFF00AA, ""ClanMsgsColor"You Have Gived Mute to \"%s\" for %s. (%s)", GetName(id), Mtime, cmd[4]);
  422.                 SendFMsg(id, 0xFFFF00AA, ""ClanMsgsColor"The Clan Founder \"%s\" has gived you Mute for %s. (%s)", GetName(playerid), Mtime, cmd[4]);
  423.                 format(String, sizeof String, ""ClanMsgsColor"The Clan Founder \"%s\" has gived Mute to \"%s\" for %s. (%s)", GetName(playerid), GetName(id), Mtime, cmd[4]);
  424.                 SendClanMsg(playerid, 0xFFFF00AA, String);
  425.             }
  426.             else return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!äæîï ùì äîéåè çééá ìäéåú îòì 0");
  427.             return 1;
  428.         }
  429.         if(strcmp(cmd[1], "UnMute", true) == 0)
  430.         {
  431.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "!àéðê á÷ìàï");
  432.             if(GetPlayerClanLevel(playerid) < 5) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê áòì ä÷ìàï");
  433.             cmd[1] = strtok(cmdtext, idx);
  434.             new id = strval(cmd[1]);
  435.             if(!strlen(cmd[1])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan UnMute [ID]");
  436.             if(GetPVarInt(id, "InCMute") == 0) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!ùç÷ï æä àéðå áîéåè");
  437.             SetPVarInt(id, "InCMute", 0);
  438.             SendFMsg(playerid, 0xFFFF00AA, ""ClanMsgsColor".àúä äîéåè \"%s\" äåøãú ìùç÷ï", GetName(id));
  439.             SendFMsg(id, 0xFFFF00AA, ""ClanMsgsColor".äåøéã ìê àú äîéåè \"%s\" äùç÷ï", GetName(playerid));
  440.             format(String, sizeof String, ""ClanMsgsColor".àúä äîéåè \"%s\" äåøéã ì \"%s\" äùç÷ï", GetName(id), GetName(playerid));
  441.             SendClanMsg(playerid, 0xFFFF00AA, String);
  442.             return 1;
  443.         }
  444.         if(strcmp(cmd[1], "SetMsg", true) == 0)
  445.         {
  446.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "!àéðê á÷ìàï");
  447.             if(GetPlayerClanLevel(playerid) < 5) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê áòì ä÷ìàï");
  448.             cmd[2] = strrest(cmdtext, idx);
  449.             if(!strlen(cmd[2])) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"Usage: /Clan SetMsg [ID]");
  450.             format(CInfo[PClanInfo[playerid][ClanID]][Message], 128, cmd[2]);
  451.             SendFMsg(playerid, 0xFFFF00AA, ""ClanMsgsColor".\"%s\" òøëú àú äåãòú ä÷ìàï ì", cmd[2]);
  452.             format(String, sizeof String, ""ClanMsgsColor":òøê àú äåãòú ä÷ìàï ì \"%s\" áòì ä÷ìàï", GetName(playerid));
  453.             SendClanMsg(playerid, 0xFFFF00AA, String);
  454.             format(String, sizeof String, ""ClanMsgsColor"\"%s\"", cmd[2]);
  455.             SendClanMsg(playerid, 0xFFFF00AA, String);
  456.             return 1;
  457.         }
  458.         if(strcmp(cmd[1], "SetRGB", true) == 0)
  459.         {
  460.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "!àéðê á÷ìàï");
  461.             if(GetPlayerClanLevel(playerid) < 5) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê áòì ä÷ìàï");
  462.             cmd[2] = strtok(cmdtext, idx);
  463.             cmd[3] = strtok(cmdtext, idx);
  464.             cmd[4] = strtok(cmdtext, idx);
  465.             new R = strval(cmd[2]), G = strval(cmd[3]), B = strval(cmd[4]);
  466.             if(!strlen(cmd[2]) || !strlen(cmd[3]) || !strlen(cmd[4])) return SendClientMessage(playerid, 0xFFFF00AA, "Usage: /Clan SetRGB [R 1 - 255] [G 1 - 255] [B 1 - 255]");
  467.             if(R < 1 || R > 255) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"R 1 - 255");
  468.             if(G < 1 || G > 255) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"G 1 - 255");
  469.             if(B < 1 || B > 255) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"B 1 - 255");
  470.             CInfo[PClanInfo[playerid][ClanID]][ColorR] = R;
  471.             CInfo[PClanInfo[playerid][ClanID]][ColorG] = G;
  472.             CInfo[PClanInfo[playerid][ClanID]][ColorB] = B;
  473.             SendFMsg(playerid, 0xFFFF00AA, ""ClanMsgsColor"\"{%06x}Test"ClanMsgsColor"\" ùéðéú àú öáò ä÷ìàï ì", rgba2hex1(R, G, B, 255) >>> 8);
  474.             for(new i = 0; i < GetMaxPlayers(); i++) if(IsPlayerConnected(i) && strcmp(PClanInfo[playerid][ClanName], PClanInfo[i][ClanName], true) == 0) SetPlayerColor(i, rgba2hex1(R, G, B, 255));
  475.             return 1;
  476.         }
  477.         if(strcmp(cmd[1], "Delete", true) == 0)
  478.         {
  479.             if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, "!àéðê á÷ìàï");
  480.             for(new i = 0; i < CInfo[PClanInfo[playerid][ClanID]][ClanPlayers]; i++)
  481.             {
  482.                 new file[64], str[128];
  483.                 format(file, sizeof file, "");
  484.                 format(str, sizeof str, "Player:%d", i);
  485.                 if(DOF2_IsSet(ClanFile(PClanInfo[playerid][ClanID]), str))
  486.                 {
  487.                     format(file, sizeof file, "Clan/Users/%s.ini", DOF2_GetString(ClanFile(PClanInfo[playerid][ClanID]), str));
  488.                     DOF2_RemoveFile(file);
  489.                     DOF2_CreateFile(file);
  490.                     DOF2_SetInt(file, "InClan", 0);
  491.                     DOF2_SetInt(file, "InClanNum", -1);
  492.                     DOF2_SetInt(file, "ClanID", 0);
  493.                     DOF2_SetString(file, "ClanName", "None");
  494.                     DOF2_SetInt(file, "ClanLevel", 0);
  495.                     DOF2_SaveFile();
  496.                 }
  497.             }
  498.             DOF2_RemoveFile(ClanFile(PClanInfo[playerid][ClanID]));
  499.             for(new i = 0; i < GetMaxPlayers(); i++)
  500.             {
  501.                 if(IsPlayerConnected(i) && strcmp(PClanInfo[playerid][ClanName], PClanInfo[i][ClanName], true) == 0)
  502.                 {
  503.                     LoadPlayerClanDetalis(i);
  504.                 }
  505.             }
  506.             SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!îç÷ú àú ä÷ìàï ùìê áäöìçä");
  507.             return 1;
  508.         }
  509.         return 1;
  510.     }
  511.     if(strcmp(cmd[0], "/Hq", true) == 0)
  512.     {
  513.         if(!IsPlayerInClan(playerid)) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!àéðê á÷ìàï");
  514.         if(CInfo[PClanInfo[playerid][ClanID]][HaveHq] == 0) return SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor"!ì÷ìàï æä àéï îô÷ãä");
  515.         SetPlayerPos(playerid, CInfo[PClanInfo[playerid][ClanID]][X], CInfo[PClanInfo[playerid][ClanID]][Y], CInfo[PClanInfo[playerid][ClanID]][Z]);
  516.         SendClientMessage(playerid, -1, ""ClanMsgsColor"!äùúâøú ìîô÷ãú ä÷ìàï ùìê áäöìçä");
  517.         return 1;
  518.     }
  519.     return 0;
  520. }
  521.  
  522. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  523. {
  524.     return 1;
  525. }
  526.  
  527. public OnPlayerEnterCheckpoint(playerid)
  528. {
  529.     return 1;
  530. }
  531.  
  532. public OnPlayerLeaveCheckpoint(playerid)
  533. {
  534.     return 1;
  535. }
  536.  
  537. public OnObjectMoved(objectid)
  538. {
  539.     return 1;
  540. }
  541.  
  542. public OnPlayerPickUpPickup(playerid, pickupid)
  543. {
  544.     return 1;
  545. }
  546.  
  547. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  548. {
  549.     return 1;
  550. }
  551.  
  552. public OnPlayerUpdate(playerid)
  553. {
  554.     return 1;
  555. }
  556.  
  557. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  558. {
  559.     return 1;
  560. }
  561.  
  562. stock ClanFile(ids){
  563.     new CFile[64];
  564.     format(CFile, sizeof CFile, "Clan/Clans/%d.ini", ids);
  565.     return CFile;
  566. }
  567.  
  568. stock PClanFile(playerid){
  569.     new PCFile[64];
  570.     format(PCFile, sizeof PCFile, "Clan/Users/%s.ini", GetName(playerid));
  571.     return PCFile;
  572. }
  573.  
  574. stock LoadClanDetalis(id){
  575.     CInfo[id][ClanID] = DOF2_GetInt(ClanFile(id), "ClanID");
  576.     strmid(CInfo[id][ClanName], DOF2_GetString(ClanFile(id), "ClanName"), 0, strlen(DOF2_GetString(ClanFile(id), "ClanName")), 255);
  577.     strmid(CInfo[id][ClanFounder], DOF2_GetString(ClanFile(id), "ClanFounder"), 0, strlen(DOF2_GetString(ClanFile(id), "ClanFounder")), 255);
  578.     CInfo[id][ClanPlayers] = DOF2_GetInt(ClanFile(id), "ClanPlayers");
  579.     CInfo[id][Test] = DOF2_GetInt(ClanFile(id), "Test");
  580.     CInfo[id][Bank] = DOF2_GetInt(ClanFile(id), "Bank");
  581.     strmid(CInfo[id][Message], DOF2_GetString(ClanFile(id), "Message"), 0, strlen(DOF2_GetString(ClanFile(id), "Message")), 60);
  582.     CInfo[id][Chat] = DOF2_GetInt(ClanFile(id), "Chat", CInfo[id][Chat]);
  583.     CInfo[id][ColorR] = DOF2_GetInt(ClanFile(id), "ColorR");
  584.     CInfo[id][ColorG] = DOF2_GetInt(ClanFile(id), "ColorG");
  585.     CInfo[id][ColorB] = DOF2_GetInt(ClanFile(id), "ColorB");
  586.     CInfo[id][HaveHq] = DOF2_GetInt(ClanFile(id), "HaveHq");
  587.     CInfo[id][HqID] = DOF2_GetInt(ClanFile(id), "HqID");
  588.     CInfo[id][X] = DOF2_GetFloat(ClanFile(id), "x");
  589.     CInfo[id][Y] = DOF2_GetFloat(ClanFile(id), "y");
  590.     CInfo[id][Z] = DOF2_GetFloat(ClanFile(id), "z");
  591.     CInfo[id][Date][1] = DOF2_GetInt(ClanFile(id), "Day");
  592.     CInfo[id][Date][2] = DOF2_GetInt(ClanFile(id), "Month");
  593.     CInfo[id][Date][3] = DOF2_GetInt(ClanFile(id), "Year");
  594.     return 1;
  595. }
  596.  
  597. stock SaveClanDetalis(id){
  598.     DOF2_SetInt(ClanFile(id), "ClanID", CInfo[id][ClanID]);
  599.     DOF2_SetString(ClanFile(id), "ClanName", CInfo[id][ClanName]);
  600.     DOF2_SetString(ClanFile(id), "ClanFounder", CInfo[id][ClanFounder]);
  601.     DOF2_SetInt(ClanFile(id), "ClanPlayers", CInfo[id][ClanPlayers]);
  602.     DOF2_SetInt(ClanFile(id), "Test", CInfo[id][Test]);
  603.     DOF2_SetInt(ClanFile(id), "Bank", CInfo[id][Bank]);
  604.     DOF2_SetString(ClanFile(id), "Message", CInfo[id][Message]);
  605.     DOF2_SetInt(ClanFile(id), "Chat", CInfo[id][Chat]);
  606.     DOF2_SetInt(ClanFile(id), "ColorR", CInfo[id][ColorR]);
  607.     DOF2_SetInt(ClanFile(id), "ColorG", CInfo[id][ColorG]);
  608.     DOF2_SetInt(ClanFile(id), "ColorB", CInfo[id][ColorB]);
  609.     DOF2_SetInt(ClanFile(id), "HaveHq", CInfo[id][HaveHq]);
  610.     DOF2_SetInt(ClanFile(id), "HqID", CInfo[id][HqID]);
  611.     DOF2_SetFloat(ClanFile(id), "x", CInfo[id][X]);
  612.     DOF2_SetFloat(ClanFile(id), "y", CInfo[id][Y]);
  613.     DOF2_SetFloat(ClanFile(id), "z", CInfo[id][Z]);
  614.     DOF2_SetInt(ClanFile(id), "Day", CInfo[id][Date][1]);
  615.     DOF2_SetInt(ClanFile(id), "Month", CInfo[id][Date][2]);
  616.     DOF2_SetInt(ClanFile(id), "Year", CInfo[id][Date][3]);
  617.     return 1;
  618. }
  619.  
  620. stock LoadPlayerClanDetalis(playerid){
  621.     PClanInfo[playerid][InClan] = DOF2_GetInt(PClanFile(playerid), "InClan");
  622.     PClanInfo[playerid][InClanNum] = DOF2_GetInt(PClanFile(playerid), "InClanNum");
  623.     PClanInfo[playerid][ClanID] = DOF2_GetInt(PClanFile(playerid), "ClanID");
  624.     strmid(PClanInfo[playerid][ClanName], DOF2_GetString(PClanFile(playerid), "ClanName"), 0, strlen(DOF2_GetString(PClanFile(playerid), "ClanName")), 255);
  625.     PClanInfo[playerid][ClanLevel] = DOF2_GetInt(PClanFile(playerid), "ClanLevel");
  626.     PClanInfo[playerid][ClanManager] = DOF2_GetInt(PClanFile(playerid), "ClanManager");
  627.     return 1;
  628. }
  629.  
  630. stock SavePlayerClanDetalis(playerid){
  631.     DOF2_SetInt(PClanFile(playerid), "InClan", PClanInfo[playerid][InClan]);
  632.     DOF2_GetInt(PClanFile(playerid), "InClanNum", PClanInfo[playerid][InClanNum]);
  633.     DOF2_SetInt(PClanFile(playerid), "ClanID", PClanInfo[playerid][ClanID]);
  634.     DOF2_SetString(PClanFile(playerid), "ClanName", PClanInfo[playerid][ClanName]);
  635.     DOF2_SetInt(PClanFile(playerid), "ClanLevel", PClanInfo[playerid][ClanLevel]);
  636.     DOF2_SetInt(PClanFile(playerid), "ClanManager", PClanInfo[playerid][ClanManager]);
  637.     return 1;
  638. }
  639.  
  640. strtok(const string[], &index,seperator=' ')
  641. {
  642.     new length = strlen(string);
  643.     new offset = index;
  644.     new result[20];
  645.     while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  646.     {
  647.         result[index - offset] = string[index];
  648.         index++;
  649.     }
  650.  
  651.  
  652.     result[index - offset] = EOS;
  653.     if ((index < length) && (string[index] == seperator))
  654.     {
  655.         index++;
  656.     }
  657.     return result;
  658. }
  659.  
  660. stock strrest(str[], &index) {
  661.     new result[128];
  662.     strmid(result, str, index, strlen(str));
  663.     return result;
  664. }
  665.  
  666. stock IsValidClanNameAndInEnglish(const str[]){
  667.     if(strlen(str) < 0 || strlen(str) > 8) return 0;
  668.     for(new i = 0; i < strlen(str); i++)
  669.     {
  670.         switch(str[i])
  671.         {
  672.             case 'a' .. 'z': {}
  673.             case 'A' .. 'Z': {}
  674.             case '0' .. '9': {}
  675.             default: return 0;
  676.         }
  677.     }
  678.     return 1;
  679. }
  680.  
  681. stock IsPlayerInClan(playerid){
  682.     if(PClanInfo[playerid][InClan] == 1) return true;
  683.     else return false;
  684. }
  685.  
  686. stock IsPlayerClanManager(playerid){
  687.     if(PClanInfo[playerid][ClanManager] == 1) return true;
  688.     else return false;
  689. }
  690.  
  691. stock SendClanMsg(playerid, color, message[])
  692. {
  693.     for(new i = 0; i < GetMaxPlayers(); i++) if(IsPlayerConnected(i) && IsPlayerInClan(i) && strcmp(PClanInfo[playerid][ClanName], PClanInfo[i][ClanName], true) == 0) return SendClientMessage(i, color, message);
  694.     return 1;
  695. }
  696.  
  697. stock ReturnClanID(clan[]){
  698.     for(new i = 1; i < MAX_CLANS_IDS; i++) if(DOF2_FileExists(ClanFile(i)) && strcmp(clan, CInfo[i][ClanName], true) == 0) return i;
  699.     return 1;
  700. }
  701.  
  702. stock DaysBetweenDates(startDay,startMonth,startYear,endDay,endMonth,endYear)
  703. {
  704.     new Days,str[2][15],monthDays[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
  705.     format(str[0],15,"%i/%i/%i",startDay,startMonth,startYear);
  706.     format(str[1],15,"%i/%i/%i",endDay,endMonth,endYear);
  707.     while(strcmp(str[0],str[1],false))
  708.     {
  709.         Days++;
  710.         endDay--;
  711.         if(endDay == 0)
  712.         {
  713.             endMonth--;
  714.             if(endMonth == 0)
  715.             {
  716.                 endYear--;
  717.                 endMonth = 12;
  718.             }
  719.             if(endMonth == 2) endDay = ((endYear % 4 == 0) && (endYear % 100 != 0)) || (endYear % 400 == 0)?29:28;
  720.             else endDay = monthDays[endMonth-1];
  721.         }
  722.         format(str[1],15,"%i/%i/%i",endDay,endMonth,endYear);
  723.     }
  724.     return Days;
  725. }
  726.  
  727. stock GetClanLevel(playerid){
  728.     new CLevel[30];
  729.     switch(GetPlayerClanLevel(playerid))
  730.     {
  731.         case 1 .. 2: strcat(CLevel, "Member");
  732.         case 3:      strcat(CLevel, "Tester");
  733.         case 4:      strcat(CLevel, "SubLeader");
  734.         case 5:      strcat(CLevel, "Founder");
  735.     }
  736.     return CLevel;
  737. }
  738.  
  739. stock FormatTime(sec, time[16])
  740. {
  741.     if (sec == 0)
  742.     {
  743.         time = "0 seconds";
  744.         return time;
  745.     }
  746.     new fdecimal[16];
  747.     new fmin[6]; format(fmin, 6, "%.1f", floatdiv(sec,60));
  748.     new minute = (sec/60);
  749.     new sep = strfind(fmin, ".");
  750.     strmid(fdecimal, fmin, sep+1, strlen(fmin), 16);
  751.     if (sec < 60) format(time, 16, "%d second%s", sec, (sec != 1)?("s"):(""));
  752.     else
  753.     {
  754.         if (strval(fdecimal) == 0) format(time, 16, "%d minute%s", minute, (minute > 1)?("s"):(""));
  755.         else format(time, 16, "%s mintue%s", fmin, (floatstr(fmin) > 1.0)?("s"):(""));
  756.     }
  757.     return time;
  758. }
  759.  
  760. stock rgba2hex1(r,g,b,a) return (r*16777216) + (g*65536) + (b*256) + a;
  761.  
  762. Public(UnCMute, playerid) return SetPVarInt(playerid, "InCMute", 0), KillTimer(ClanMute[playerid]), SendClientMessage(playerid, 0xFFFF00AA, ""ClanMsgsColor".éøãä ìê ääùú÷ä");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement