• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
Урок №54. [Бан чата игроку.] DM/TDM.
MaXMuTДата: Четверг, 21.07.2011, 15:45:38 | Сообщение # 1

Группа: Пользователи
Сообщений: 90
Приветствую всех пользователей Сайта samp-pawno.ru.
В этот раз Я покажу,как создать команду для бана чата игроку.
В начале мода ставим:
Code
enum pInfo
{
pBanchat
};
new PlayerInfo[MAX_PLAYERS][pInfo]; //

Итак,дальше мы идём в паблик подключения,а точнее public OnPlayerConnect(playerid).
И ставим
Code
PlayerInfo[playerid][pBanchat] = 0;

После того,как у игрока установлен Бан чата,то он не может писать в чат,значит теперь идём в паблик OnPlayerText и ставим туда:
Code
    if(PlayerInfo[playerid][pBanchat] == 1)
      {
      SendClientMessage(playerid,0xAA3333AA,"Ban чата!");
      return 0;
       }

Тоесть,игрок несможет писать в чат...
Далее создаём команду "/banchat"
Переходим в паблик OnPlayerCommandText(playerid, cmdtext[])
И туда ставим саму команду:
Code
if (strcmp("/banchat", cmd, true) == 0 && PlayerInfo[playerid][pAdmin] >= 1)//Проверка на администратора
     {
         new giveplayerid, string[128];
      tmp = strtok(cmdtext, idx); giveplayerid = strval(tmp);
      if(!strlen(tmp))
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: /banchat [ID]");
       return 1;
      }
      if(!IsPlayerConnected(giveplayerid))
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: Игрок Offline");
       return 1;
      }
      if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: Игрок имеет высший статус!");
       return 1;
      }
      if(PlayerInfo[giveplayerid][pBanchat] == 1)
      {
       SendClientMessage(playerid, 0xFF0000AA, "Игрок уже заткнут!");
       return 1;
      }
      format(string, sizeof(string), "%s выдал бан чата игроку %s .",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
      SendClientMessageToAll(0xFFFF00AA,string); PlayerInfo[giveplayerid][pBanchat] = 1;
      return 1;
     }

Естественно пригодится команда для разбана чата.
Опять же в этом паблике ставим команду:
Code
if (strcmp("/unbanchat", cmd, true) == 0 && PlayerInfo[playerid][pAdmin] >= 1)
     {
         new giveplayerid, string[128];
      tmp = strtok(cmdtext, idx); giveplayerid = strval(tmp);
      if(!strlen(tmp))
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: /unbanchat [ID]");
       return 1;
      }
      if(!IsPlayerConnected(giveplayerid))
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: Игрок Offline");
       return 1;
      }
      if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: Игрок имеет высший статус!");
       return 1;
      }
      if(PlayerInfo[giveplayerid][pBanchat] == 0)
      {
       SendClientMessage(playerid, 0xFF0000AA, "Игрок не заткнут!");
       return 1;
      }
      format(string, sizeof(string), "%s снял бан чата у %s .",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
      SendClientMessageToAll(0xFFFF00AA,string); PlayerInfo[giveplayerid][pBanchat] = 0;
      return 1;
     }

в паблик OnPlayerRegister ставим:
Code
ini_setInteger(pFile,"Banchat",0);

в паблик OnPlayerLogin ставим:
Code
  ini_getInteger(pFile,"Banchat",PlayerInfo[playerid][pBanchat]);

в Stock "stock LoadAccount(playerid)" Если он у вас имеется,ставим
Code
    ini_getInteger(pFile,"Banchat",PlayerInfo[playerid][pBanchat]);


и в ещё один Stock "stock SaveAccount(playerid)" - Сохранение аккаунт,ставим:
Code
    ini_setInteger(pFile,"Banchat",PlayerInfo[playerid][pBanchat]);

На этом наш урок оканчивается,задавайте вопросы в теме,если возникнут.
Автор урока:Я
Если был такой урок,прошу удалить его немедленно!


Вернулся на форум.Пишите в личу,если кому надо помочь по скриптенгу( только на форуме,в скайпе не помогаю )

Сообщение отредактировал MaXMuT - Четверг, 21.07.2011, 15:58:23
 
СообщениеПриветствую всех пользователей Сайта samp-pawno.ru.
В этот раз Я покажу,как создать команду для бана чата игроку.
В начале мода ставим:
Code
enum pInfo
{
pBanchat
};
new PlayerInfo[MAX_PLAYERS][pInfo]; //

Итак,дальше мы идём в паблик подключения,а точнее public OnPlayerConnect(playerid).
И ставим
Code
PlayerInfo[playerid][pBanchat] = 0;

После того,как у игрока установлен Бан чата,то он не может писать в чат,значит теперь идём в паблик OnPlayerText и ставим туда:
Code
    if(PlayerInfo[playerid][pBanchat] == 1)
      {
      SendClientMessage(playerid,0xAA3333AA,"Ban чата!");
      return 0;
       }

Тоесть,игрок несможет писать в чат...
Далее создаём команду "/banchat"
Переходим в паблик OnPlayerCommandText(playerid, cmdtext[])
И туда ставим саму команду:
Code
if (strcmp("/banchat", cmd, true) == 0 && PlayerInfo[playerid][pAdmin] >= 1)//Проверка на администратора
     {
         new giveplayerid, string[128];
      tmp = strtok(cmdtext, idx); giveplayerid = strval(tmp);
      if(!strlen(tmp))
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: /banchat [ID]");
       return 1;
      }
      if(!IsPlayerConnected(giveplayerid))
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: Игрок Offline");
       return 1;
      }
      if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: Игрок имеет высший статус!");
       return 1;
      }
      if(PlayerInfo[giveplayerid][pBanchat] == 1)
      {
       SendClientMessage(playerid, 0xFF0000AA, "Игрок уже заткнут!");
       return 1;
      }
      format(string, sizeof(string), "%s выдал бан чата игроку %s .",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
      SendClientMessageToAll(0xFFFF00AA,string); PlayerInfo[giveplayerid][pBanchat] = 1;
      return 1;
     }

Естественно пригодится команда для разбана чата.
Опять же в этом паблике ставим команду:
Code
if (strcmp("/unbanchat", cmd, true) == 0 && PlayerInfo[playerid][pAdmin] >= 1)
     {
         new giveplayerid, string[128];
      tmp = strtok(cmdtext, idx); giveplayerid = strval(tmp);
      if(!strlen(tmp))
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: /unbanchat [ID]");
       return 1;
      }
      if(!IsPlayerConnected(giveplayerid))
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: Игрок Offline");
       return 1;
      }
      if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
      {
       SendClientMessage(playerid, 0xFF0000AA, "Ошибка: Игрок имеет высший статус!");
       return 1;
      }
      if(PlayerInfo[giveplayerid][pBanchat] == 0)
      {
       SendClientMessage(playerid, 0xFF0000AA, "Игрок не заткнут!");
       return 1;
      }
      format(string, sizeof(string), "%s снял бан чата у %s .",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
      SendClientMessageToAll(0xFFFF00AA,string); PlayerInfo[giveplayerid][pBanchat] = 0;
      return 1;
     }

в паблик OnPlayerRegister ставим:
Code
ini_setInteger(pFile,"Banchat",0);

в паблик OnPlayerLogin ставим:
Code
  ini_getInteger(pFile,"Banchat",PlayerInfo[playerid][pBanchat]);

в Stock "stock LoadAccount(playerid)" Если он у вас имеется,ставим
Code
    ini_getInteger(pFile,"Banchat",PlayerInfo[playerid][pBanchat]);


и в ещё один Stock "stock SaveAccount(playerid)" - Сохранение аккаунт,ставим:
Code
    ini_setInteger(pFile,"Banchat",PlayerInfo[playerid][pBanchat]);

На этом наш урок оканчивается,задавайте вопросы в теме,если возникнут.
Автор урока:Я
Если был такой урок,прошу удалить его немедленно!

Автор - MaXMuT
Дата добавления - 21.07.2011 в 15:45:38
[MTA]MaPeR5518Дата: Суббота, 13.08.2011, 13:57:27 | Сообщение # 2

Группа: Пользователи
Сообщений: 181
По моему это лишняя нагрузка на сервер
Code
enum pInfo
{
pBanchat
};
new PlayerInfo[MAX_PLAYERS][pInfo];

+ удобнее так
Code
if(strcmp(cmd, "/mute", true) == 0)
  {
      GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
   GetPlayerName(playerid, sendername, sizeof(sendername));
         PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
         PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
   tmp = strtok(cmdtext, idx);
   if(IsStringAName(tmp))
   {
    giveplayerid = GetPlayerID(tmp);
   }
   else
   {
    giveplayerid = strval(tmp);
   }
   if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
   {
    SendClientMessage(playerid, COLOR_DBLUE, "SERVER: /mute [ID]");
    return 1;
   }
   if(IsStringAName(tmp))
   {
    giveplayerid = GetPlayerID(tmp);
   }
   else
   {
    giveplayerid = strval(tmp);
   }
   GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
   GetPlayerName(playerid, sendername, sizeof(sendername));
   if(PlayerInfo[playerid][pAdmin] >= 1)
   {
    if(IsPlayerConnected(giveplayerid))
    {
     if(Mute[giveplayerid] == 0)
     {
      Mute[giveplayerid] = 1;
     }
     else
     {
      Mute[giveplayerid] = 0;
      SendClientMessageToAll(COLOR_BLUE, string);
      new PlayerName[30];
      GetPlayerName(playerid, PlayerName, 30);
     }
    }
    else
    {
     format(string, sizeof(string), "Нет такого игрока!", giveplayerid);
     SendClientMessage(playerid, COLOR_RED, string);
    }
   }
   else
   {
     SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
     return 1;
   }
   return 1;
  }


Ничто не останавливает полет мысли программиста , как компилятор!
+ не помешает
 
СообщениеПо моему это лишняя нагрузка на сервер
Code
enum pInfo
{
pBanchat
};
new PlayerInfo[MAX_PLAYERS][pInfo];

+ удобнее так
Code
if(strcmp(cmd, "/mute", true) == 0)
  {
      GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
   GetPlayerName(playerid, sendername, sizeof(sendername));
         PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
         PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
   tmp = strtok(cmdtext, idx);
   if(IsStringAName(tmp))
   {
    giveplayerid = GetPlayerID(tmp);
   }
   else
   {
    giveplayerid = strval(tmp);
   }
   if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
   {
    SendClientMessage(playerid, COLOR_DBLUE, "SERVER: /mute [ID]");
    return 1;
   }
   if(IsStringAName(tmp))
   {
    giveplayerid = GetPlayerID(tmp);
   }
   else
   {
    giveplayerid = strval(tmp);
   }
   GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
   GetPlayerName(playerid, sendername, sizeof(sendername));
   if(PlayerInfo[playerid][pAdmin] >= 1)
   {
    if(IsPlayerConnected(giveplayerid))
    {
     if(Mute[giveplayerid] == 0)
     {
      Mute[giveplayerid] = 1;
     }
     else
     {
      Mute[giveplayerid] = 0;
      SendClientMessageToAll(COLOR_BLUE, string);
      new PlayerName[30];
      GetPlayerName(playerid, PlayerName, 30);
     }
    }
    else
    {
     format(string, sizeof(string), "Нет такого игрока!", giveplayerid);
     SendClientMessage(playerid, COLOR_RED, string);
    }
   }
   else
   {
     SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
     return 1;
   }
   return 1;
  }

Автор - [MTA]MaPeR5518
Дата добавления - 13.08.2011 в 13:57:27
  • Страница 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)

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

vkontakte :samp-pawno.ru: