_iLustcheR_

SAMP-IL Training Mode v1.0 by LustcheR

Mar 11th, 2014
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 47.00 KB | None | 0 0
  1. //Training Mode By _iLustcheR_ SAMP-IL v0.1
  2. #include <a_samp>
  3. #include <DOF2>
  4. #include "../include/gl_common.inc"
  5.  
  6. #pragma unused DOF2_Exit
  7.  
  8. new String[5000];
  9. #define FStrcat(%0,%1,%2) format(String, sizeof(String),%1,%2) && strcat(%0, String)
  10. #define SendFormatMessage(%0,%1,%2,%3)   format(String, sizeof(String),%2,%3) && SendClientMessage(%0, %1, String)
  11. #define SendFormatMessageToAll(%0,%1,%2) format(String, sizeof(String),%1,%2) && SendClientMessageToAll(%0, String)
  12. #define KickEx(%0) SetTimerEx("SKick", 200, false, "d", %0)
  13. #define ErrorCommand(%0) SendClientMessage(%0, Color_White, "/Help - פקודה זו אינה נמצאה במערכת, לעזרה הקלד")
  14.  
  15. #define ServerName     "SA-MP.co.il - SAMP-IL Training Server by _iDrPawn_"
  16. #define Weburl         "SA-MP.co.il"
  17. #define ModeName       "SAMP-IL TrainingMode v1.0"
  18. #define Version        "v1.0"
  19. #define ModeMap        "SAMP-IL"
  20.  
  21. #define Dialog_Admins       1
  22. #define Dialog_ARegister    2
  23. #define Dialog_ALogin       3
  24. #define Dialog_ALogout      4
  25. #define Dialog_Report       5
  26. #define Dialog_MyInfo       6
  27. #define Dialog_PickupInfo   7
  28. #define Dialog_CommandsHelp 8
  29.  
  30. #define Color_SAMP-IL   0xFF0080FF
  31. #define Color_GMX       0x00BBBBAA
  32. #define Color_White     0xFFFFFFAA
  33. #define Color_Red       0xFF0000AA
  34. #define Color_Yellow    0xFFFF00AA
  35. #define Color_LBlue     0x00cbceFF
  36. #define Color_Orange    0xFF9900AA
  37. #define Color_LGreen    0x24FF0AB9
  38. #define Color_TimeDate  0x00B7B7FF
  39. #define Color_PTextInfo 0xF09C00AA
  40.  
  41. #define Color_TeamA  0x00BFFFAA
  42. #define Color_TeamB  0x38FF06FF
  43. #define Color_NoTeam Color_SAMP-IL
  44.  
  45. #define TeamA  2
  46. #define TeamB  3
  47. #define NoTeam 1
  48.  
  49. enum AData
  50. {
  51.     DrLevel,
  52.     AdminRegistered,
  53.     AdminLogged
  54. };
  55. new DrAdmin[MAX_PLAYERS][AData];
  56.  
  57. enum ReportInfo
  58. {
  59.     ReportReason[256],
  60.     ReportPlayerName[MAX_PLAYER_NAME + 1]
  61. };
  62. new Report[MAX_PLAYERS][ReportInfo];
  63.  
  64. new MuteTimer[MAX_PLAYERS], MutedCount;
  65. new GMXOn, GMXTimer, CDOn, CDTimer;
  66. new Text:PlayerName[MAX_PLAYERS], Text:DamageText[MAX_PLAYERS], Text:ServerTagName, Text:ServerTime;
  67. new bool:ShowDamageText[MAX_PLAYERS char], bool:PInfo[MAX_PLAYERS char], bool:HaveLagShot;
  68. new DrunkLevelLast[MAX_PLAYERS], PlayerText3D:PlayerTextInfo, FPS[MAX_PLAYERS];
  69. new Kills[MAX_PLAYERS], Deaths[MAX_PLAYERS], GodMod[MAX_PLAYERS], Float:Health;
  70. new PickupInfo;
  71.  
  72. new Float:RandomSpawn[][] =
  73. {
  74.     {-2765.0420, 382.2447, 6.3281, 268.0131},
  75.     {-2764.8174, 375.3426, 6.3426, 268.6397},
  76.     {-2765.2261, 368.8609, 6.3359, 268.0129},
  77.     {-2650.0847, 381.3097, 6.1563, 90.6646},
  78.     {-2650.0862, 375.9734, 6.1563, 88.7846},
  79.     {-2650.0371, 370.7522, 6.1563, 88.7846}
  80. };
  81. new Float:SpawnTeamA[][] =
  82. {
  83.     {-2077.3752, -122.2767, 35.3203, 179.8075},
  84.     {-2063.5967, -123.4472, 35.3267, 176.6742},
  85.     {-2050.4299, -124.5533, 35.2796, 176.674},
  86.     {-2034.4612, -125.9933, 35.2184, 173.5408},
  87.     {-2019.6927, -125.5003, 35.2353, 176.6742}
  88. };
  89. new Float:SpawnTeamB[][] =
  90. {
  91.     {-2031.3051, -268.9529, 35.3203, 358.1244},
  92.     {-2046.9691, -266.7370, 35.3274, 6.8979},
  93.     {-2062.8740, -264.9701, 35.3203, 354.3644},
  94.     {-2076.0305, -263.2493, 35.3203, 354.3644},
  95.     {-2091.0857, -263.1536, 35.3203, 354.3644}
  96. };
  97.  
  98. forward StartServerTime();
  99. forward OnPlayerPrivateMSG(playerid, recieverid, text[]);
  100. forward UnMute(playerid);
  101. forward SKick(playerid);
  102. forward GMXCD(cdf);
  103. forward CD(cdf);
  104. forward HideDamageText(playerid);
  105. forward ServerTimeMessage();
  106. forward PlayerInfo(playerid);
  107.  
  108. public OnGameModeInit()
  109. {
  110.     for(new i = 0; i < 299; i++) AddPlayerClass(i, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
  111.  
  112.     SetGameModeText(ModeName);
  113.     SendRconCommand("hostname "ServerName"");
  114.     SendRconCommand("weburl "Weburl"");
  115.     SendRconCommand("mapname "ModeMap"");
  116.  
  117.     StartServerTime();
  118.     UsePlayerPedAnims();
  119.     EnableStuntBonusForAll(false);
  120.  
  121.     ServerTagName = TextDrawCreate(2, 432, "SA-MP.co.il - SAMP-IL Training Server by _iDrPawn_ v1.0");
  122.     TextDrawFont(ServerTagName, 1);
  123.     TextDrawLetterSize(ServerTagName, 0.32, 1.3);
  124.     TextDrawColor(ServerTagName, 514);
  125.     TextDrawSetShadow(ServerTagName, 0);
  126.  
  127.     ServerTime = TextDrawCreate(555, 24, "00:00");
  128.     TextDrawFont(ServerTime, 3);
  129.     TextDrawLetterSize(ServerTime, 0.5, 1.5);
  130.     TextDrawColor(ServerTime, -1);
  131.     TextDrawSetShadow(ServerTime, 0);
  132.  
  133.     SetTimer("StartTimeDate", 1000 * 30, 1);
  134.  
  135.     PickupInfo = CreatePickup(1239, 1, -2706.2708, 376.0417, 4.9686, 0);
  136.     Create3DTextLabel("{CC6600}[{FFFFFF}PickUp Info{CC6600}]\n{66CCFF}לחץ על מקש הרווח לקבלת המידע מהפיקאפ", Color_White, -2706.2708, 376.0417, 6, 25, 0, 0);
  137.     return 1;
  138. }
  139.  
  140. public OnGameModeExit()
  141. {
  142.     for(new i = 0; i < GetMaxPlayers(); i++) if(IsPlayerConnected(i))
  143.     {
  144.         OnPlayerDisconnect(i, 0);
  145.         SaveAdminDetals(i);
  146.     }
  147.     return 1;
  148. }
  149.  
  150. public OnPlayerRequestClass(playerid, classid)
  151. {
  152.     SetPlayerPos(playerid, 2170.539306, 1285.648193, 24.471347);
  153.     SetPlayerFacingAngle(playerid, 89.769149);
  154.     SetPlayerCameraLookAt(playerid, 2170.539306, 1285.648193, 24.471347);
  155.     SetPlayerCameraPos(playerid, 2170.539306 + (10 * floatsin(-89.769149, degrees)), 1285.648193 + (10 * floatcos(-89.769149, degrees)), 24.471347);
  156.     return 1;
  157. }
  158.  
  159. public OnPlayerConnect(playerid)
  160. {
  161.     SendClientMessage(playerid, Color_GMX, "/SelectTeam - לבחירת הקבוצה למלחמה הקלד");
  162.     SendClientMessage(playerid, Color_GMX, ".בקרוב עדכון פקודה להסבר על השרת");
  163.  
  164.     DrunkLevelLast[playerid] = 0;
  165.     FPS[playerid] = 0;
  166.     GodMod[playerid] = 1;
  167.  
  168.     SetPlayerTeam(playerid, NoTeam);
  169.     SetPlayerColor(playerid, Color_SAMP-IL);
  170.  
  171.     SetPVarInt(playerid, "ReturnPM", -1);
  172.  
  173.     PlayerName[playerid] = TextDrawCreate(230, 280, GetName(playerid));
  174.     TextDrawFont(PlayerName[playerid], 1);
  175.     TextDrawLetterSize(PlayerName[playerid], 0.5, 1);
  176.     TextDrawColor(PlayerName[playerid], -759919560);
  177.     TextDrawSetShadow(PlayerName[playerid], 0);
  178.     TextDrawSetString(PlayerName[playerid], GetName(playerid));
  179.     TextDrawShowForPlayer(playerid, PlayerName[playerid]);
  180.  
  181.     TextDrawShowForPlayer(playerid, ServerTime);
  182.     TextDrawShowForPlayer(playerid, ServerTagName);
  183.    
  184.     if(ShowDamageText{playerid} == true) return DamageText[playerid] = TextDrawCreate(135.0, 410.0, " "), TextDrawSetOutline(DamageText[playerid], 1);
  185.    
  186.     if(DOF2_FileExists(AMute(playerid))) return SetPVarInt(playerid, "InMute", 1), MuteTimer[playerid] = SetTimerEx("UnMute", 800, 0, "d", playerid);
  187.  
  188.     if(DOF2_FileExists(AFile(playerid))) return String[0] = EOS, LoadAdminDetails(playerid);
  189.     else String[0] = EOS;
  190.     return 1;
  191. }
  192.  
  193. public OnPlayerDisconnect(playerid, reason)
  194. {
  195.     SetPlayerTeam(playerid, NoTeam);
  196.    
  197.     DrunkLevelLast[playerid] = 0;
  198.     FPS[playerid] = 0;
  199.     GodMod[playerid] = 0;
  200.    
  201.     if(ShowDamageText{playerid} == false) return TextDrawDestroy(DamageText[playerid]);
  202.    
  203.     DOF2_SetInt(AFile(playerid), "AdminLogged", 0);
  204.     SaveAdminDetals(playerid);
  205.     DOF2_SaveFile();
  206.     return 1;
  207. }
  208.  
  209. public OnPlayerSpawn(playerid)
  210. {
  211.     if(GetPlayerPing(playerid) > 80)
  212.     {
  213.         SendFormatMessageToAll(Color_Yellow, "\"%s\" has been kicked by Admin {FF0000}SAMP-IL {FFFF00}(HighPing).", GetName(playerid));
  214.         SendFormatMessage(playerid, Color_Yellow, "(MaxPing: 80) .ולכן קיבלת קיק מהשרת {FF0000}%d {FFFF00}כמות הפינגים שלך הגיע למספר", GetPlayerPing(playerid)), KickEx(playerid);
  215.     }
  216.     if(FPS[playerid] < 35)
  217.     {
  218.         SendFormatMessageToAll(Color_Yellow, "\"%s\" has been kicked by Admin {FF0000}SAMP-IL {FFFF00}(LowFPS).", GetName(playerid));
  219.         SendFormatMessage(playerid, Color_Yellow, "(MinFPS: 35) .ולכן קיבלת קיק מהשרת {FF0000}%s {FFFF00}שלך הגיע למספר FPS כמות ה", FPS[playerid]), KickEx(playerid);
  220.     }
  221.     if(GetPlayerTeam(playerid) == NoTeam)
  222.     {
  223.         new Rand = random(sizeof(RandomSpawn));
  224.         SetPlayerPos(playerid, RandomSpawn[Rand][0], RandomSpawn[Rand][1], RandomSpawn[Rand][2]);
  225.         SetPlayerFacingAngle(playerid, RandomSpawn[Rand][3]);
  226.         SetCameraBehindPlayer(playerid);
  227.         ResetPlayerWeapons(playerid);
  228.         SetPlayerVirtualWorld(playerid, 0);
  229.         GodMod[playerid] = 1;
  230.         SetPlayerColor(playerid, Color_SAMP-IL);
  231.     }
  232.     if(GetPlayerTeam(playerid) == TeamA)
  233.     {
  234.         new Rand = random(sizeof(SpawnTeamA));
  235.         SetPlayerPos(playerid, SpawnTeamA[Rand][0], SpawnTeamA[Rand][1], SpawnTeamA[Rand][2]);
  236.         SetPlayerFacingAngle(playerid, SpawnTeamA[Rand][3]);
  237.         SetCameraBehindPlayer(playerid);
  238.         GiveTeamWeapons(playerid);
  239.         SetPlayerHealth(playerid, 100);
  240.         SetPlayerArmour(playerid, 100);
  241.         SetPlayerVirtualWorld(playerid, 1);
  242.         GodMod[playerid] = 0;
  243.     }
  244.     if(GetPlayerTeam(playerid) == TeamB)
  245.     {
  246.         new Rand = random(sizeof(SpawnTeamB));
  247.         SetPlayerPos(playerid, SpawnTeamB[Rand][0], SpawnTeamB[Rand][1], SpawnTeamB[Rand][2]);
  248.         SetPlayerFacingAngle(playerid, SpawnTeamB[Rand][3]);
  249.         SetCameraBehindPlayer(playerid);
  250.         GiveTeamWeapons(playerid);
  251.         SetPlayerHealth(playerid, 100);
  252.         SetPlayerArmour(playerid, 100);
  253.         SetPlayerVirtualWorld(playerid, 1);
  254.         GodMod[playerid] = 0;
  255.     }
  256.     TextDrawHideForPlayer(playerid, PlayerName[playerid]);
  257.     return 1;
  258. }
  259.  
  260. public OnPlayerDeath(playerid, killerid, reason)
  261. {
  262.     SendDeathMessage(killerid, playerid, reason);
  263.     Kills[killerid]++, Deaths[playerid]++;
  264.     return 1;
  265. }
  266.  
  267. public OnVehicleSpawn(vehicleid)
  268. {
  269.     return 1;
  270. }
  271.  
  272. public OnVehicleDeath(vehicleid, killerid)
  273. {
  274.     return 1;
  275. }
  276.  
  277. public OnPlayerText(playerid, text[])
  278. {
  279.     if(GetPVarInt(playerid, "InMute") == 1 && !IsPlayerDrAdmin(playerid)) return SendClientMessage(playerid, Color_Red, ".אינל יכול לדבר בצ'אט כשאתה במיוט"), 0;
  280.     if(text[0] == '#' && IsPlayerDrAdmin(playerid))
  281.     {
  282.         for(new i = 0, j = GetMaxPlayers(); i < j; i++)
  283.         {
  284.             if(IsPlayerConnected(i) && IsPlayerDrAdmin(i))
  285.             {
  286.                 SendFormatMessage(i, Color_Orange, "%s (%d): %s [Level: %d]", GetName(playerid), playerid, text[1], GetDrAdminLevel(playerid));
  287.             }
  288.         }
  289.         return 0;
  290.     }
  291.     if(text[0] == '@')
  292.     {
  293.         for(new i = 0, j = GetMaxPlayers(); i < j; i++)
  294.         {
  295.             if(IsPlayerConnected(i))
  296.             {
  297.                 if(GetPlayerTeam(i) == TeamA) return SendFormatMessage(i, Color_TeamA, "[TeamA Chat] - %s: %s [ID: %d]", GetName(playerid), text[1], playerid);
  298.                 if(GetPlayerTeam(i) == TeamB) return SendFormatMessage(i, Color_TeamB, "[TeamB Chat] - %s: %s [ID: %d]", GetName(playerid), text[1], playerid);
  299.             }
  300.         }
  301.         return 0;
  302.     }
  303.     SendFormatMessageToAll(GetPlayerColor(playerid), "%s: {FFFFFF}%s [ID: %d]", GetName(playerid), text[0], playerid);
  304.     return 0;
  305. }
  306.  
  307. public OnPlayerCommandText(playerid, cmdtext[])
  308. {
  309.     new cmd[6][256], idx;
  310.     cmd[0] = strtok(cmdtext, idx);
  311.  
  312.     if(strcmp(cmd[0], "/Kill", true) == 0) return SetPlayerHealth(playerid, 0);
  313.    
  314.     if(strcmp(cmd[0], "/Admins", true) == 0 || strcmp(cmd[0], "/Ad", true) == 0)
  315.     {
  316.         new MiniString[64], LevelName[64];
  317.         format(String, sizeof(String), "");
  318.         new CountAdmins = 0;
  319.         for(new i; i < MAX_PLAYERS; i++)
  320.         {
  321.             if(IsPlayerConnected(i) && IsPlayerDrAdmin(i) && DrAdmin[i][DrLevel] >= 1)
  322.             {
  323.                 if(GetDrAdminLevel(i) == 1) LevelName = "{FFFFFF}[{ffbe00}Responsible server{FFFFFF}]";
  324.                 if(GetDrAdminLevel(i) == 2) LevelName = "{FFFFFF}[{FF2400}Admin {FFFFFF}/ {99FF00}Manager{FFFFFF}]";
  325.                 if(GetDrAdminLevel(i) == 3) LevelName = "{FFFFFF}[{33CCFF}Programmer{FFFFFF}]";
  326.                 format(String, sizeof(String), "{FFFFFF}%s%s (%d) - [%d] %s\n", String, GetName(i), i, DrAdmin[i][DrLevel], LevelName);
  327.                 format(MiniString, sizeof(MiniString), "{FFFFFF}(%d) רשימת אדמינים", CountAdmins + 1);
  328.                 ShowPlayerDialog(playerid, Dialog_Admins, DIALOG_STYLE_MSGBOX, MiniString, String, "àéùåø", "");
  329.                 CountAdmins++;
  330.             }
  331.         }
  332.         if(CountAdmins == 0) SendClientMessage(playerid, Color_Red, ".àéï àãîéðéí îçåáøéí");
  333.         return 1;
  334.     }
  335.     if(strcmp(cmd[0], "/Muted", true) == 0)
  336.     {
  337.         for(new i; i < MAX_PLAYERS; i++)
  338.         {
  339.             if(IsPlayerConnected(i) && GetPVarInt(i, "InMute") == 1)
  340.             {
  341.                 SendClientMessage(playerid, Color_White, "--- Muted List: ---");
  342.                 SendFormatMessage(playerid, Color_LBlue, "%i. %s (id: %d) - [TimeLeft: %d] [Reason: %s | By: %s]", MutedCount, GetName(i), i, DOF2_GetInt(AMute(i), "Time") - gettime(), DOF2_GetString(AMute(i), "Reason"), DOF2_GetString(AMute(i), "AdminName"));
  343.             }
  344.         }
  345.         if(MutedCount == 0) SendClientMessage(playerid, Color_Red, ".אין שחקנים במיוט");
  346.         return 1;
  347.     }
  348.    
  349.     if(GetPVarInt(playerid, "InMute") == 1 && !IsPlayerDrAdmin(playerid)) return SendClientMessage(playerid, Color_Red, ".אינך יכול לבצע פקודות כשאתה במיוט");
  350. // ==================================================================[AdminMode]================================================================ //
  351.     if(strcmp(cmd[0], "/xDrSetAdmin", true) == 0)
  352.     {
  353.         cmd[1] = strtok(cmdtext, idx);
  354.         cmd[2] = strtok(cmdtext, idx);
  355.         if(!IsPlayerAdmin(playerid) || GetDrAdminLevel(playerid) < 3) return ErrorCommand(playerid);
  356.         if(!strlen(cmd[1]) || !strlen(cmd[2])) return SendClientMessage(playerid, Color_White, "Usage: /xFSetAdmin [PlayerID] [Level 1 - 3]");
  357.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  358.         if(strval(cmd[2]) < 0 || strval(cmd[2]) > 3) return SendClientMessage(playerid, Color_Red, "Error: Level 1 - 3");
  359.         if(strval(cmd[2]) == 0) if(DOF2_FileExists(AFile(strval(cmd[1])))) DOF2_RemoveFile(AFile(strval(cmd[1])));
  360.         DOF2_CreateFile(AFile(strval(cmd[1])));
  361.         DOF2_SetInt(AFile(strval(cmd[1])), "DrLevel", strval(cmd[2]));
  362.         DOF2_SetInt(AFile(strval(cmd[1])), "AdminRegistered", 0);
  363.         DOF2_SetInt(AFile(strval(cmd[1])), "AdminLogged", 0);
  364.         DrAdmin[strval(cmd[1])][DrLevel] = strval(cmd[2]);
  365.         SendFormatMessage(playerid, Color_Yellow, "You Have set Player {FF0000}\"%s\" {FFFF00}Admin Level to %d.", GetName(strval(cmd[1])), strval(cmd[2]));
  366.         SendFormatMessage(strval(cmd[1]), Color_Yellow, "{FFFF00}Administrator {FF0000}\"%s\" {FFFF00}has been set your Admin Level to %d.", GetName(playerid), strval(cmd[2]));
  367.         ShowPlayerDialog(strval(cmd[1]), Dialog_ARegister, DIALOG_STYLE_INPUT, "Security word", "Please write security word to your admin account:", "Save", "");
  368.         return 1;
  369.     }
  370.     if(strcmp(cmd[0], "/xALogin", true) == 0)
  371.     {
  372.         if(!GetDrAdminLevel(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  373.         if(IsDrAdminLogged(playerid)) return SendClientMessage(playerid, Color_Red, "You have been logged for your admin account.");
  374.         ShowPlayerDialog(playerid, Dialog_ALogin, DIALOG_STYLE_INPUT, "Admin Login", "Type your security word:", "Login", "Cancel");
  375.         return 1;
  376.     }
  377.     if(strcmp(cmd[0], "/xALogout", true) == 0)
  378.     {
  379.         if(!GetDrAdminLevel(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  380.         if(!IsDrAdminLogged(playerid)) return SendClientMessage(playerid, Color_Red, "You are not logged for your admin account.");
  381.         ShowPlayerDialog(playerid, Dialog_ALogout, DIALOG_STYLE_MSGBOX, "Admin Login", "Are you sure you want to logout from your admin account?", "Yes", "Cancel");
  382.         return 1;
  383.     }
  384.     if(strcmp(cmd[0], "/xSay", true) == 0)
  385.     {
  386.         new SMessage[256];
  387.         SMessage = strrest(cmdtext,idx);
  388.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  389.         if(!strlen(SMessage)) return SendClientMessage(playerid, Color_White, "Usage: /xSay [Message]");
  390.         SendFormatMessageToAll(Color_Red, "** Admin %s (%d): %s", GetName(playerid), playerid, SMessage);
  391.         return 1;
  392.     }
  393.     if(strcmp(cmd[0], "/xCCA", true) == 0)
  394.     {
  395.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  396.         for(new i; i < 50; i++) SendClientMessageToAll(Color_White, "");
  397.         SendFormatMessageToAll(Color_Red, "{00FFF2}.ניקה את הצ'אט {FFFFFF}%s {00FFF2}האדמין", GetName(playerid));
  398.         return 1;
  399.     }
  400.     if(strcmp(cmd[0], "/xCC", true) == 0)
  401.     {
  402.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  403.         if(!IsPlayerDrAdmin(playerid))
  404.         {
  405.             for(new i; i < 50; i++) SendClientMessageToAll(Color_White, "");
  406.         }
  407.         SendFormatMessageToAll(Color_Red, "{00FFF2}.ניקה את הצ'אט {FFFFFF}%s {00FFF2}האדמין", GetName(playerid));
  408.         return 1;
  409.     }
  410.     if(strcmp(cmd[0], "/xCTK", true) == 0)
  411.     {
  412.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  413.         for(new i; i < 50; i++) SendDeathMessage(1000, 1000, 1000);
  414.         SendFormatMessageToAll(Color_Red, "{00FFF2}.ניקה את צ'אט ההריגות {FFFFFF}%s {00FFF2}האדמין", GetName(playerid));
  415.         return 1;
  416.     }
  417.     if(strcmp(cmd[0], "/xJP", true) == 0)
  418.     {
  419.         cmd[1] = strtok(cmdtext, idx);
  420.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  421.         if(!strlen(cmd[1])) return SetPlayerSpecialAction(playerid, 2);
  422.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  423.         SetPlayerSpecialAction(strval(cmd[1]), 2);
  424.         return 1;
  425.     }
  426.     if(strcmp(cmd[0], "/xMute", true) == 0)
  427.     {
  428.         cmd[1] = strtok(cmdtext, idx);
  429.         cmd[2] = strtok(cmdtext, idx);
  430.         cmd[3] = strrest(cmdtext, idx);
  431.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  432.         if(!strlen(cmd[1]) || !strlen(cmd[2]) || !strlen(cmd[3])) return SendClientMessage(playerid, Color_White, "Usage: /xMute [PlayerID] [Time] [Reason]");
  433.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  434.         if(strval(cmd[1]) == playerid) return SendClientMessage(playerid, Color_Red, "!אתה לא יכול לתת לעצמך מיוט");
  435.         if(GetPVarInt(strval(cmd[1]), "InMute") == 1) return SendClientMessage(playerid, Color_Red, "!שחקן זה כבר במיוט");
  436.         if(strval(cmd[2]) > 0)
  437.         {
  438.             new Ntime[16];
  439.             FormatTime(strval(cmd[2]), Ntime);
  440.             MuteTimer[strval(cmd[1])] = SetTimerEx("UnMute", strval(cmd[2]) * 1000, 0, "d", strval(cmd[1]));
  441.             if(!strlen(cmd[3])) return SendFormatMessageToAll(-1, "{FFFF00}\"%s\" has been muted by Admin {FF0000}\"%s\" {FFFF00}for %s.", GetName(strval(cmd[1])), GetName(playerid), Ntime);
  442.             SendFormatMessageToAll(-1, "{FFFF00}\"%s\" has been muted by Admin {FF0000}\"%s\" {FFFF00}for %s. (Reason: %s)", GetName(strval(cmd[1])), GetName(playerid), Ntime, cmd[3]);
  443.             SetPVarInt(strval(cmd[1]), "InMute", 1);
  444.             DOF2_CreateFile(AMute(strval(cmd[1])));
  445.             DOF2_SetInt(AMute(strval(cmd[1])), "Time", gettime() + strval(cmd[2]));
  446.             DOF2_SetString(AMute(strval(cmd[1])), "AdminName", GetName(playerid));
  447.             DOF2_SetString(AMute(strval(cmd[1])), "Reason", cmd[3]);
  448.             MutedCount++;
  449.         }
  450.         else return SendClientMessage(playerid, Color_Red, "Error: The time of mute must be bigger than 0.");
  451.         return 1;
  452.     }
  453.     if(strcmp(cmd[0], "/xUnMute", true) == 0)
  454.     {
  455.         cmd[1] = strtok(cmdtext, idx);
  456.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 1) return ErrorCommand(playerid);
  457.         if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /xUnMute [PlayerID]");
  458.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  459.         if(GetPVarInt(strval(cmd[1]), "InMute") == 0) return SendClientMessage(playerid, Color_Red, "!שחקן זה לא במיוט");
  460.         SendFormatMessageToAll(-1, "{FFFF00}\"%s\" has been UnMuted by Admin {FF0000}\"%s\"{FFFF00}.", GetName(strval(cmd[1])), GetName(playerid), cmd[2]);
  461.         SetPVarInt(strval(cmd[1]), "InMute", 0);
  462.         KillTimer(MuteTimer[strval(cmd[1])]);
  463.         DOF2_RemoveFile(AMute(strval(cmd[1])));
  464.         MutedCount--;
  465.         return 1;
  466.     }
  467.     if(strcmp(cmd[0], "/xKick", true) == 0)
  468.     {
  469.         cmd[1] = strtok(cmdtext, idx);
  470.         cmd[2] = strrest(cmdtext, idx);
  471.         if(!IsPlayerDrAdmin(playerid)) return ErrorCommand(playerid);
  472.         if(GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  473.         if(!strlen(cmd[1]) || !strlen(cmd[2])) return SendClientMessage(playerid, Color_White, "Usage: /xKick [PlayerID] [Reason]");
  474.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  475.         if(strval(cmd[1]) == playerid) return SendClientMessage(playerid, Color_Red, "!אינך יכול לתת קיק לעצמך");
  476.         if(!strlen(cmd[2])) return SendFormatMessageToAll(Color_Yellow, "\"%s\" has been kicked by Admin {FF0000}\"%s\"{FFFF00}.", GetName(strval(cmd[1])), GetName(playerid));
  477.         SendFormatMessageToAll(Color_Yellow, "\"%s\" has been kicked by Admin {FF0000}\"%s\" {FFFF00}(%s).", GetName(strval(cmd[1])), GetName(playerid), strval(cmd[2]));
  478.         KickEx(strval(cmd[1]));
  479.         return 1;
  480.     }
  481.     if(strcmp(cmd[0], "/xSetHP", true) == 0)
  482.     {
  483.         cmd[1] = strtok(cmdtext, idx);
  484.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  485.         if(!strlen(cmd[1])) for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerHealth(i, 100);
  486.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  487.         SetPlayerHealth(strval(cmd[1]), 100);
  488.         return 1;
  489.     }
  490.     if(strcmp(cmd[0], "/xSetAR", true) == 0)
  491.     {
  492.         cmd[1] = strtok(cmdtext, idx);
  493.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  494.         if(!strlen(cmd[1])) for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerArmour(i, 100);
  495.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  496.         SetPlayerArmour(strval(cmd[1]), 100);
  497.         return 1;
  498.     }
  499.     if(strcmp(cmd[0], "/xFreeze", true) == 0)
  500.     {
  501.         cmd[1] = strtok(cmdtext, idx);
  502.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  503.         if(!strlen(cmd[1])) for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) TogglePlayerControllable(i, 0);
  504.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  505.         TogglePlayerControllable(strval(cmd[1]), 0);
  506.         return 1;
  507.     }
  508.     if(strcmp(cmd[0], "/xUnFreeze", true) == 0)
  509.     {
  510.         cmd[1] = strtok(cmdtext, idx);
  511.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  512.         if(!strlen(cmd[1])) for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) TogglePlayerControllable(i, 1);
  513.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  514.         TogglePlayerControllable(strval(cmd[1]), 1);
  515.         return 1;
  516.     }
  517.     if(strcmp(cmd[0], "/xDelW", true) == 0)
  518.     {
  519.         cmd[1] = strtok(cmdtext, idx);
  520.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  521.         if(!strlen(cmd[1])) for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) ResetPlayerWeapons(i);
  522.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  523.         ResetPlayerWeapons(strval(cmd[1]));
  524.         return 1;
  525.     }
  526.     if(strcmp(cmd[0], "/xGiveW", true) == 0)
  527.     {
  528.         new WName[45];
  529.         cmd[1] = strtok(cmdtext, idx);
  530.         cmd[2] = strtok(cmdtext, idx);
  531.         cmd[3] = strtok(cmdtext, idx);
  532.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  533.         if(!strlen(cmd[1]) || !strlen(cmd[2]) || !strlen(cmd[3])) return SendClientMessage(playerid, Color_White, "Usage: /xGiveW [PlayerID] [WeaponID / Name] [Ammu]");
  534.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  535.         if(strval(cmd[2]) == -1 || strval(cmd[2]) == 19 || strval(cmd[2]) == 20 || strval(cmd[2]) == 21 || strval(cmd[2]) > 46) return SendClientMessage(playerid, Color_Red, "Error: Invalid WEAPON ID.");
  536.         GetWeaponName(strval(cmd[2]), WName, sizeof(WName));
  537.         if(strval(cmd[2]) == 39) GivePlayerWeapon(strval(cmd[1]), 40, strval(cmd[3]));
  538.         GivePlayerWeapon(strval(cmd[1]), strval(cmd[2]), strval(cmd[3]));
  539.         SendFormatMessage(playerid, Color_Yellow, "Admin {FF0000}\"%s\" {FFFF00}Has Given you \"%s\" %d", GetName(playerid), WName, strval(cmd[2]));
  540.         return 1;
  541.     }
  542.     if(strcmp(cmd[0], "/xGiveWall", true) == 0)
  543.     {
  544.         new WName[45];
  545.         cmd[1] = strtok(cmdtext, idx);
  546.         cmd[2] = strtok(cmdtext, idx);
  547.         cmd[3] = strtok(cmdtext, idx);
  548.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  549.         if(!strlen(cmd[1]) || !strlen(cmd[2])) return SendClientMessage(playerid, Color_White, "Usage: /xGiveWall [WeaponID / Name] [Ammu]");
  550.         if(strval(cmd[2]) == -1 || strval(cmd[2]) == 19 || strval(cmd[2]) == 20 || strval(cmd[2]) == 21 || strval(cmd[2]) > 46) return SendClientMessage(playerid, Color_Red, "Error: Invalid WEAPON ID.");
  551.         GetWeaponName(strval(cmd[1]), WName, sizeof(WName));
  552.         for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
  553.         {
  554.             if(strval(cmd[1]) == 39) GivePlayerWeapon(i, 40, strval(cmd[2]));
  555.             GivePlayerWeapon(i, strval(cmd[1]), strval(cmd[2]));
  556.             SendFormatMessage(i, Color_Yellow, "Admin {FF0000}\"%s\" {FFFF00}Has Given you \"%s\" %d", GetName(playerid), WName, strval(cmd[2]));
  557.         }
  558.         return 1;
  559.     }
  560.     if(strcmp(cmd[0], "/xGoto", true) == 0)
  561.     {
  562.         new Float:Pos[3];
  563.         cmd[1] = strtok(cmdtext, idx);
  564.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  565.         if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /xGoto [PlayerID]");
  566.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  567.         GetPlayerPos(strval(cmd[1]), Pos[0], Pos[1], Pos[2]);
  568.         SetPlayerPos(playerid, Pos[0]+1, Pos[1]+1, Pos[2]+1);
  569.         SendFormatMessage(strval(cmd[1]), -1, "{FF0000}\"%s\" {FFFF00}has teleported to your location.", GetName(playerid));
  570.         return 1;
  571.     }
  572.     if(strcmp(cmd[0], "/xGet", true) == 0)
  573.     {
  574.         new Float:Pos[3];
  575.         cmd[1] = strtok(cmdtext, idx);
  576.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  577.         if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /xGet [PlayerID]");
  578.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  579.         GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  580.         if(!strlen(cmd[1]))
  581.         {
  582.             for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerPos(i, Pos[0]+1, Pos[1]+1, Pos[2]+1);
  583.         }
  584.         SetPlayerPos(strval(cmd[1]), Pos[0]+1, Pos[1]+1, Pos[2]+1);
  585.         SendFormatMessage(strval(cmd[1]), -1, "{FF0000}\"%s\" {FFFF00}has teleported to your location.", GetName(playerid));
  586.         return 1;
  587.     }
  588.     if(strcmp(cmd[0], "/xCD", true) == 0)
  589.     {
  590.         cmd[1] = strtok(cmdtext, idx);
  591.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 2) return ErrorCommand(playerid);
  592.         if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /xCD [Start | Stop]");
  593.         if(!strcmp(cmd[1],"Start",true))
  594.         {
  595.             if(!IsPlayerDrAdmin(playerid)) return ErrorCommand(playerid);
  596.             if(CDOn == 1) return SendClientMessage(playerid, Color_Red, ".יש ספירה פועלת");
  597.             cmd[2] = strtok(cmdtext, idx);
  598.             if(!strlen(cmd[2])) return SendClientMessage(playerid, Color_White, "Usage: /xCD Start [Time]");
  599.             CD(strval(cmd[2]));
  600.             CDOn = 1;
  601.             return 1;
  602.         }
  603.         if(!strcmp(cmd[1],"Stop",true))
  604.         {
  605.             if(!IsPlayerDrAdmin(playerid)) return ErrorCommand(playerid);
  606.             if(CDOn == 0) return SendClientMessage(playerid, Color_Red, ".אין ספירה פועלת");
  607.             GameTextForAll("~b~CD: ~r~end", 1100, 6);
  608.             KillTimer(CDTimer);
  609.             CDOn = 0;
  610.             return 1;
  611.         }
  612.         return 1;
  613.     }
  614.     if(strcmp(cmd[0], "/xPlayerInfo", true) == 0)
  615.     {
  616.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 3) return ErrorCommand(playerid);
  617.         SendClientMessage(playerid, Color_Red, PInfo ? ("{00FFF2}.כיבית את הפרטים של השחקן מעל הראש") : ("{00FFF2}.הדלקת את הפרטים של השחקן מעל הראש"));
  618.         PInfo{playerid} = PInfo{playerid} ? false : true;
  619.         return 1;
  620.     }
  621.     if(strcmp(cmd[0], "/xLagShot", true) == 0)
  622.     {
  623.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 3) return ErrorCommand(playerid);
  624.         SendFormatMessageToAll(Color_Red, HaveLagShot ? ("{00FFF2}.כיבה את מערכתת הלאג שוט {FFFFFF}%s {00FFF2}האדמין") : ("{00FFF2}.הדליק את מערכת הלאג שוט {FFFFFF}%s {00FFF2}האדמין"), GetName(playerid));
  625.         SendRconCommand(HaveLagShot ? ("lagcompmode 0") : ("lagcompmode 1"));
  626.         return 1;
  627.     }
  628.     if(strcmp(cmd[0], "/xGMX", true) == 0)
  629.     {
  630.         cmd[1] = strtok(cmdtext, idx);
  631.         cmd[2] = strtok(cmdtext, idx);
  632.         if(!IsPlayerDrAdmin(playerid) || GetDrAdminLevel(playerid) < 3) return ErrorCommand(playerid);
  633.         if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /xGMX [Start | Stop]");
  634.         if(!strcmp(cmd[1],"Start",true))
  635.         {
  636.             if(GMXOn == 1) return SendClientMessage(playerid, Color_Red, ".יש ספירה פועלת");
  637.             if(!strlen(cmd[2])) return SendClientMessage(playerid, Color_White, "Usage: /xGMX Start [Time] [Reason]");
  638.             SendFormatMessageToAll(Color_GMX, "[GMX] ביצע הפעלה מחדש לשרת %s האדמין", GetName(playerid));
  639.             SendFormatMessageToAll(Color_GMX, "[GMX] בעוד %d שניות השרת יבצע הפעלה מחדש", strval(cmd[2]));
  640.             GMXCD(strval(cmd[2]));
  641.             GMXOn = 1;
  642.             return 1;
  643.         }
  644.         if(!strcmp(cmd[1],"Stop",true))
  645.         {
  646.             if(GMXOn == 0) return SendClientMessage(playerid, Color_Red, ".אין ספירה פועלת");
  647.             SendFormatMessageToAll(Color_GMX, "[GMX] ביטל את ההפעלה מחדש לשרת %s האדמין", GetName(playerid));
  648.             GameTextForAll("~b~Restart: ~r~Stop", 1100, 6);
  649.             KillTimer(GMXTimer);
  650.             GMXOn = 0;
  651.             return 1;
  652.         }
  653.         return 1;
  654.     }
  655.     if(strcmp(cmd[0], "/Report", true) == 0)
  656.     {
  657.         cmd[1] = strtok(cmdtext, idx);
  658.         cmd[2] = strtok(cmdtext, idx);
  659.         if(!strlen(cmd[1]) || !strlen(cmd[2])) return SendClientMessage(playerid, Color_White, "Usage: /Report [PlayerID] [Reason]");
  660.         Report[playerid][ReportReason] = cmd[2];
  661.         GetPlayerName(strval(cmd[1]), Report[playerid][ReportPlayerName], MAX_PLAYER_NAME + 1);
  662.         format(String, sizeof(String), ".%s :דיווח על השחקן\n.%s :סיבת הדיווח\n\n?%s :האם אתה בטוח שאתה רוצה לדווח על השחקן", Report[playerid][ReportPlayerName], Report[playerid][ReportReason], Report[playerid][ReportPlayerName]);
  663.         ShowPlayerDialog(playerid, Dialog_Report, DIALOG_STYLE_MSGBOX, "דיווח על שחקן", String, "ëï", "ìà");
  664.         return 1;
  665.     }
  666. // ===================================================================[PlayerInfo]=============================================================== //
  667.     if(strcmp(cmd[0], "/MyInfo", true) == 0)
  668.     {
  669.         format(String, sizeof(String),"NickName: %s\nKills: %d\nDeaths: %d\nSkinID: %d", GetName(playerid), Kills[playerid], Deaths[playerid], GetPlayerSkin(playerid));
  670.         ShowPlayerDialog(playerid, Dialog_MyInfo, DIALOG_STYLE_MSGBOX, "MyInfo", String, "אישור", "");
  671.         return 1;
  672.     }
  673. // ===================================================================[Pm-System]================================================================ //
  674.     if(strcmp(cmd[0], "/PM", true) == 0)
  675.     {
  676.         new gMessage[256];
  677.         cmd[1] = strtok(cmdtext, idx);
  678.         gMessage = strrest(cmdtext,idx);
  679.         if(!strlen(cmd[1]) || !strlen(gMessage)) return SendClientMessage(playerid, Color_White, "Usage: /PM [PlayerID] [Message]");
  680.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, ".השחקן לא מחובר");
  681.         if(strval(cmd[1]) == playerid) return SendClientMessage(playerid, Color_Red, ".אינך יכול לשלוח הודעה פרטית לעצמך");
  682.         OnPlayerPrivateMSG(playerid, strval(cmd[1]), gMessage);
  683.         return 1;
  684.     }
  685.     if(strcmp(cmd[0],"/Respond",true) == 0 || strcmp(cmd[0],"/Re",true) == 0)
  686.     {
  687.         cmd[1] = strrest(cmdtext, idx);
  688.         if(GetPVarInt(playerid, "ReturnPM") == -1)return SendClientMessage(playerid, Color_Red, ".עדיין לא שלחת / קיבלת הודעה פרטית");
  689.         if(!strlen(cmd[1]))return SendClientMessage(playerid, Color_White, "Usage: /Respond [Message]");
  690.         if(!IsPlayerConnected(GetPVarInt(playerid, "ReturnPM")))return SendClientMessage(playerid, Color_Red, ".השחקן לא מחובר");
  691.         OnPlayerPrivateMSG(playerid, GetPVarInt(playerid, "ReturnPM"), cmd[1]);
  692.         return 1;
  693.     }
  694. // ================================================================[PlayerChangeSkin]============================================================ //
  695.     if(strcmp(cmd[0], "/ChangeSkin", true) == 0)
  696.     {
  697.         cmd[1] = strrest(cmdtext, idx);
  698.         if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /ChangeSkin [SkinID]");
  699.         SendFormatMessage(playerid, Color_Yellow, ".{FF0000}%d {FFFF00}איידי {FF0000}%s {FFFF00}הסקין שלך שונה בהצלחה לסקין", strval(cmd[1]));
  700.         SetPlayerSkin(playerid, strval(cmd[1]));
  701.         return 1;
  702.     }
  703. // ==================================================================[PlayerShotTD]============================================================== //
  704.     if(strcmp(cmd[0], "/ShotTD", true) == 0)
  705.     {
  706.         ShowDamageText{playerid} = ShowDamageText{playerid} ? false : true;
  707.         SendClientMessage(playerid, Color_Orange, ShowDamageText{playerid} ? ("/ShotTD - בחרת לבטל את אפשרות צפיית כמות החיים שהורדת לשחקן, בכדי להחזיר את אפשרות הצפייה הקלד") : (".אפשרת את כמות החיים שהורדת לשחקן"));
  708.         return 1;
  709.     }
  710. // ===================================================================[PlayerTMP]================================================================ //
  711.     if(strcmp(cmd[0], "/TMP", true) == 0)
  712.     {
  713.         cmd[1] = strtok(cmdtext, idx);
  714.         if(!strlen(cmd[1])) return SendFormatMessage(playerid, Color_Yellow, "''%s'' (id: %d) - Kills: %d, Death: %d.", GetName(playerid), playerid, Kills[playerid], Deaths[playerid]);
  715.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  716.         SendFormatMessage(playerid, Color_Yellow, "''%s'' (id: %d) - Kills: %d, Death: %d.", GetName(strval(cmd[1])), strval(cmd[1]), Kills[strval(cmd[1])], Deaths[strval(cmd[1])]);
  717.         return 1;
  718.     }
  719. // ===================================================================[PlayerFPS]================================================================ //
  720.     if(strcmp(cmd[0], "/FPS", true) == 0)
  721.     {
  722.         cmd[1] = strtok(cmdtext, idx);
  723.         if(!strlen(cmd[1])) return SendFormatMessage(playerid, Color_Yellow, "''%s'' (id: %d) - FPS: %i.", GetName(playerid), playerid, FPS[playerid]);
  724.         if(!IsPlayerConnected(strval(cmd[1]))) return SendClientMessage(playerid, Color_Red, "Error: Invalid ID.");
  725.         SendFormatMessage(playerid, Color_Yellow, "''%s'' (id: %d) - FPS: %i.", GetName(strval(cmd[1])), strval(cmd[1]), FPS[strval(cmd[1])]);
  726.         return 1;
  727.     }
  728. // ==================================================================[SelectTeam]================================================================ //
  729.     if(strcmp(cmd[0], "/SelectTeam", true) == 0)
  730.     {
  731.         cmd[1] = strtok(cmdtext, idx);
  732.         if(!strlen(cmd[1])) return SendClientMessage(playerid, Color_White, "Usage: /SelectTeam [TeamA | TeamB | Exit]");
  733.         if(!strcmp(cmd[1],"TeamA",true))
  734.         {
  735.             new Rand = random(sizeof(SpawnTeamA));
  736.             SetPlayerTeam(playerid, TeamA);
  737.             SetPlayerColor(playerid, Color_TeamA);
  738.             SetPlayerPos(playerid, SpawnTeamA[Rand][0], SpawnTeamA[Rand][1], SpawnTeamA[Rand][2]);
  739.             SetPlayerFacingAngle(playerid, SpawnTeamA[Rand][3]);
  740.             SetCameraBehindPlayer(playerid);
  741.             GiveTeamWeapons(playerid);
  742.             SetPlayerHealth(playerid, 100);
  743.             SetPlayerArmour(playerid, 100);
  744.             SetPlayerVirtualWorld(playerid, 1);
  745.             GodMod[playerid] = 0;
  746.             return 1;
  747.         }
  748.         if(!strcmp(cmd[1],"TeamB",true))
  749.         {
  750.             new Rand = random(sizeof(SpawnTeamB));
  751.             SetPlayerTeam(playerid, TeamB);
  752.             SetPlayerColor(playerid, Color_TeamB);
  753.             SetPlayerPos(playerid, SpawnTeamB[Rand][0], SpawnTeamB[Rand][1], SpawnTeamB[Rand][2]);
  754.             SetPlayerFacingAngle(playerid, SpawnTeamB[Rand][3]);
  755.             SetCameraBehindPlayer(playerid);
  756.             GiveTeamWeapons(playerid);
  757.             SetPlayerHealth(playerid, 100);
  758.             SetPlayerArmour(playerid, 100);
  759.             SetPlayerVirtualWorld(playerid, 1);
  760.             GodMod[playerid] = 0;
  761.             return 1;
  762.         }
  763.         if(!strcmp(cmd[1],"Exit",true))
  764.         {
  765.             new Rand = random(sizeof(RandomSpawn));
  766.             SetPlayerTeam(playerid, NoTeam);
  767.             SetPlayerColor(playerid, Color_NoTeam);
  768.             SetPlayerPos(playerid, RandomSpawn[Rand][0], RandomSpawn[Rand][1], RandomSpawn[Rand][2]);
  769.             SetPlayerFacingAngle(playerid, RandomSpawn[Rand][3]);
  770.             SetCameraBehindPlayer(playerid);
  771.             ResetPlayerWeapons(playerid);
  772.             SetPlayerVirtualWorld(playerid, 0);
  773.             GodMod[playerid] = 1;
  774.             return 1;
  775.         }
  776.         return 1;
  777.     }
  778.     return ErrorCommand(playerid);
  779. }
  780.  
  781. public OnPlayerPickUpPickup(playerid, pickupid)
  782. {
  783.     if(pickupid == PickupInfo)
  784.     {
  785.         new SPickup[1000];
  786.         strcat(SPickup, "{CC0066}~ SAMP-IL - Training server by _iDrPawn_ "Version"~\n \n \n");
  787.         strcat(SPickup, "{FFFFFF}/Help - למידע ועזרה על המוד הקלד\n \n");
  788.         strcat(SPickup, "{FFFFFF}www.sa-mp.co.il - כתובת הקהילה\n");
  789.         strcat(SPickup, "{FFFFFF}.מתכנת ובעל המוד ,_iDrPawn_ - יצחק\n");
  790.         ShowPlayerDialog(playerid, Dialog_PickupInfo, DIALOG_STYLE_MSGBOX, "SAMP-IL - PickupInfo", SPickup, "éöéàä", "");
  791.         return 1;
  792.     }
  793.     return 1;
  794. }
  795.  
  796. public OnPlayerUpdate(playerid)
  797. {
  798.     new DrunkNew = GetPlayerDrunkLevel(playerid);
  799.     if(DrunkNew < 100) return SetPlayerDrunkLevel(playerid, 2000);
  800.     else
  801.     {
  802.         if (DrunkLevelLast[playerid] != DrunkNew)
  803.         {
  804.             new WFPS = DrunkLevelLast[playerid] - DrunkNew;
  805.             if((WFPS > 0) && (WFPS < 200)) FPS[playerid] = WFPS;
  806.             DrunkLevelLast[playerid] = DrunkNew;
  807.         }
  808.     }
  809.     if(GetPlayerTeam(playerid) == TeamA || GetPlayerTeam(playerid) == TeamB)
  810.     {
  811.         if(!IsPlayerInArea(playerid, -2095.3020, -279.8952, -2012.3002, -103.9286))
  812.         {
  813.             if(GetPlayerTeam(playerid) == TeamA)
  814.             {
  815.                 new Rand = random(sizeof(SpawnTeamA));
  816.                 SetPlayerPos(playerid, SpawnTeamA[Rand][0], SpawnTeamA[Rand][1], SpawnTeamA[Rand][2]);
  817.                 SetPlayerFacingAngle(playerid, SpawnTeamA[Rand][3]);
  818.                 SetCameraBehindPlayer(playerid);
  819.             }
  820.             if(GetPlayerTeam(playerid) == TeamB)
  821.             {
  822.                 new Rand = random(sizeof(SpawnTeamB));
  823.                 SetPlayerPos(playerid, SpawnTeamB[Rand][0], SpawnTeamB[Rand][1], SpawnTeamB[Rand][2]);
  824.                 SetPlayerFacingAngle(playerid, SpawnTeamB[Rand][3]);
  825.                 SetCameraBehindPlayer(playerid);
  826.             }
  827.         }
  828.     }
  829.     if(PInfo{playerid} == true) return SetTimerEx("PlayerInfo", 101, 1, "i", playerid);
  830.     if(GodMod[playerid] == 1 && GetPlayerHealth(playerid, Health) < 100) return SetPlayerHealth(playerid, 100);
  831.     return 1;
  832. }
  833.  
  834. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  835. {
  836.     if(dialogid == Dialog_ARegister)
  837.     {
  838.         if(!response) return ShowPlayerDialog(playerid, Dialog_ARegister, DIALOG_STYLE_INPUT, "Security word", "Please write security word to your admin account:", "Save", "");
  839.         if(!strval(inputtext)) return ShowPlayerDialog(playerid, Dialog_ARegister, DIALOG_STYLE_INPUT, "Security word", "Please write security word to your admin account:", "Save", "");
  840.         SendFormatMessage(playerid, Color_Yellow, "Your security word is: {FF0000}%s", inputtext);
  841.         DOF2_SetString(AFile(playerid), "SecurityWord", inputtext);
  842.         DOF2_SetInt(AFile(playerid), "AdminRegistered", 1);
  843.         return 1;
  844.     }
  845.     if(dialogid == Dialog_ALogin)
  846.     {
  847.         if(!response) return 0;
  848.         if(!strval(inputtext)) return ShowPlayerDialog(playerid, Dialog_ALogin, DIALOG_STYLE_INPUT, "Admin Login", "Type your security word:", "Login", "Cancel");
  849.         if(strcmp(DOF2_GetString(AFile(playerid), "SecurityWord"), inputtext, false) == 0)
  850.         {
  851.             ShowPlayerDialog(playerid, Dialog_ALogin, DIALOG_STYLE_INPUT, "Admin Login", "Type your security word:", "Login", "Cancel");
  852.             SendClientMessage(playerid, Color_Red, "Security word not true.");
  853.         }
  854.         DOF2_SetInt(AFile(playerid), "AdminLogged", 1);
  855.         return 1;
  856.     }
  857.     if(dialogid == Dialog_ALogout)
  858.     {
  859.         if(!response) return 0;
  860.         DOF2_SetInt(AFile(playerid), "AdminLogged", 0), SendClientMessage(playerid, Color_Red, "you are disconnected from your administrator account.");
  861.         return 1;
  862.     }
  863.     if(dialogid == Dialog_Report)
  864.     {
  865.         if(!response) return SendFormatMessage(playerid, Color_Red, ".%s ביטלת את הדיווח על השחקן", Report[playerid][ReportPlayerName]);
  866.         SendClientMessage(playerid, Color_LGreen, "!הדיווח נשלח אל המנהלים");
  867.         for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerDrAdmin(i) && GetDrAdminLevel(playerid) >= 1)
  868.         {
  869.             SendFormatMessage(playerid, Color_Yellow, "Player {FF0000}\"%s\" {FFFF00}Has reported on {FF0000}\"%s\"(ID: %d){FFFF00}. (Reason: %s)", GetName(playerid), Report[playerid][ReportPlayerName], Report[playerid][ReportReason]);
  870.         }
  871.         return 1;
  872.     }
  873.     return 1;
  874. }
  875.  
  876. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  877. {
  878.     return 1;
  879. }
  880.  
  881. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
  882. {
  883.     if(ShowDamageText{playerid} == true)
  884.     {
  885.         format(String, sizeof(String), "%0.1f", amount);
  886.         TextDrawColor(DamageText[playerid], 0xff0000aa);
  887.         TextDrawSetString(DamageText[playerid], String);
  888.         TextDrawShowForPlayer(playerid, DamageText[playerid]);
  889.         SetTimerEx("HideDamageText", 1000, 0, "i", playerid);
  890.         if(issuerid != INVALID_PLAYER_ID)
  891.         {
  892.             TextDrawColor(DamageText[issuerid], 0x00ff00aa);
  893.             TextDrawSetString(DamageText[issuerid], String);
  894.             TextDrawShowForPlayer(issuerid, DamageText[issuerid]);
  895.             SetTimerEx("HideDamageText", 1000, 0, "i", issuerid);
  896.         }
  897.     }
  898.     return 1;
  899. }
  900.  
  901. public StartServerTime()
  902. {
  903.     new Minutes, Hours;
  904.     gettime(Hours, Minutes);
  905.     format(String, sizeof(String), "%02d:%02d", Hours, Minutes);
  906.     TextDrawSetString(ServerTime, String);
  907.     return 1;
  908. }
  909.  
  910. public OnPlayerPrivateMSG(playerid, recieverid, text[])
  911. {
  912.     new recievername[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME];
  913.     SetPVarInt(recieverid, "ReturnPM", playerid), SetPVarInt(playerid, "ReturnPM", recieverid);
  914.     GetPlayerName(playerid, playername, sizeof(playername));
  915.     GetPlayerName(recieverid,recievername, sizeof(recievername));
  916.     SendFormatMessage(recieverid, Color_Yellow, "[PM] << IN %s (%d): %s", playername, playerid, text);
  917.     SendFormatMessage(playerid, Color_LBlue, "[PM] << OUT %s (%d): %s", recievername, recieverid, text);
  918.     return 0;
  919. }
  920.  
  921. public UnMute(playerid)
  922. {
  923.     if(DOF2_FileExists(AMute(playerid)))
  924.     {
  925.         new mtimeleft = DOF2_GetInt(AMute(playerid), "Time") - gettime();
  926.         if(mtimeleft <= 0)
  927.         {
  928.             SendClientMessage(playerid, Color_Yellow, "You have been auto-unmuted by the server.");
  929.             SetPVarInt(playerid, "InMute", 0);
  930.             KillTimer(MuteTimer[playerid]);
  931.             DOF2_RemoveFile(AMute(playerid));
  932.             MutedCount--;
  933.         }
  934.     }
  935.     return 1;
  936. }
  937.  
  938. public SKick(playerid) return Kick(playerid);
  939.  
  940. public GMXCD(cdf)
  941. {
  942.     new SGMX[32];
  943.     format(SGMX, sizeof(SGMX), "~b~Restart: ~w~%d", cdf);
  944.     GameTextForAll(SGMX, 1100, 6);
  945.     if(cdf >= 1) cdf--, GMXTimer = SetTimerEx("GMXCaD", 1000, 0, "%d", cdf);
  946.     if(cdf == 0) GameTextForAll("~r~GMX", 5000, 6), GMXOn = 0, SendRconCommand("GMX");
  947.     return 1;
  948. }
  949.  
  950. public CD(cdf)
  951. {
  952.     new SCD[16];
  953.     format(SCD, sizeof(SCD), "~w~%d", cdf);
  954.     GameTextForAll(SCD, 1100, 6);
  955.     if(cdf >= 1) cdf--, CDTimer = SetTimerEx("CD", 1000, 0, "%d", cdf);
  956.     else if(cdf == 0) GameTextForAll("~g~GO!", 5000, 6), CDOn = 0;
  957.     return 1;
  958. }
  959.  
  960. public HideDamageText(playerid) return TextDrawHideForPlayer(playerid, DamageText[playerid]);
  961.  
  962. public ServerTimeMessage()
  963. {
  964.     new Second, Minute, Hour, Day, Month, Year;
  965.     gettime(Hour, Minute, Second), getdate(Year, Month, Day);
  966.     if(Minute == 00 && Second == 00) return SendFormatMessageToAll(Color_TimeDate, "[Time] >> .%d:00 השעה כעת היא", Hour);
  967.     else if(Hour == 00 && Minute == 00 && Second == 00) return SendFormatMessageToAll(Color_TimeDate, "[Time&Date] >> .%d/%d/%d השעה כעת היא 00:00 והתאריך היום הוא", Day, Month, Year);
  968.     return 1;
  969. }
  970.  
  971. public PlayerInfo(playerid)
  972. {
  973.     new Float:PPos[3], IP[15];
  974.     for(new i; i < sizeof(PlayerTextInfo); i++) DeletePlayer3DTextLabel(playerid, PlayerTextInfo);
  975.     GetPlayerPos(playerid, PPos[0], PPos[1], PPos[2]);
  976.     GetPlayerIp(playerid, IP, sizeof(IP));
  977.     format(String, sizeof(String), "Ping: {9B30FF}%i\n{F09C00}IP: {9B30FF}%s\n{F09C00}FPS: {9B30FF}%i", GetPlayerPing(playerid), IP, FPS[playerid]);
  978.     PlayerTextInfo = CreatePlayer3DTextLabel(playerid, String, Color_PTextInfo, PPos[0], PPos[1], PPos[2] + 1, 10);
  979.     UpdatePlayer3DTextLabelText(playerid, PlayerTextInfo, Color_PTextInfo, String);
  980.     return 1;
  981. }
  982.  
  983. stock GiveTeamWeapons(playerid)
  984. {
  985.     GivePlayerWeapon(playerid, 22, 10000);
  986.     GivePlayerWeapon(playerid, 26, 10000);
  987.     GivePlayerWeapon(playerid, 28, 10000);
  988.     return 1;
  989. }
  990.  
  991. stock GetName(playerid)
  992. {
  993.     new pName[MAX_PLAYER_NAME + 5];
  994.     GetPlayerName(playerid, pName, sizeof(pName));
  995.     return pName;
  996. }
  997.  
  998. stock AFile(playerid)
  999. {
  1000.     new F[64];
  1001.     format(F, sizeof(F), "DrPawnCW/Admins/%s.ini", GetName(playerid));
  1002.     return F;
  1003. }
  1004.  
  1005. stock AMute(playerid)
  1006. {
  1007.     new MuteF[64];
  1008.     format(MuteF, sizeof(MuteF), "DrPawnCW/Mute/%s.ini", GetName(playerid));
  1009.     return MuteF;
  1010. }
  1011.  
  1012. stock GetDrAdminLevel(playerid) return DrAdmin[playerid][DrLevel];
  1013.  
  1014. stock IsPlayerDrAdmin(playerid)
  1015. {
  1016.     if(DOF2_FileExists(AFile(playerid))) return true;
  1017.     else return false;
  1018. }
  1019.  
  1020. stock IsDrAdminLogged(playerid)
  1021. {
  1022.     if(DOF2_GetInt(AFile(playerid), "AdminLogged") == 1) return true;
  1023.     else return false;
  1024. }
  1025.  
  1026. stock SaveAdminDetals(playerid)
  1027. {
  1028.     if(DOF2_FileExists(AFile(playerid)))
  1029.     {
  1030.         DOF2_SetInt(AFile(playerid), "DrLevel", DrAdmin[playerid][DrLevel]);
  1031.         DOF2_SetInt(AFile(playerid), "AdminRegistered", DOF2_GetInt(AFile(playerid), "AdminRegistered"));
  1032.         DOF2_SetInt(AFile(playerid), "AdminLogged", DOF2_GetInt(AFile(playerid), "AdminLogged"));
  1033.         DOF2_SetString(AFile(playerid), "SecurityWord", DOF2_GetString(AFile(playerid), "SecurityWord"));
  1034.     }
  1035.     return 1;
  1036. }
  1037.  
  1038. stock LoadAdminDetails(playerid)
  1039. {
  1040.     if(DOF2_FileExists(AFile(playerid)))
  1041.     {
  1042.         DrAdmin[playerid][DrLevel] = DOF2_GetInt(AFile(playerid), "DrLevel");
  1043.         DOF2_SetInt(AFile(playerid), "AdminRegistered", DOF2_GetInt(AFile(playerid), "AdminRegistered"));
  1044.         DOF2_SetInt(AFile(playerid), "AdminLogged", DOF2_GetInt(AFile(playerid), "AdminLogged"));
  1045.         DOF2_SetString(AFile(playerid), "SecurityWord", DOF2_GetString(AFile(playerid), "SecurityWord"));
  1046.     }
  1047.     return 1;
  1048. }
  1049.  
  1050. stock FormatTime(sec, time[16])
  1051. {
  1052.     if (sec == 0)
  1053.     {
  1054.         time = "0 seconds";
  1055.         return time;
  1056.     }
  1057.     new fdecimal[16];
  1058.     new fmin[6]; format(fmin, 6, "%.1f", floatdiv(sec,60));
  1059.     new minute = (sec/60);
  1060.     new sep = strfind(fmin, ".");
  1061.     strmid(fdecimal, fmin, sep+1, strlen(fmin), 16);
  1062.     if (sec < 60) format(time, 16, "%d second%s", sec, (sec != 1)?("s"):(""));
  1063.     else
  1064.     {
  1065.         if (strval(fdecimal) == 0) format(time, 16, "%d minute%s", minute, (minute > 1)?("s"):(""));
  1066.         else format(time, 16, "%s mintue%s", fmin, (floatstr(fmin) > 1.0)?("s"):(""));
  1067.     }
  1068.     return time;
  1069. }
  1070.  
  1071. stock IsPlayerInArea(playerid,Float:min_x,Float:min_y,Float:max_x,Float:max_y)
  1072. {
  1073.     new Float: p[3];
  1074.     GetPlayerPos(playerid,p[0],p[1],p[2]);
  1075.     return p[0] >= min_x && p[0] <= max_x && p[1] >= min_y && p[1] <= max_y? 1:0;
  1076. }
Advertisement
Add Comment
Please, Sign In to add comment