• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
pawno мониторг версия 2.1
adminДата: Суббота, 17.09.2011, 13:30:53 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869

верху мода:
Code
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_MONITOR 0xB0C4DEFF
#define COLOR_MONITOR1 0xCDFF00FF
#define COLOR_MONITOR2 0x91FF00FF
#define COLOR_CHAT 0x00FFE632
#define COLOR_ALERTE 0xFF5A0093
#define MAX_STRING 255
#define COLOR_GRAD2 0xBFC0C2FF

#define RefeshTime 1000 //Время для обновления textdraws в миллисекундах.
#define NPC 0 //Количество NPC на сервере, если у вас нет NPC, используйте 0.

forward SendServerMessage(color,const string[]);
forward SendRCONMessage(color,const string[]);
forward LoadTextDraws(playerid);
forward UnLoadTextDraws(playerid);
forward RefreshTextDraws(playerid);
new playername[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
new playerip[64];
new MaxP;
new totalon;
new npcon;
new TotalConnections;
new TotalTimeouts;
new TotalKicks;
new TotalCommands;
new TotalChatMessages;
new COKRCON;
new CECHRCON;
new Showing[MAX_PLAYERS];
new TextDrawON[MAX_PLAYERS] = 0;
new RefreshTD;
new Text:Textdraw0;
new Text:Textdraw1;
new Text:Textdraw2;
new Text:Textdraw3;
new Text:Textdraw4;
new Text:Textdraw5;
new Text:Textdraw6;
new Text:Textdraw7;
new Text:Textdraw8;
new Text:Textdraw9;

После этого ищем:public OnGameModeInit() и туда всталвяем:
Code

   MaxP = GetMaxPlayers();
   new stringload[256];
   format(stringload, sizeof(stringload), "Мониторинг сервера chargй avec succиs!");
   SendRCONMessage(COLOR_MONITOR1,stringload);
     
   Textdraw0 = TextDrawCreate(441.000000, 120.000000, "Server Monitor 2.1");
   TextDrawBackgroundColor(Textdraw0, 255);
   TextDrawFont(Textdraw0, 1);
   TextDrawLetterSize(Textdraw0, 0.379999, 1.100000);
   TextDrawColor(Textdraw0, 16711935);
   TextDrawSetOutline(Textdraw0, 0);
   TextDrawSetProportional(Textdraw0, 1);
   TextDrawSetShadow(Textdraw0, 1);
   TextDrawUseBox(Textdraw0, 1);
   TextDrawBoxColor(Textdraw0, 0x00000065);
   TextDrawTextSize(Textdraw0, 634.000000, 22.000000);

   Textdraw1 = TextDrawCreate(441.000000, 134.000000, "s1");
   TextDrawBackgroundColor(Textdraw1, 255);
   TextDrawFont(Textdraw1, 1);
   TextDrawLetterSize(Textdraw1, 0.320000, 1.100000);
   TextDrawColor(Textdraw1, -65281);
   TextDrawSetOutline(Textdraw1, 0);
   TextDrawSetProportional(Textdraw1, 1);
   TextDrawSetShadow(Textdraw1, 1);
   TextDrawUseBox(Textdraw1, 1);
   TextDrawBoxColor(Textdraw1, 0x00000065);
   TextDrawTextSize(Textdraw1, 634.000000, 22.000000);

   Textdraw2 = TextDrawCreate(441.000000, 148.000000, "s2");
   TextDrawBackgroundColor(Textdraw2, 255);
   TextDrawFont(Textdraw2, 1);
   TextDrawLetterSize(Textdraw2, 0.320000, 1.100000);
   TextDrawColor(Textdraw2, -65281);
   TextDrawSetOutline(Textdraw2, 0);
   TextDrawSetProportional(Textdraw2, 1);
   TextDrawSetShadow(Textdraw2, 1);
   TextDrawUseBox(Textdraw2, 1);
   TextDrawBoxColor(Textdraw2, 0x00000065);
   TextDrawTextSize(Textdraw2, 634.000000, 22.000000);

   Textdraw3 = TextDrawCreate(441.000000, 162.000000, "s3");
   TextDrawBackgroundColor(Textdraw3, 255);
   TextDrawFont(Textdraw3, 1);
   TextDrawLetterSize(Textdraw3, 0.320000, 1.100000);
   TextDrawColor(Textdraw3, -65281);
   TextDrawSetOutline(Textdraw3, 0);
   TextDrawSetProportional(Textdraw3, 1);
   TextDrawSetShadow(Textdraw3, 1);
   TextDrawUseBox(Textdraw3, 1);
   TextDrawBoxColor(Textdraw3, 0x00000065);
   TextDrawTextSize(Textdraw3, 634.000000, 22.000000);

   Textdraw4 = TextDrawCreate(441.000000, 176.000000, "s4");
   TextDrawBackgroundColor(Textdraw4, 255);
   TextDrawFont(Textdraw4, 1);
   TextDrawLetterSize(Textdraw4, 0.320000, 1.100000);
   TextDrawColor(Textdraw4, -65281);
   TextDrawSetOutline(Textdraw4, 0);
   TextDrawSetProportional(Textdraw4, 1);
   TextDrawSetShadow(Textdraw4, 1);
   TextDrawUseBox(Textdraw4, 1);
   TextDrawBoxColor(Textdraw4, 0x00000065);
   TextDrawTextSize(Textdraw4, 634.000000, 22.000000);

   Textdraw5 = TextDrawCreate(441.000000, 190.000000, "s5");
   TextDrawBackgroundColor(Textdraw5, 255);
   TextDrawFont(Textdraw5, 1);
   TextDrawLetterSize(Textdraw5, 0.320000, 1.100000);
   TextDrawColor(Textdraw5, -65281);
   TextDrawSetOutline(Textdraw5, 0);
   TextDrawSetProportional(Textdraw5, 1);
   TextDrawSetShadow(Textdraw5, 1);
   TextDrawUseBox(Textdraw5, 1);
   TextDrawBoxColor(Textdraw5, 0x00000065);
   TextDrawTextSize(Textdraw5, 634.000000, 22.000000);

   Textdraw6 = TextDrawCreate(441.000000, 204.000000, "s6");
   TextDrawBackgroundColor(Textdraw6, 255);
   TextDrawFont(Textdraw6, 1);
   TextDrawLetterSize(Textdraw6, 0.320000, 1.100000);
   TextDrawColor(Textdraw6, -65281);
   TextDrawSetOutline(Textdraw6, 0);
   TextDrawSetProportional(Textdraw6, 1);
   TextDrawSetShadow(Textdraw6, 1);
   TextDrawUseBox(Textdraw6, 1);
   TextDrawBoxColor(Textdraw6, 0x00000065);
   TextDrawTextSize(Textdraw6, 634.000000, 22.000000);

   Textdraw7 = TextDrawCreate(441.000000, 218.000000, "s7");
   TextDrawBackgroundColor(Textdraw7, 255);
   TextDrawFont(Textdraw7, 1);
   TextDrawLetterSize(Textdraw7, 0.320000, 1.100000);
   TextDrawColor(Textdraw7, -65281);
   TextDrawSetOutline(Textdraw7, 0);
   TextDrawSetProportional(Textdraw7, 1);
   TextDrawSetShadow(Textdraw7, 1);
   TextDrawUseBox(Textdraw7, 1);
   TextDrawBoxColor(Textdraw7, 0x00000065);
   TextDrawTextSize(Textdraw7, 634.000000, 22.000000);

   Textdraw8 = TextDrawCreate(441.000000, 232.000000, "s8");
   TextDrawBackgroundColor(Textdraw8, 255);
   TextDrawFont(Textdraw8, 1);
   TextDrawLetterSize(Textdraw8, 0.300000, 1.100000);
   TextDrawColor(Textdraw8, -65281);
   TextDrawSetOutline(Textdraw8, 0);
   TextDrawSetProportional(Textdraw8, 1);
   TextDrawSetShadow(Textdraw8, 1);
   TextDrawUseBox(Textdraw8, 1);
   TextDrawBoxColor(Textdraw8, 0x00000065);
   TextDrawTextSize(Textdraw8, 634.000000, 22.000000);

   Textdraw9 = TextDrawCreate(441.000000, 246.000000, "s9");
   TextDrawBackgroundColor(Textdraw9, 255);
   TextDrawFont(Textdraw9, 1);
   TextDrawLetterSize(Textdraw9, 0.300000, 1.100000);
   TextDrawColor(Textdraw9, -65281);
   TextDrawSetOutline(Textdraw9, 0);
   TextDrawSetProportional(Textdraw9, 1);
   TextDrawSetShadow(Textdraw9, 1);
   TextDrawUseBox(Textdraw9, 1);
   TextDrawBoxColor(Textdraw9, 0x00000065);
   TextDrawTextSize(Textdraw9, 634.000000, 22.000000);

   RefreshTD = SetTimer("RefreshTextDraws", RefeshTime, 1);

Примерно так должен быть public
Code
public OnGameModeInit()
{
   MaxP = GetMaxPlayers();
   new stringload[256];
   format(stringload, sizeof(stringload), "Мониторинг сервера chargй avec succиs!");
   SendRCONMessage(COLOR_MONITOR1,stringload);
     
   Textdraw0 = TextDrawCreate(441.000000, 120.000000, "Server Monitor 2.1");
   TextDrawBackgroundColor(Textdraw0, 255);
   TextDrawFont(Textdraw0, 1);
   TextDrawLetterSize(Textdraw0, 0.379999, 1.100000);
   TextDrawColor(Textdraw0, 16711935);
   TextDrawSetOutline(Textdraw0, 0);
   TextDrawSetProportional(Textdraw0, 1);
   TextDrawSetShadow(Textdraw0, 1);
   TextDrawUseBox(Textdraw0, 1);
   TextDrawBoxColor(Textdraw0, 0x00000065);
   TextDrawTextSize(Textdraw0, 634.000000, 22.000000);

   Textdraw1 = TextDrawCreate(441.000000, 134.000000, "s1");
   TextDrawBackgroundColor(Textdraw1, 255);
   TextDrawFont(Textdraw1, 1);
   TextDrawLetterSize(Textdraw1, 0.320000, 1.100000);
   TextDrawColor(Textdraw1, -65281);
   TextDrawSetOutline(Textdraw1, 0);
   TextDrawSetProportional(Textdraw1, 1);
   TextDrawSetShadow(Textdraw1, 1);
   TextDrawUseBox(Textdraw1, 1);
   TextDrawBoxColor(Textdraw1, 0x00000065);
   TextDrawTextSize(Textdraw1, 634.000000, 22.000000);

   Textdraw2 = TextDrawCreate(441.000000, 148.000000, "s2");
   TextDrawBackgroundColor(Textdraw2, 255);
   TextDrawFont(Textdraw2, 1);
   TextDrawLetterSize(Textdraw2, 0.320000, 1.100000);
   TextDrawColor(Textdraw2, -65281);
   TextDrawSetOutline(Textdraw2, 0);
   TextDrawSetProportional(Textdraw2, 1);
   TextDrawSetShadow(Textdraw2, 1);
   TextDrawUseBox(Textdraw2, 1);
   TextDrawBoxColor(Textdraw2, 0x00000065);
   TextDrawTextSize(Textdraw2, 634.000000, 22.000000);

   Textdraw3 = TextDrawCreate(441.000000, 162.000000, "s3");
   TextDrawBackgroundColor(Textdraw3, 255);
   TextDrawFont(Textdraw3, 1);
   TextDrawLetterSize(Textdraw3, 0.320000, 1.100000);
   TextDrawColor(Textdraw3, -65281);
   TextDrawSetOutline(Textdraw3, 0);
   TextDrawSetProportional(Textdraw3, 1);
   TextDrawSetShadow(Textdraw3, 1);
   TextDrawUseBox(Textdraw3, 1);
   TextDrawBoxColor(Textdraw3, 0x00000065);
   TextDrawTextSize(Textdraw3, 634.000000, 22.000000);

   Textdraw4 = TextDrawCreate(441.000000, 176.000000, "s4");
   TextDrawBackgroundColor(Textdraw4, 255);
   TextDrawFont(Textdraw4, 1);
   TextDrawLetterSize(Textdraw4, 0.320000, 1.100000);
   TextDrawColor(Textdraw4, -65281);
   TextDrawSetOutline(Textdraw4, 0);
   TextDrawSetProportional(Textdraw4, 1);
   TextDrawSetShadow(Textdraw4, 1);
   TextDrawUseBox(Textdraw4, 1);
   TextDrawBoxColor(Textdraw4, 0x00000065);
   TextDrawTextSize(Textdraw4, 634.000000, 22.000000);

   Textdraw5 = TextDrawCreate(441.000000, 190.000000, "s5");
   TextDrawBackgroundColor(Textdraw5, 255);
   TextDrawFont(Textdraw5, 1);
   TextDrawLetterSize(Textdraw5, 0.320000, 1.100000);
   TextDrawColor(Textdraw5, -65281);
   TextDrawSetOutline(Textdraw5, 0);
   TextDrawSetProportional(Textdraw5, 1);
   TextDrawSetShadow(Textdraw5, 1);
   TextDrawUseBox(Textdraw5, 1);
   TextDrawBoxColor(Textdraw5, 0x00000065);
   TextDrawTextSize(Textdraw5, 634.000000, 22.000000);

   Textdraw6 = TextDrawCreate(441.000000, 204.000000, "s6");
   TextDrawBackgroundColor(Textdraw6, 255);
   TextDrawFont(Textdraw6, 1);
   TextDrawLetterSize(Textdraw6, 0.320000, 1.100000);
   TextDrawColor(Textdraw6, -65281);
   TextDrawSetOutline(Textdraw6, 0);
   TextDrawSetProportional(Textdraw6, 1);
   TextDrawSetShadow(Textdraw6, 1);
   TextDrawUseBox(Textdraw6, 1);
   TextDrawBoxColor(Textdraw6, 0x00000065);
   TextDrawTextSize(Textdraw6, 634.000000, 22.000000);

   Textdraw7 = TextDrawCreate(441.000000, 218.000000, "s7");
   TextDrawBackgroundColor(Textdraw7, 255);
   TextDrawFont(Textdraw7, 1);
   TextDrawLetterSize(Textdraw7, 0.320000, 1.100000);
   TextDrawColor(Textdraw7, -65281);
   TextDrawSetOutline(Textdraw7, 0);
   TextDrawSetProportional(Textdraw7, 1);
   TextDrawSetShadow(Textdraw7, 1);
   TextDrawUseBox(Textdraw7, 1);
   TextDrawBoxColor(Textdraw7, 0x00000065);
   TextDrawTextSize(Textdraw7, 634.000000, 22.000000);

   Textdraw8 = TextDrawCreate(441.000000, 232.000000, "s8");
   TextDrawBackgroundColor(Textdraw8, 255);
   TextDrawFont(Textdraw8, 1);
   TextDrawLetterSize(Textdraw8, 0.300000, 1.100000);
   TextDrawColor(Textdraw8, -65281);
   TextDrawSetOutline(Textdraw8, 0);
   TextDrawSetProportional(Textdraw8, 1);
   TextDrawSetShadow(Textdraw8, 1);
   TextDrawUseBox(Textdraw8, 1);
   TextDrawBoxColor(Textdraw8, 0x00000065);
   TextDrawTextSize(Textdraw8, 634.000000, 22.000000);

   Textdraw9 = TextDrawCreate(441.000000, 246.000000, "s9");
   TextDrawBackgroundColor(Textdraw9, 255);
   TextDrawFont(Textdraw9, 1);
   TextDrawLetterSize(Textdraw9, 0.300000, 1.100000);
   TextDrawColor(Textdraw9, -65281);
   TextDrawSetOutline(Textdraw9, 0);
   TextDrawSetProportional(Textdraw9, 1);
   TextDrawSetShadow(Textdraw9, 1);
   TextDrawUseBox(Textdraw9, 1);
   TextDrawBoxColor(Textdraw9, 0x00000065);
   TextDrawTextSize(Textdraw9, 634.000000, 22.000000);

   RefreshTD = SetTimer("RefreshTextDraws", RefeshTime, 1);
   return 1;
}

После этого ищем public OnGameModeExit() и туда вставляем:
Code
new stringunload[256];
      format(stringunload, sizeof(stringunload), "Мониторинг сервера tuй avec succиs!");
   SendRCONMessage(COLOR_ALERTE,stringunload);

   TextDrawHideForAll(Textdraw0);
   TextDrawDestroy(Textdraw0);
   TextDrawHideForAll(Textdraw1);
   TextDrawDestroy(Textdraw1);
   TextDrawHideForAll(Textdraw2);
   TextDrawDestroy(Textdraw2);
   TextDrawHideForAll(Textdraw3);
   TextDrawDestroy(Textdraw3);
   TextDrawHideForAll(Textdraw4);
   TextDrawDestroy(Textdraw4);
   TextDrawHideForAll(Textdraw5);
   TextDrawDestroy(Textdraw5);
   TextDrawHideForAll(Textdraw6);
   TextDrawDestroy(Textdraw6);
   TextDrawHideForAll(Textdraw7);
   TextDrawDestroy(Textdraw7);
   TextDrawHideForAll(Textdraw8);
   TextDrawDestroy(Textdraw8);
   TextDrawHideForAll(Textdraw9);
   TextDrawDestroy(Textdraw9);
     
   KillTimer(RefreshTD);

Примерно так должен быть public:
Code
public OnGameModeExit()
{
   new stringunload[256];
      format(stringunload, sizeof(stringunload), "Мониторинг сервера tuй avec succиs!");
   SendRCONMessage(COLOR_ALERTE,stringunload);

   TextDrawHideForAll(Textdraw0);
   TextDrawDestroy(Textdraw0);
   TextDrawHideForAll(Textdraw1);
   TextDrawDestroy(Textdraw1);
   TextDrawHideForAll(Textdraw2);
   TextDrawDestroy(Textdraw2);
   TextDrawHideForAll(Textdraw3);
   TextDrawDestroy(Textdraw3);
   TextDrawHideForAll(Textdraw4);
   TextDrawDestroy(Textdraw4);
   TextDrawHideForAll(Textdraw5);
   TextDrawDestroy(Textdraw5);
   TextDrawHideForAll(Textdraw6);
   TextDrawDestroy(Textdraw6);
   TextDrawHideForAll(Textdraw7);
   TextDrawDestroy(Textdraw7);
   TextDrawHideForAll(Textdraw8);
   TextDrawDestroy(Textdraw8);
   TextDrawHideForAll(Textdraw9);
   TextDrawDestroy(Textdraw9);
     
   KillTimer(RefreshTD);
   return 1;
}

после этого ищем public OnPlayerCommandText я сразу скину полностью этот public примером:
Code

public OnPlayerCommandText(playerid, cmdtext[])
{
      TotalCommands++;
      new idx;
      new string[256];
      new cmd[256];
      cmd = strtok(cmdtext, idx);
   if(strcmp(cmdtext, "/allplayersip", true) == 0)
   {
      if (IsPlayerAdmin(playerid))
      {
          for(new j = 0; j < MAX_PLAYERS; j++)
       {
       if(IsPlayerConnected(j))
       {
          GetPlayerIp(j,playerip,sizeof(playerip));
          GetPlayerName(j, playername, sizeof(playername));
          format(string, 256, "Игрок обнаружен !! IP : %s, Имя : %s.", playerip, playername);
          SendClientMessage(playerid,COLOR_MONITOR,string);
       }
       }
      }
      else
      {
          SendClientMessage(playerid, COLOR_GRAD2, "Ошибка : Только админы могут использовать команду!");
       return 1;
      }
         return 1;
   }
   if(strcmp(cmdtext, "/mhelp", true) == 0)
   {
      if (IsPlayerAdmin(playerid))
      {
       SendClientMessage(playerid,COLOR_WHITE,"------------------------| ПОмощь по монитору сервера |----------------------");
          SendClientMessage(playerid,COLOR_MONITOR,"/ssay /allplayersip /monitor");
          SendClientMessage(playerid,COLOR_MONITOR,"/mc /monitortd{FF0000}NEW!");
         }
      else
      {
          SendClientMessage(playerid, COLOR_GRAD2, "ОШибка : Только админы могут использовать команду!");
       return 1;
      }
         return 1;
   }
   if(strcmp(cmdtext, "/monitor", true) == 0)
   {
      if (IsPlayerAdmin(playerid))
      {
      totalon = 0;
         for(new i=0; i<MAX_PLAYERS; i++)
      {
          if(IsPlayerConnected(i))
       {
           if(totalon == 0)
        {
            totalon = 1;
           }
           else if (totalon > 0)
     {
     if(IsPlayerNPC(playerid))
           {
       npcon++;
        }
           totalon++;
           }
          }
         }
         SendClientMessage(playerid,COLOR_WHITE,"----------------| Сервер монитор |----------------");
      format(string, 256, "Игроков online : %i/%i.", totalon-NPC, MaxP-NPC);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         new restant = MaxP-totalon-NPC;
         format(string, 256, "Свободные слоты : %i.", restant);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего подключений : %d.", TotalConnections);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего сбоев Игроки : %d.", TotalTimeouts);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего игроков выходило : %d.", TotalKicks);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего Команды, используемые : %d.", TotalCommands);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего сообщений Отправить : %d.", TotalChatMessages);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Conexions au RCON (Echec) : %d.", CECHRCON);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Conexions au RCON (Rйussie) : %d.", COKRCON);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         SendClientMessage(playerid,COLOR_WHITE,"--------------------------------");
         format(string, 256, "RCON администрации олайн :");
         SendClientMessage(playerid,COLOR_MONITOR2,string);
         for(new i = 0; i < MAX_PLAYERS; i++)
      {
     if(IsPlayerConnected(i))
     {
      if(IsPlayerAdmin(i))
      {
                      new ip[64];
       GetPlayerName(i, sendername, sizeof(sendername));
       GetPlayerIp(i,ip,sizeof(ip));
       format(string, 256, "Имя : %s, IP : %s", sendername, ip);
       SendClientMessage(playerid, COLOR_MONITOR2, string);
      }
     }
      }
      }
      else
      {
          SendClientMessage(playerid, COLOR_GRAD2, "ОШибка : Только админы могут использовать команду!");
       return 1;
      }
         return 1;
   }
   if(strcmp(cmdtext, "/monitortd", true) == 0)
   {
     if (IsPlayerAdmin(playerid))
     {
    if(TextDrawON[playerid] == 0)
    {
      LoadTextDraws(playerid);
      TextDrawON[playerid] = 1;
    }
    else
    {
            UnLoadTextDraws(playerid);
      TextDrawON[playerid] = 0;
    }
     }
     else
     {
          SendClientMessage(playerid, COLOR_GRAD2, "Ошибка : Только админы могут использовать команду!");
       return 1;
     }
     return 1;
   }
      if(strcmp(cmd,"/ssay",true)==0)
   {
    if (IsPlayerAdmin(playerid))
    {
     new length = strlen(cmdtext);
     while ((idx < length) && (cmdtext[idx] <= ' '))
     {
      idx++;
     }
     new offset = idx;
     new result[MAX_STRING];
     while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
     {
      result[idx - offset] = cmdtext[idx];
      idx++;
     }
     result[idx - offset] = EOS;
     if(!strlen(result))
     {
      SendClientMessage(playerid, COLOR_GRAD2, "Использование: /s(erver)say [Сообщения]");
      return 1;
              }
              format(string, sizeof(string), "Сервер: %s", result);
     SendServerMessage(COLOR_MONITOR,string);
    }
    else
    {
            SendClientMessage(playerid, COLOR_GRAD2, "Ошибка : Только админы могут использовать команду!");
      return 1;
    }
    return 1;
      }
      if(strcmp(cmd,"/mc",true)==0)
   {
    if (IsPlayerAdmin(playerid))
    {
     new length = strlen(cmdtext);
     while ((idx < length) && (cmdtext[idx] <= ' '))
     {
      idx++;
     }
     new offset = idx;
     new result[MAX_STRING];
     while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
     {
      result[idx - offset] = cmdtext[idx];
      idx++;
     }
     result[idx - offset] = EOS;
     if(!strlen(result))
     {
      SendClientMessage(playerid, COLOR_GRAD2, "Использование: /mc [чат]");
      return 1;
              }
              GetPlayerName(playerid, sendername, sizeof(sendername));
              format(string, sizeof(string), "RCON админ %s: %s", sendername,result);
     SendRCONMessage(COLOR_CHAT,string);
    }
    else
    {
       SendClientMessage(playerid, COLOR_GRAD2, "Ошибка : Только админы могут использовать команду!");
       return 1;
    }
    return 1;
      }
   return 0;
}

и потом в любое место добавляем сами функции:
Code
public OnRconLoginAttempt(ip[], password[], success)
{
     if(!success)
     {
       CECHRCON++;
     }
     else
     {
       COKRCON++;
     }
     return 1;
}

public SendServerMessage(color,const string[])
{
  for(new i = 0; i < MAX_PLAYERS; i++)
  {
   if(IsPlayerConnected(i))
   {
     SendClientMessage(i, color, string);
   }
  }
}
public SendRCONMessage(color,const string[])
{
  for(new i = 0; i < MAX_PLAYERS; i++)
  {
   if(IsPlayerConnected(i))
   {
             if (IsPlayerAdmin(i))
          {
     SendClientMessage(i, color, string);
    }
   }
  }
}
public LoadTextDraws(playerid)
{
  totalon = 0;
     for(new i=0; i<MAX_PLAYERS; i++)
     {
       if(IsPlayerConnected(i))
    {
        if(totalon == 0)
        {
          totalon = 1;
        }
        else if (totalon > 0)
     {
     if(IsPlayerNPC(playerid))
        {
     npcon++;
     }
        totalon++;
        }
       }
     }
     new s1[256];
  format(s1, 256, "Players Online %d/%d.",totalon-NPC, MaxP-NPC);
  new s2[256];
  new restant = MaxP-totalon-NPC;
  format(s2, 256, "Slots available : %i.", restant);
  new s3[256];
  format(s3, 256, "Total Connection : %d.", TotalConnections);
  new s4[256];
  format(s4, 256, "Total Players Crash : %d.", TotalTimeouts);
  new s5[256];
  format(s5, 256, "Total Players Quit : %d.", TotalKicks);
  new s6[256];
  format(s6, 256, "Total Commands Used : %d.", TotalCommands);
  new s7[256];
  format(s7, 256, "Total Messages Send : %d.", TotalChatMessages);
  new s8[256];
  format(s8, 256, "RCON Connections (Failed) : %d.", CECHRCON);
  new s9[256];
  format(s9, 256, "RCON Connections (Success) : %d.", COKRCON);
   
  TextDrawSetString(Text:Textdraw1, s1);
  TextDrawSetString(Text:Textdraw2, s2);
  TextDrawSetString(Text:Textdraw3, s3);
  TextDrawSetString(Text:Textdraw4, s4);
  TextDrawSetString(Text:Textdraw5, s5);
  TextDrawSetString(Text:Textdraw6, s6);
  TextDrawSetString(Text:Textdraw7, s7);
  TextDrawSetString(Text:Textdraw8, s8);
  TextDrawSetString(Text:Textdraw9, s9);
   
  TextDrawShowForPlayer(playerid, Textdraw0);
  TextDrawShowForPlayer(playerid, Textdraw1);
  TextDrawShowForPlayer(playerid, Textdraw2);
  TextDrawShowForPlayer(playerid, Textdraw3);
  TextDrawShowForPlayer(playerid, Textdraw4);
  TextDrawShowForPlayer(playerid, Textdraw5);
  TextDrawShowForPlayer(playerid, Textdraw6);
  TextDrawShowForPlayer(playerid, Textdraw7);
  TextDrawShowForPlayer(playerid, Textdraw8);
  TextDrawShowForPlayer(playerid, Textdraw9);
}

public RefreshTextDraws(playerid)
{
  totalon = 0;
     for(new i=0; i<MAX_PLAYERS; i++)
     {
       if(IsPlayerConnected(i))
    {
        if(totalon == 0)
        {
          totalon = 1;
        }
        else if (totalon > 0)
     {
     if(IsPlayerNPC(playerid))
        {
     npcon++;
     }
        totalon++;
        }
       }
     }
     TextDrawHideForPlayer(playerid, Textdraw0);
  TextDrawHideForPlayer(playerid, Textdraw1);
  TextDrawHideForPlayer(playerid, Textdraw2);
  TextDrawHideForPlayer(playerid, Textdraw3);
  TextDrawHideForPlayer(playerid, Textdraw4);
  TextDrawHideForPlayer(playerid, Textdraw5);
  TextDrawHideForPlayer(playerid, Textdraw6);
  TextDrawHideForPlayer(playerid, Textdraw7);
  TextDrawHideForPlayer(playerid, Textdraw8);
  TextDrawHideForPlayer(playerid, Textdraw9);
   
     new s1[256];
  format(s1, 256, "Players Online %d/%d.",totalon-NPC, MaxP-NPC);
  new s2[256];
  new restant = MaxP-totalon-NPC;
  format(s2, 256, "Slots available : %i.", restant);
  new s3[256];
  format(s3, 256, "Total Connection : %d.", TotalConnections);
  new s4[256];
  format(s4, 256, "Total Players Crash : %d.", TotalTimeouts);
  new s5[256];
  format(s5, 256, "Total Players Quit : %d.", TotalKicks);
  new s6[256];
  format(s6, 256, "Total Commands Used : %d.", TotalCommands);
  new s7[256];
  format(s7, 256, "Total Messages Send : %d.", TotalChatMessages);
  new s8[256];
  format(s8, 256, "RCON Connections (Failed) : %d.", CECHRCON);
  new s9[256];
  format(s9, 256, "RCON Connections (Success) : %d.", COKRCON);

  TextDrawSetString(Text:Textdraw1, s1);
  TextDrawSetString(Text:Textdraw2, s2);
  TextDrawSetString(Text:Textdraw3, s3);
  TextDrawSetString(Text:Textdraw4, s4);
  TextDrawSetString(Text:Textdraw5, s5);
  TextDrawSetString(Text:Textdraw6, s6);
  TextDrawSetString(Text:Textdraw7, s7);
  TextDrawSetString(Text:Textdraw8, s8);
  TextDrawSetString(Text:Textdraw9, s9);

  TextDrawShowForPlayer(playerid, Textdraw0);
  TextDrawShowForPlayer(playerid, Textdraw1);
  TextDrawShowForPlayer(playerid, Textdraw2);
  TextDrawShowForPlayer(playerid, Textdraw3);
  TextDrawShowForPlayer(playerid, Textdraw4);
  TextDrawShowForPlayer(playerid, Textdraw5);
  TextDrawShowForPlayer(playerid, Textdraw6);
  TextDrawShowForPlayer(playerid, Textdraw7);
  TextDrawShowForPlayer(playerid, Textdraw8);
  TextDrawShowForPlayer(playerid, Textdraw9);
}

public UnLoadTextDraws(playerid)
{
     TextDrawHideForPlayer(playerid, Textdraw0);
  TextDrawHideForPlayer(playerid, Textdraw1);
  TextDrawHideForPlayer(playerid, Textdraw2);
  TextDrawHideForPlayer(playerid, Textdraw3);
  TextDrawHideForPlayer(playerid, Textdraw4);
  TextDrawHideForPlayer(playerid, Textdraw5);
  TextDrawHideForPlayer(playerid, Textdraw6);
  TextDrawHideForPlayer(playerid, Textdraw7);
  TextDrawHideForPlayer(playerid, Textdraw8);
  TextDrawHideForPlayer(playerid, Textdraw9);
}

strtok(const string[], &index,seperator=' ')
{
  new length = strlen(string);
  new offset = index;
  new result[128];
  while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  {
   result[index - offset] = string[index];
   index++;
  }

  result[index - offset] = EOS;
  if ((index < length) && (string[index] == seperator))
  {
   index++;
  }
  return result;
}

И после этого ищем public OnPlayerDisconnect и туда всталвяем:
Code
    switch(reason)
  {
      case 0: { TotalTimeouts++; }
      case 2: { TotalKicks++; }
  }

Примерно так должен быть public:
Code
public OnPlayerDisconnect(playerid, reason)
{
  switch(reason)
  {
      case 0: { TotalTimeouts++; }
      case 2: { TotalKicks++; }
  }
  return 1;
}

После этого ищем public OnPlayerConnect и туда вставляем:
Code
TotalConnections++;

Примерно так должен быть public:
Code
public OnPlayerConnect(playerid)
{
     TotalConnections++;
  return 1;
}

И после этого ищем public OnPlayerText и туда вставляем:
Code
TotalChatMessages++;
     Showing[playerid] = 0;

Примерно так должен быть public:
Code
public OnPlayerText(playerid, text[])
{
     TotalChatMessages++;
     Showing[playerid] = 0;
  return 1;
}

Урок by - 26_RUSSS
Автор самого кода: Skylive77


zm-jail.ru

Разработка сайта samp-pawno.ru


 
Сообщение
верху мода:
Code
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_MONITOR 0xB0C4DEFF
#define COLOR_MONITOR1 0xCDFF00FF
#define COLOR_MONITOR2 0x91FF00FF
#define COLOR_CHAT 0x00FFE632
#define COLOR_ALERTE 0xFF5A0093
#define MAX_STRING 255
#define COLOR_GRAD2 0xBFC0C2FF

#define RefeshTime 1000 //Время для обновления textdraws в миллисекундах.
#define NPC 0 //Количество NPC на сервере, если у вас нет NPC, используйте 0.

forward SendServerMessage(color,const string[]);
forward SendRCONMessage(color,const string[]);
forward LoadTextDraws(playerid);
forward UnLoadTextDraws(playerid);
forward RefreshTextDraws(playerid);
new playername[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
new playerip[64];
new MaxP;
new totalon;
new npcon;
new TotalConnections;
new TotalTimeouts;
new TotalKicks;
new TotalCommands;
new TotalChatMessages;
new COKRCON;
new CECHRCON;
new Showing[MAX_PLAYERS];
new TextDrawON[MAX_PLAYERS] = 0;
new RefreshTD;
new Text:Textdraw0;
new Text:Textdraw1;
new Text:Textdraw2;
new Text:Textdraw3;
new Text:Textdraw4;
new Text:Textdraw5;
new Text:Textdraw6;
new Text:Textdraw7;
new Text:Textdraw8;
new Text:Textdraw9;

После этого ищем:public OnGameModeInit() и туда всталвяем:
Code

   MaxP = GetMaxPlayers();
   new stringload[256];
   format(stringload, sizeof(stringload), "Мониторинг сервера chargй avec succиs!");
   SendRCONMessage(COLOR_MONITOR1,stringload);
     
   Textdraw0 = TextDrawCreate(441.000000, 120.000000, "Server Monitor 2.1");
   TextDrawBackgroundColor(Textdraw0, 255);
   TextDrawFont(Textdraw0, 1);
   TextDrawLetterSize(Textdraw0, 0.379999, 1.100000);
   TextDrawColor(Textdraw0, 16711935);
   TextDrawSetOutline(Textdraw0, 0);
   TextDrawSetProportional(Textdraw0, 1);
   TextDrawSetShadow(Textdraw0, 1);
   TextDrawUseBox(Textdraw0, 1);
   TextDrawBoxColor(Textdraw0, 0x00000065);
   TextDrawTextSize(Textdraw0, 634.000000, 22.000000);

   Textdraw1 = TextDrawCreate(441.000000, 134.000000, "s1");
   TextDrawBackgroundColor(Textdraw1, 255);
   TextDrawFont(Textdraw1, 1);
   TextDrawLetterSize(Textdraw1, 0.320000, 1.100000);
   TextDrawColor(Textdraw1, -65281);
   TextDrawSetOutline(Textdraw1, 0);
   TextDrawSetProportional(Textdraw1, 1);
   TextDrawSetShadow(Textdraw1, 1);
   TextDrawUseBox(Textdraw1, 1);
   TextDrawBoxColor(Textdraw1, 0x00000065);
   TextDrawTextSize(Textdraw1, 634.000000, 22.000000);

   Textdraw2 = TextDrawCreate(441.000000, 148.000000, "s2");
   TextDrawBackgroundColor(Textdraw2, 255);
   TextDrawFont(Textdraw2, 1);
   TextDrawLetterSize(Textdraw2, 0.320000, 1.100000);
   TextDrawColor(Textdraw2, -65281);
   TextDrawSetOutline(Textdraw2, 0);
   TextDrawSetProportional(Textdraw2, 1);
   TextDrawSetShadow(Textdraw2, 1);
   TextDrawUseBox(Textdraw2, 1);
   TextDrawBoxColor(Textdraw2, 0x00000065);
   TextDrawTextSize(Textdraw2, 634.000000, 22.000000);

   Textdraw3 = TextDrawCreate(441.000000, 162.000000, "s3");
   TextDrawBackgroundColor(Textdraw3, 255);
   TextDrawFont(Textdraw3, 1);
   TextDrawLetterSize(Textdraw3, 0.320000, 1.100000);
   TextDrawColor(Textdraw3, -65281);
   TextDrawSetOutline(Textdraw3, 0);
   TextDrawSetProportional(Textdraw3, 1);
   TextDrawSetShadow(Textdraw3, 1);
   TextDrawUseBox(Textdraw3, 1);
   TextDrawBoxColor(Textdraw3, 0x00000065);
   TextDrawTextSize(Textdraw3, 634.000000, 22.000000);

   Textdraw4 = TextDrawCreate(441.000000, 176.000000, "s4");
   TextDrawBackgroundColor(Textdraw4, 255);
   TextDrawFont(Textdraw4, 1);
   TextDrawLetterSize(Textdraw4, 0.320000, 1.100000);
   TextDrawColor(Textdraw4, -65281);
   TextDrawSetOutline(Textdraw4, 0);
   TextDrawSetProportional(Textdraw4, 1);
   TextDrawSetShadow(Textdraw4, 1);
   TextDrawUseBox(Textdraw4, 1);
   TextDrawBoxColor(Textdraw4, 0x00000065);
   TextDrawTextSize(Textdraw4, 634.000000, 22.000000);

   Textdraw5 = TextDrawCreate(441.000000, 190.000000, "s5");
   TextDrawBackgroundColor(Textdraw5, 255);
   TextDrawFont(Textdraw5, 1);
   TextDrawLetterSize(Textdraw5, 0.320000, 1.100000);
   TextDrawColor(Textdraw5, -65281);
   TextDrawSetOutline(Textdraw5, 0);
   TextDrawSetProportional(Textdraw5, 1);
   TextDrawSetShadow(Textdraw5, 1);
   TextDrawUseBox(Textdraw5, 1);
   TextDrawBoxColor(Textdraw5, 0x00000065);
   TextDrawTextSize(Textdraw5, 634.000000, 22.000000);

   Textdraw6 = TextDrawCreate(441.000000, 204.000000, "s6");
   TextDrawBackgroundColor(Textdraw6, 255);
   TextDrawFont(Textdraw6, 1);
   TextDrawLetterSize(Textdraw6, 0.320000, 1.100000);
   TextDrawColor(Textdraw6, -65281);
   TextDrawSetOutline(Textdraw6, 0);
   TextDrawSetProportional(Textdraw6, 1);
   TextDrawSetShadow(Textdraw6, 1);
   TextDrawUseBox(Textdraw6, 1);
   TextDrawBoxColor(Textdraw6, 0x00000065);
   TextDrawTextSize(Textdraw6, 634.000000, 22.000000);

   Textdraw7 = TextDrawCreate(441.000000, 218.000000, "s7");
   TextDrawBackgroundColor(Textdraw7, 255);
   TextDrawFont(Textdraw7, 1);
   TextDrawLetterSize(Textdraw7, 0.320000, 1.100000);
   TextDrawColor(Textdraw7, -65281);
   TextDrawSetOutline(Textdraw7, 0);
   TextDrawSetProportional(Textdraw7, 1);
   TextDrawSetShadow(Textdraw7, 1);
   TextDrawUseBox(Textdraw7, 1);
   TextDrawBoxColor(Textdraw7, 0x00000065);
   TextDrawTextSize(Textdraw7, 634.000000, 22.000000);

   Textdraw8 = TextDrawCreate(441.000000, 232.000000, "s8");
   TextDrawBackgroundColor(Textdraw8, 255);
   TextDrawFont(Textdraw8, 1);
   TextDrawLetterSize(Textdraw8, 0.300000, 1.100000);
   TextDrawColor(Textdraw8, -65281);
   TextDrawSetOutline(Textdraw8, 0);
   TextDrawSetProportional(Textdraw8, 1);
   TextDrawSetShadow(Textdraw8, 1);
   TextDrawUseBox(Textdraw8, 1);
   TextDrawBoxColor(Textdraw8, 0x00000065);
   TextDrawTextSize(Textdraw8, 634.000000, 22.000000);

   Textdraw9 = TextDrawCreate(441.000000, 246.000000, "s9");
   TextDrawBackgroundColor(Textdraw9, 255);
   TextDrawFont(Textdraw9, 1);
   TextDrawLetterSize(Textdraw9, 0.300000, 1.100000);
   TextDrawColor(Textdraw9, -65281);
   TextDrawSetOutline(Textdraw9, 0);
   TextDrawSetProportional(Textdraw9, 1);
   TextDrawSetShadow(Textdraw9, 1);
   TextDrawUseBox(Textdraw9, 1);
   TextDrawBoxColor(Textdraw9, 0x00000065);
   TextDrawTextSize(Textdraw9, 634.000000, 22.000000);

   RefreshTD = SetTimer("RefreshTextDraws", RefeshTime, 1);

Примерно так должен быть public
Code
public OnGameModeInit()
{
   MaxP = GetMaxPlayers();
   new stringload[256];
   format(stringload, sizeof(stringload), "Мониторинг сервера chargй avec succиs!");
   SendRCONMessage(COLOR_MONITOR1,stringload);
     
   Textdraw0 = TextDrawCreate(441.000000, 120.000000, "Server Monitor 2.1");
   TextDrawBackgroundColor(Textdraw0, 255);
   TextDrawFont(Textdraw0, 1);
   TextDrawLetterSize(Textdraw0, 0.379999, 1.100000);
   TextDrawColor(Textdraw0, 16711935);
   TextDrawSetOutline(Textdraw0, 0);
   TextDrawSetProportional(Textdraw0, 1);
   TextDrawSetShadow(Textdraw0, 1);
   TextDrawUseBox(Textdraw0, 1);
   TextDrawBoxColor(Textdraw0, 0x00000065);
   TextDrawTextSize(Textdraw0, 634.000000, 22.000000);

   Textdraw1 = TextDrawCreate(441.000000, 134.000000, "s1");
   TextDrawBackgroundColor(Textdraw1, 255);
   TextDrawFont(Textdraw1, 1);
   TextDrawLetterSize(Textdraw1, 0.320000, 1.100000);
   TextDrawColor(Textdraw1, -65281);
   TextDrawSetOutline(Textdraw1, 0);
   TextDrawSetProportional(Textdraw1, 1);
   TextDrawSetShadow(Textdraw1, 1);
   TextDrawUseBox(Textdraw1, 1);
   TextDrawBoxColor(Textdraw1, 0x00000065);
   TextDrawTextSize(Textdraw1, 634.000000, 22.000000);

   Textdraw2 = TextDrawCreate(441.000000, 148.000000, "s2");
   TextDrawBackgroundColor(Textdraw2, 255);
   TextDrawFont(Textdraw2, 1);
   TextDrawLetterSize(Textdraw2, 0.320000, 1.100000);
   TextDrawColor(Textdraw2, -65281);
   TextDrawSetOutline(Textdraw2, 0);
   TextDrawSetProportional(Textdraw2, 1);
   TextDrawSetShadow(Textdraw2, 1);
   TextDrawUseBox(Textdraw2, 1);
   TextDrawBoxColor(Textdraw2, 0x00000065);
   TextDrawTextSize(Textdraw2, 634.000000, 22.000000);

   Textdraw3 = TextDrawCreate(441.000000, 162.000000, "s3");
   TextDrawBackgroundColor(Textdraw3, 255);
   TextDrawFont(Textdraw3, 1);
   TextDrawLetterSize(Textdraw3, 0.320000, 1.100000);
   TextDrawColor(Textdraw3, -65281);
   TextDrawSetOutline(Textdraw3, 0);
   TextDrawSetProportional(Textdraw3, 1);
   TextDrawSetShadow(Textdraw3, 1);
   TextDrawUseBox(Textdraw3, 1);
   TextDrawBoxColor(Textdraw3, 0x00000065);
   TextDrawTextSize(Textdraw3, 634.000000, 22.000000);

   Textdraw4 = TextDrawCreate(441.000000, 176.000000, "s4");
   TextDrawBackgroundColor(Textdraw4, 255);
   TextDrawFont(Textdraw4, 1);
   TextDrawLetterSize(Textdraw4, 0.320000, 1.100000);
   TextDrawColor(Textdraw4, -65281);
   TextDrawSetOutline(Textdraw4, 0);
   TextDrawSetProportional(Textdraw4, 1);
   TextDrawSetShadow(Textdraw4, 1);
   TextDrawUseBox(Textdraw4, 1);
   TextDrawBoxColor(Textdraw4, 0x00000065);
   TextDrawTextSize(Textdraw4, 634.000000, 22.000000);

   Textdraw5 = TextDrawCreate(441.000000, 190.000000, "s5");
   TextDrawBackgroundColor(Textdraw5, 255);
   TextDrawFont(Textdraw5, 1);
   TextDrawLetterSize(Textdraw5, 0.320000, 1.100000);
   TextDrawColor(Textdraw5, -65281);
   TextDrawSetOutline(Textdraw5, 0);
   TextDrawSetProportional(Textdraw5, 1);
   TextDrawSetShadow(Textdraw5, 1);
   TextDrawUseBox(Textdraw5, 1);
   TextDrawBoxColor(Textdraw5, 0x00000065);
   TextDrawTextSize(Textdraw5, 634.000000, 22.000000);

   Textdraw6 = TextDrawCreate(441.000000, 204.000000, "s6");
   TextDrawBackgroundColor(Textdraw6, 255);
   TextDrawFont(Textdraw6, 1);
   TextDrawLetterSize(Textdraw6, 0.320000, 1.100000);
   TextDrawColor(Textdraw6, -65281);
   TextDrawSetOutline(Textdraw6, 0);
   TextDrawSetProportional(Textdraw6, 1);
   TextDrawSetShadow(Textdraw6, 1);
   TextDrawUseBox(Textdraw6, 1);
   TextDrawBoxColor(Textdraw6, 0x00000065);
   TextDrawTextSize(Textdraw6, 634.000000, 22.000000);

   Textdraw7 = TextDrawCreate(441.000000, 218.000000, "s7");
   TextDrawBackgroundColor(Textdraw7, 255);
   TextDrawFont(Textdraw7, 1);
   TextDrawLetterSize(Textdraw7, 0.320000, 1.100000);
   TextDrawColor(Textdraw7, -65281);
   TextDrawSetOutline(Textdraw7, 0);
   TextDrawSetProportional(Textdraw7, 1);
   TextDrawSetShadow(Textdraw7, 1);
   TextDrawUseBox(Textdraw7, 1);
   TextDrawBoxColor(Textdraw7, 0x00000065);
   TextDrawTextSize(Textdraw7, 634.000000, 22.000000);

   Textdraw8 = TextDrawCreate(441.000000, 232.000000, "s8");
   TextDrawBackgroundColor(Textdraw8, 255);
   TextDrawFont(Textdraw8, 1);
   TextDrawLetterSize(Textdraw8, 0.300000, 1.100000);
   TextDrawColor(Textdraw8, -65281);
   TextDrawSetOutline(Textdraw8, 0);
   TextDrawSetProportional(Textdraw8, 1);
   TextDrawSetShadow(Textdraw8, 1);
   TextDrawUseBox(Textdraw8, 1);
   TextDrawBoxColor(Textdraw8, 0x00000065);
   TextDrawTextSize(Textdraw8, 634.000000, 22.000000);

   Textdraw9 = TextDrawCreate(441.000000, 246.000000, "s9");
   TextDrawBackgroundColor(Textdraw9, 255);
   TextDrawFont(Textdraw9, 1);
   TextDrawLetterSize(Textdraw9, 0.300000, 1.100000);
   TextDrawColor(Textdraw9, -65281);
   TextDrawSetOutline(Textdraw9, 0);
   TextDrawSetProportional(Textdraw9, 1);
   TextDrawSetShadow(Textdraw9, 1);
   TextDrawUseBox(Textdraw9, 1);
   TextDrawBoxColor(Textdraw9, 0x00000065);
   TextDrawTextSize(Textdraw9, 634.000000, 22.000000);

   RefreshTD = SetTimer("RefreshTextDraws", RefeshTime, 1);
   return 1;
}

После этого ищем public OnGameModeExit() и туда вставляем:
Code
new stringunload[256];
      format(stringunload, sizeof(stringunload), "Мониторинг сервера tuй avec succиs!");
   SendRCONMessage(COLOR_ALERTE,stringunload);

   TextDrawHideForAll(Textdraw0);
   TextDrawDestroy(Textdraw0);
   TextDrawHideForAll(Textdraw1);
   TextDrawDestroy(Textdraw1);
   TextDrawHideForAll(Textdraw2);
   TextDrawDestroy(Textdraw2);
   TextDrawHideForAll(Textdraw3);
   TextDrawDestroy(Textdraw3);
   TextDrawHideForAll(Textdraw4);
   TextDrawDestroy(Textdraw4);
   TextDrawHideForAll(Textdraw5);
   TextDrawDestroy(Textdraw5);
   TextDrawHideForAll(Textdraw6);
   TextDrawDestroy(Textdraw6);
   TextDrawHideForAll(Textdraw7);
   TextDrawDestroy(Textdraw7);
   TextDrawHideForAll(Textdraw8);
   TextDrawDestroy(Textdraw8);
   TextDrawHideForAll(Textdraw9);
   TextDrawDestroy(Textdraw9);
     
   KillTimer(RefreshTD);

Примерно так должен быть public:
Code
public OnGameModeExit()
{
   new stringunload[256];
      format(stringunload, sizeof(stringunload), "Мониторинг сервера tuй avec succиs!");
   SendRCONMessage(COLOR_ALERTE,stringunload);

   TextDrawHideForAll(Textdraw0);
   TextDrawDestroy(Textdraw0);
   TextDrawHideForAll(Textdraw1);
   TextDrawDestroy(Textdraw1);
   TextDrawHideForAll(Textdraw2);
   TextDrawDestroy(Textdraw2);
   TextDrawHideForAll(Textdraw3);
   TextDrawDestroy(Textdraw3);
   TextDrawHideForAll(Textdraw4);
   TextDrawDestroy(Textdraw4);
   TextDrawHideForAll(Textdraw5);
   TextDrawDestroy(Textdraw5);
   TextDrawHideForAll(Textdraw6);
   TextDrawDestroy(Textdraw6);
   TextDrawHideForAll(Textdraw7);
   TextDrawDestroy(Textdraw7);
   TextDrawHideForAll(Textdraw8);
   TextDrawDestroy(Textdraw8);
   TextDrawHideForAll(Textdraw9);
   TextDrawDestroy(Textdraw9);
     
   KillTimer(RefreshTD);
   return 1;
}

после этого ищем public OnPlayerCommandText я сразу скину полностью этот public примером:
Code

public OnPlayerCommandText(playerid, cmdtext[])
{
      TotalCommands++;
      new idx;
      new string[256];
      new cmd[256];
      cmd = strtok(cmdtext, idx);
   if(strcmp(cmdtext, "/allplayersip", true) == 0)
   {
      if (IsPlayerAdmin(playerid))
      {
          for(new j = 0; j < MAX_PLAYERS; j++)
       {
       if(IsPlayerConnected(j))
       {
          GetPlayerIp(j,playerip,sizeof(playerip));
          GetPlayerName(j, playername, sizeof(playername));
          format(string, 256, "Игрок обнаружен !! IP : %s, Имя : %s.", playerip, playername);
          SendClientMessage(playerid,COLOR_MONITOR,string);
       }
       }
      }
      else
      {
          SendClientMessage(playerid, COLOR_GRAD2, "Ошибка : Только админы могут использовать команду!");
       return 1;
      }
         return 1;
   }
   if(strcmp(cmdtext, "/mhelp", true) == 0)
   {
      if (IsPlayerAdmin(playerid))
      {
       SendClientMessage(playerid,COLOR_WHITE,"------------------------| ПОмощь по монитору сервера |----------------------");
          SendClientMessage(playerid,COLOR_MONITOR,"/ssay /allplayersip /monitor");
          SendClientMessage(playerid,COLOR_MONITOR,"/mc /monitortd{FF0000}NEW!");
         }
      else
      {
          SendClientMessage(playerid, COLOR_GRAD2, "ОШибка : Только админы могут использовать команду!");
       return 1;
      }
         return 1;
   }
   if(strcmp(cmdtext, "/monitor", true) == 0)
   {
      if (IsPlayerAdmin(playerid))
      {
      totalon = 0;
         for(new i=0; i<MAX_PLAYERS; i++)
      {
          if(IsPlayerConnected(i))
       {
           if(totalon == 0)
        {
            totalon = 1;
           }
           else if (totalon > 0)
     {
     if(IsPlayerNPC(playerid))
           {
       npcon++;
        }
           totalon++;
           }
          }
         }
         SendClientMessage(playerid,COLOR_WHITE,"----------------| Сервер монитор |----------------");
      format(string, 256, "Игроков online : %i/%i.", totalon-NPC, MaxP-NPC);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         new restant = MaxP-totalon-NPC;
         format(string, 256, "Свободные слоты : %i.", restant);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего подключений : %d.", TotalConnections);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего сбоев Игроки : %d.", TotalTimeouts);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего игроков выходило : %d.", TotalKicks);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего Команды, используемые : %d.", TotalCommands);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Всего сообщений Отправить : %d.", TotalChatMessages);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Conexions au RCON (Echec) : %d.", CECHRCON);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         format(string, 256, "Conexions au RCON (Rйussie) : %d.", COKRCON);
         SendClientMessage(playerid,COLOR_MONITOR1,string);
         SendClientMessage(playerid,COLOR_WHITE,"--------------------------------");
         format(string, 256, "RCON администрации олайн :");
         SendClientMessage(playerid,COLOR_MONITOR2,string);
         for(new i = 0; i < MAX_PLAYERS; i++)
      {
     if(IsPlayerConnected(i))
     {
      if(IsPlayerAdmin(i))
      {
                      new ip[64];
       GetPlayerName(i, sendername, sizeof(sendername));
       GetPlayerIp(i,ip,sizeof(ip));
       format(string, 256, "Имя : %s, IP : %s", sendername, ip);
       SendClientMessage(playerid, COLOR_MONITOR2, string);
      }
     }
      }
      }
      else
      {
          SendClientMessage(playerid, COLOR_GRAD2, "ОШибка : Только админы могут использовать команду!");
       return 1;
      }
         return 1;
   }
   if(strcmp(cmdtext, "/monitortd", true) == 0)
   {
     if (IsPlayerAdmin(playerid))
     {
    if(TextDrawON[playerid] == 0)
    {
      LoadTextDraws(playerid);
      TextDrawON[playerid] = 1;
    }
    else
    {
            UnLoadTextDraws(playerid);
      TextDrawON[playerid] = 0;
    }
     }
     else
     {
          SendClientMessage(playerid, COLOR_GRAD2, "Ошибка : Только админы могут использовать команду!");
       return 1;
     }
     return 1;
   }
      if(strcmp(cmd,"/ssay",true)==0)
   {
    if (IsPlayerAdmin(playerid))
    {
     new length = strlen(cmdtext);
     while ((idx < length) && (cmdtext[idx] <= ' '))
     {
      idx++;
     }
     new offset = idx;
     new result[MAX_STRING];
     while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
     {
      result[idx - offset] = cmdtext[idx];
      idx++;
     }
     result[idx - offset] = EOS;
     if(!strlen(result))
     {
      SendClientMessage(playerid, COLOR_GRAD2, "Использование: /s(erver)say [Сообщения]");
      return 1;
              }
              format(string, sizeof(string), "Сервер: %s", result);
     SendServerMessage(COLOR_MONITOR,string);
    }
    else
    {
            SendClientMessage(playerid, COLOR_GRAD2, "Ошибка : Только админы могут использовать команду!");
      return 1;
    }
    return 1;
      }
      if(strcmp(cmd,"/mc",true)==0)
   {
    if (IsPlayerAdmin(playerid))
    {
     new length = strlen(cmdtext);
     while ((idx < length) && (cmdtext[idx] <= ' '))
     {
      idx++;
     }
     new offset = idx;
     new result[MAX_STRING];
     while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
     {
      result[idx - offset] = cmdtext[idx];
      idx++;
     }
     result[idx - offset] = EOS;
     if(!strlen(result))
     {
      SendClientMessage(playerid, COLOR_GRAD2, "Использование: /mc [чат]");
      return 1;
              }
              GetPlayerName(playerid, sendername, sizeof(sendername));
              format(string, sizeof(string), "RCON админ %s: %s", sendername,result);
     SendRCONMessage(COLOR_CHAT,string);
    }
    else
    {
       SendClientMessage(playerid, COLOR_GRAD2, "Ошибка : Только админы могут использовать команду!");
       return 1;
    }
    return 1;
      }
   return 0;
}

и потом в любое место добавляем сами функции:
Code
public OnRconLoginAttempt(ip[], password[], success)
{
     if(!success)
     {
       CECHRCON++;
     }
     else
     {
       COKRCON++;
     }
     return 1;
}

public SendServerMessage(color,const string[])
{
  for(new i = 0; i < MAX_PLAYERS; i++)
  {
   if(IsPlayerConnected(i))
   {
     SendClientMessage(i, color, string);
   }
  }
}
public SendRCONMessage(color,const string[])
{
  for(new i = 0; i < MAX_PLAYERS; i++)
  {
   if(IsPlayerConnected(i))
   {
             if (IsPlayerAdmin(i))
          {
     SendClientMessage(i, color, string);
    }
   }
  }
}
public LoadTextDraws(playerid)
{
  totalon = 0;
     for(new i=0; i<MAX_PLAYERS; i++)
     {
       if(IsPlayerConnected(i))
    {
        if(totalon == 0)
        {
          totalon = 1;
        }
        else if (totalon > 0)
     {
     if(IsPlayerNPC(playerid))
        {
     npcon++;
     }
        totalon++;
        }
       }
     }
     new s1[256];
  format(s1, 256, "Players Online %d/%d.",totalon-NPC, MaxP-NPC);
  new s2[256];
  new restant = MaxP-totalon-NPC;
  format(s2, 256, "Slots available : %i.", restant);
  new s3[256];
  format(s3, 256, "Total Connection : %d.", TotalConnections);
  new s4[256];
  format(s4, 256, "Total Players Crash : %d.", TotalTimeouts);
  new s5[256];
  format(s5, 256, "Total Players Quit : %d.", TotalKicks);
  new s6[256];
  format(s6, 256, "Total Commands Used : %d.", TotalCommands);
  new s7[256];
  format(s7, 256, "Total Messages Send : %d.", TotalChatMessages);
  new s8[256];
  format(s8, 256, "RCON Connections (Failed) : %d.", CECHRCON);
  new s9[256];
  format(s9, 256, "RCON Connections (Success) : %d.", COKRCON);
   
  TextDrawSetString(Text:Textdraw1, s1);
  TextDrawSetString(Text:Textdraw2, s2);
  TextDrawSetString(Text:Textdraw3, s3);
  TextDrawSetString(Text:Textdraw4, s4);
  TextDrawSetString(Text:Textdraw5, s5);
  TextDrawSetString(Text:Textdraw6, s6);
  TextDrawSetString(Text:Textdraw7, s7);
  TextDrawSetString(Text:Textdraw8, s8);
  TextDrawSetString(Text:Textdraw9, s9);
   
  TextDrawShowForPlayer(playerid, Textdraw0);
  TextDrawShowForPlayer(playerid, Textdraw1);
  TextDrawShowForPlayer(playerid, Textdraw2);
  TextDrawShowForPlayer(playerid, Textdraw3);
  TextDrawShowForPlayer(playerid, Textdraw4);
  TextDrawShowForPlayer(playerid, Textdraw5);
  TextDrawShowForPlayer(playerid, Textdraw6);
  TextDrawShowForPlayer(playerid, Textdraw7);
  TextDrawShowForPlayer(playerid, Textdraw8);
  TextDrawShowForPlayer(playerid, Textdraw9);
}

public RefreshTextDraws(playerid)
{
  totalon = 0;
     for(new i=0; i<MAX_PLAYERS; i++)
     {
       if(IsPlayerConnected(i))
    {
        if(totalon == 0)
        {
          totalon = 1;
        }
        else if (totalon > 0)
     {
     if(IsPlayerNPC(playerid))
        {
     npcon++;
     }
        totalon++;
        }
       }
     }
     TextDrawHideForPlayer(playerid, Textdraw0);
  TextDrawHideForPlayer(playerid, Textdraw1);
  TextDrawHideForPlayer(playerid, Textdraw2);
  TextDrawHideForPlayer(playerid, Textdraw3);
  TextDrawHideForPlayer(playerid, Textdraw4);
  TextDrawHideForPlayer(playerid, Textdraw5);
  TextDrawHideForPlayer(playerid, Textdraw6);
  TextDrawHideForPlayer(playerid, Textdraw7);
  TextDrawHideForPlayer(playerid, Textdraw8);
  TextDrawHideForPlayer(playerid, Textdraw9);
   
     new s1[256];
  format(s1, 256, "Players Online %d/%d.",totalon-NPC, MaxP-NPC);
  new s2[256];
  new restant = MaxP-totalon-NPC;
  format(s2, 256, "Slots available : %i.", restant);
  new s3[256];
  format(s3, 256, "Total Connection : %d.", TotalConnections);
  new s4[256];
  format(s4, 256, "Total Players Crash : %d.", TotalTimeouts);
  new s5[256];
  format(s5, 256, "Total Players Quit : %d.", TotalKicks);
  new s6[256];
  format(s6, 256, "Total Commands Used : %d.", TotalCommands);
  new s7[256];
  format(s7, 256, "Total Messages Send : %d.", TotalChatMessages);
  new s8[256];
  format(s8, 256, "RCON Connections (Failed) : %d.", CECHRCON);
  new s9[256];
  format(s9, 256, "RCON Connections (Success) : %d.", COKRCON);

  TextDrawSetString(Text:Textdraw1, s1);
  TextDrawSetString(Text:Textdraw2, s2);
  TextDrawSetString(Text:Textdraw3, s3);
  TextDrawSetString(Text:Textdraw4, s4);
  TextDrawSetString(Text:Textdraw5, s5);
  TextDrawSetString(Text:Textdraw6, s6);
  TextDrawSetString(Text:Textdraw7, s7);
  TextDrawSetString(Text:Textdraw8, s8);
  TextDrawSetString(Text:Textdraw9, s9);

  TextDrawShowForPlayer(playerid, Textdraw0);
  TextDrawShowForPlayer(playerid, Textdraw1);
  TextDrawShowForPlayer(playerid, Textdraw2);
  TextDrawShowForPlayer(playerid, Textdraw3);
  TextDrawShowForPlayer(playerid, Textdraw4);
  TextDrawShowForPlayer(playerid, Textdraw5);
  TextDrawShowForPlayer(playerid, Textdraw6);
  TextDrawShowForPlayer(playerid, Textdraw7);
  TextDrawShowForPlayer(playerid, Textdraw8);
  TextDrawShowForPlayer(playerid, Textdraw9);
}

public UnLoadTextDraws(playerid)
{
     TextDrawHideForPlayer(playerid, Textdraw0);
  TextDrawHideForPlayer(playerid, Textdraw1);
  TextDrawHideForPlayer(playerid, Textdraw2);
  TextDrawHideForPlayer(playerid, Textdraw3);
  TextDrawHideForPlayer(playerid, Textdraw4);
  TextDrawHideForPlayer(playerid, Textdraw5);
  TextDrawHideForPlayer(playerid, Textdraw6);
  TextDrawHideForPlayer(playerid, Textdraw7);
  TextDrawHideForPlayer(playerid, Textdraw8);
  TextDrawHideForPlayer(playerid, Textdraw9);
}

strtok(const string[], &index,seperator=' ')
{
  new length = strlen(string);
  new offset = index;
  new result[128];
  while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  {
   result[index - offset] = string[index];
   index++;
  }

  result[index - offset] = EOS;
  if ((index < length) && (string[index] == seperator))
  {
   index++;
  }
  return result;
}

И после этого ищем public OnPlayerDisconnect и туда всталвяем:
Code
    switch(reason)
  {
      case 0: { TotalTimeouts++; }
      case 2: { TotalKicks++; }
  }

Примерно так должен быть public:
Code
public OnPlayerDisconnect(playerid, reason)
{
  switch(reason)
  {
      case 0: { TotalTimeouts++; }
      case 2: { TotalKicks++; }
  }
  return 1;
}

После этого ищем public OnPlayerConnect и туда вставляем:
Code
TotalConnections++;

Примерно так должен быть public:
Code
public OnPlayerConnect(playerid)
{
     TotalConnections++;
  return 1;
}

И после этого ищем public OnPlayerText и туда вставляем:
Code
TotalChatMessages++;
     Showing[playerid] = 0;

Примерно так должен быть public:
Code
public OnPlayerText(playerid, text[])
{
     TotalChatMessages++;
     Showing[playerid] = 0;
  return 1;
}

Урок by - 26_RUSSS
Автор самого кода: Skylive77

Автор - admin
Дата добавления - 17.09.2011 в 13:30:53
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
02:59:44
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: