Pawno-SAMP
Главная
Вход
Регистрация
Суббота, 19.07.2025, 05:14Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Делам рейтинг новостям , как на Samp-RP. /ratingnews
UlkiorraJeezyДата: Суббота, 14.07.2012, 20:27 | Сообщение # 1
Лейтенант
Группа: Администраторы
Сообщений: 71
Репутация: 0
Статус: Offline
Ко всем new
Code
new radiols;   
new radiosf;   
new radiolv;   
new radioall;  


Заменяем свою команду /radio на эту
Code
    if(strcmp(cmd,"/radio",true) == 0)   
       {   
           if(IsPlayerConnected(playerid))   
           {   
               tmp = strtok(cmdtext, idx);   
               if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{DDA0DD} >> Введите{FFFFFF}: /radio [0,1,2,3]");   
               new item = strval(tmp);   
               switch (item)   
               {   
                   case 1:   
                   {   
                      if (gNews[playerid] == 0)   
                      {   
                          radiosf--;   
                      }   
                      if (LvNews[playerid] == 0)   
                      {   
                          radiolv--;   
                      }   
                      if (lNews[playerid] == 0)   
                      {   
                          radiols--;   
                      }   
                      lNews[playerid] = 1;   
                      gNews[playerid] = 0;   
                      LvNews[playerid] = 1;   
                      radiosf++;   
                      SendClientMessage(playerid, COLOR_WHITE, "Вы слушаете SF News");   
                   }   
                   case 2:   
                   {   
                      if (lNews[playerid] == 0)   
                      {   
                          radiols--;   
                      }   
                      if (LvNews[playerid] == 0)   
                      {   
                          radiolv--;   
                      }   
                      if (gNews[playerid] == 0)   
                      {   
                          radiosf--;   
                      }   
                      lNews[playerid] = 0;   
                      gNews[playerid] = 1;   
                      LvNews[playerid] = 1;   
                      radiols++;   
                      SendClientMessage(playerid, COLOR_WHITE, "Вы слушаете LS News");   
                   }   
                   case 3:   
                   {   
                      if (LvNews[playerid] == 0)   
                      {   
                          radiolv--;   
                      }   
                      if(gNews[playerid] == 0)   
                      {   
                          radiosf--;   
                      }   
                      if (lNews[playerid] == 0)   
                      {   
                          radiols--;   
                      }   
                      lNews[playerid] = 1;   
                      gNews[playerid] = 1;   
                      LvNews[playerid] = 0;   
                      radiolv++;   
                      SendClientMessage(playerid, COLOR_WHITE, "Вы слушаете Lv News");   
                   }   
                   case 0:   
                   {   
                      if (LvNews[playerid] == 0)   
                      {   
                          radiolv--;   
                      }   
                      if(gNews[playerid] == 0)   
                      {   
                          radiosf--;   
                      }   
                      if (lNews[playerid] == 0)   
                      {   
                          radiols--;   
                      }   
                      lNews[playerid] = 1;   
                      gNews[playerid] = 1;   
                      LvNews[playerid] = 1;   
                      SendClientMessage(playerid, COLOR_WHITE, "Вы выключили радио");   
                   }   
               }   
               return 1;   
           }   
       }  


Далее в паблик команд вставляем:
Code
   else if(strcmp(cmd,"/ratingnews",true)==0)
      {
              for(new i = 0; i < MAX_PLAYERS; i++)
              {
                  if (IsPlayerConnected(i))
                  {
                      new points[3]; new radiolist[1024];
                      new procls = 100 / radioall * radiols;
                      new procsf = 100 / radioall * radiosf;
                      new proclv = 100 / radioall * radiolv;
                      points[0] = 100 - procls;
                      points[1] = 100 - procsf;
                      points[2] = 100 - proclv;
                      format(radiolist, sizeof(radiolist), "LS News [%s] %d%% %d человек\n\nSF News [%s] %d%% %d человек\n\nLV News [%s] %d%% %d человек",ToDevelopRating(procls,points[0]),procls,radiols,ToDevelopRating(procsf,points[1]),procsf,radiosf,ToDevelopRating(proclv,points[2]),proclv,radiolv);
                      ShowPlayerDialog(playerid, 8811, DIALOG_STYLE_MSGBOX, "by Paulo_Kamaro.Количество слушателей", radiolist, "Готово", "");
                  }
              }
          return 1;
      }


В public OnPlayerConnect вставляем эти строчки

Code
radiols++; radioall++;  


В public OnPlayerDisconnect вставляем это
Code
radioall--;
if (lNews[playerid] == 0)
{
radiols--;
}
if (gNews[playerid] == 0)
{
radiosf--;
}
if (LvNews[playerid] == 0)
{
radiolv--;
}

В конец мода добавляем
Code
stock ToDevelopRating(Slashes,Points)
{
      new string[149];
      new Slash[2] = "|";
      new Point[2] = "'";
      for(new i = 0; i < Slashes; i++) strcat(string, Slash);
      for(new i = 0; i < Points; i++) strcat(string, Point);
      return string;
}

___
Все проверено и работает 100%
 
  • Страница 1 из 1
  • 1
Поиск:


Пожертвования на развитие сайта. Yandex: 410011459268530 © 2025
Создать бесплатный сайт с uCoz