• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
gf урок mute на время 2
adminДата: Вторник, 01.02.2011, 03:27:08 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869
сначало ищем enum pInfo
добавляем там pMuteTime,

потом public OnPlayerRegister(playerid, password[])
и добавляем format(var, 32, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var);

потом ищем public OnPlayerLogin(playerid,password[])
и добавляем if( strcmp( key , "MuteTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuteTime] = strval( val ); }

запись в акк сделали. Теперь при логине даем 0 сек. молчанки
в public OnPlayerLogin(playerid,password[]) добавляем
PlayerInfo[playerid][pMuteTime]=0; хотя можно сделать в ОnPlayerRegister ну да пох)

теперь, чтобы счетчик сбрасывался, в public SetPlayerUnjail()
добавляем следующие:

Code
if(PlayerInfo[i][pMuteTime] > 0)
{
PlayerInfo[i][pMuteTime] -=1;
if(PlayerInfo[i][pMuteTime] <= 0)
{
GetPlayerName(i, plname, sizeof(plname));
format(string, 256, " c %s снята молчанка ",plname);
SendClientMessageToAll(COLOR_GREY,string);
}
}  

теперь сама команда:
Code
    if(strcmp(cmd, "/mute", true) == 0)
     {
         if(IsPlayerConnected(playerid))
         {
             tmp = strtok(cmdtext, idx);
             if(!strlen(tmp))
             {
                 SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /mute [playerid/PartOfName]");
                 return 1;
             }
             new playa;
             playa = ReturnUser(tmp);
             if (PlayerInfo[playerid][pAdmin] >= 1)
             {
                 if(IsPlayerConnected(playa))
                 {
                     if(playa != INVALID_PLAYER_ID)
                     {
                         GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                         GetPlayerName(playerid, sendername, sizeof(sendername));
                         if(PlayerInfo[playa][pMuted] == 0)
                         {
                             PlayerInfo[playa][pMuteTime] = 180;
                             printf("AdmCmd: %s silenced %s",sendername,  giveplayer);
                             format(string, sizeof(string), " %s получил молчанку от администратора %s",giveplayer ,sendername);
                             ABroadCast(COLOR_RED,string,1);
                         }
                         else
                         {
                             PlayerInfo[playa][pMuteTime] = 0;
                             printf("AdmCmd: %s unsilenced %s",sendername,  giveplayer);
                             format(string, sizeof(string), " %s открыл рот %s",giveplayer ,sendername);
                             ABroadCast(COLOR_RED,string,1);
                         }
                     }
                 }
             }
             else
             {
                 SendClientMessage(playerid, COLOR_GRAD1, " Вы не можете использовать эту команду!");
             }
         }
         return 1;
     }  

в данном случае молчанка дается на 180 сек. ( PlayerInfo[playa][pMuteTime] = 180; )

и чтобы наказанный не мог говорить
во все команды связанные с чатом (/report, /o, /f и т.д.) ставим

Code
if(PlayerInfo[playerid][pMuteTime] > 0)
{
SendClientMessage(playerid, COLOR_GREY , "У вас молчанка");
return 1;
}  

и в public OnPlayerText(playerid, text[]) ставим
Code
if(PlayerInfo[playerid][pMuteTime] > 0)
{
SendClientMessage(playerid, COLOR_GREY , "*Вы не можете говорить, у вас молчанка !");
return 0;
}  

Источник:forum.pawno.ru


zm-jail.ru

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


 
Сообщениесначало ищем enum pInfo
добавляем там pMuteTime,

потом public OnPlayerRegister(playerid, password[])
и добавляем format(var, 32, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var);

потом ищем public OnPlayerLogin(playerid,password[])
и добавляем if( strcmp( key , "MuteTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuteTime] = strval( val ); }

запись в акк сделали. Теперь при логине даем 0 сек. молчанки
в public OnPlayerLogin(playerid,password[]) добавляем
PlayerInfo[playerid][pMuteTime]=0; хотя можно сделать в ОnPlayerRegister ну да пох)

теперь, чтобы счетчик сбрасывался, в public SetPlayerUnjail()
добавляем следующие:

Code
if(PlayerInfo[i][pMuteTime] > 0)
{
PlayerInfo[i][pMuteTime] -=1;
if(PlayerInfo[i][pMuteTime] <= 0)
{
GetPlayerName(i, plname, sizeof(plname));
format(string, 256, " c %s снята молчанка ",plname);
SendClientMessageToAll(COLOR_GREY,string);
}
}  

теперь сама команда:
Code
    if(strcmp(cmd, "/mute", true) == 0)
     {
         if(IsPlayerConnected(playerid))
         {
             tmp = strtok(cmdtext, idx);
             if(!strlen(tmp))
             {
                 SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /mute [playerid/PartOfName]");
                 return 1;
             }
             new playa;
             playa = ReturnUser(tmp);
             if (PlayerInfo[playerid][pAdmin] >= 1)
             {
                 if(IsPlayerConnected(playa))
                 {
                     if(playa != INVALID_PLAYER_ID)
                     {
                         GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                         GetPlayerName(playerid, sendername, sizeof(sendername));
                         if(PlayerInfo[playa][pMuted] == 0)
                         {
                             PlayerInfo[playa][pMuteTime] = 180;
                             printf("AdmCmd: %s silenced %s",sendername,  giveplayer);
                             format(string, sizeof(string), " %s получил молчанку от администратора %s",giveplayer ,sendername);
                             ABroadCast(COLOR_RED,string,1);
                         }
                         else
                         {
                             PlayerInfo[playa][pMuteTime] = 0;
                             printf("AdmCmd: %s unsilenced %s",sendername,  giveplayer);
                             format(string, sizeof(string), " %s открыл рот %s",giveplayer ,sendername);
                             ABroadCast(COLOR_RED,string,1);
                         }
                     }
                 }
             }
             else
             {
                 SendClientMessage(playerid, COLOR_GRAD1, " Вы не можете использовать эту команду!");
             }
         }
         return 1;
     }  

в данном случае молчанка дается на 180 сек. ( PlayerInfo[playa][pMuteTime] = 180; )

и чтобы наказанный не мог говорить
во все команды связанные с чатом (/report, /o, /f и т.д.) ставим

Code
if(PlayerInfo[playerid][pMuteTime] > 0)
{
SendClientMessage(playerid, COLOR_GREY , "У вас молчанка");
return 1;
}  

и в public OnPlayerText(playerid, text[]) ставим
Code
if(PlayerInfo[playerid][pMuteTime] > 0)
{
SendClientMessage(playerid, COLOR_GREY , "*Вы не можете говорить, у вас молчанка !");
return 0;
}  

Источник:forum.pawno.ru

Автор - admin
Дата добавления - 01.02.2011 в 03:27:08
World_MakerДата: Среда, 31.08.2011, 03:24:53 | Сообщение # 2

Группа: Пользователи
Сообщений: 2
Я хочу сделать команду в моде так, что-бы не просто затыкало, а ешё выводило написанную администратором причину. К примеру -

/mute id Причина.

В чат выводило бы:

Сервер: Игрок () получил молчанку от администратора () причина: Здесь причина.

Как это осушествить?
 
СообщениеЯ хочу сделать команду в моде так, что-бы не просто затыкало, а ешё выводило написанную администратором причину. К примеру -

/mute id Причина.

В чат выводило бы:

Сервер: Игрок () получил молчанку от администратора () причина: Здесь причина.

Как это осушествить?

Автор - World_Maker
Дата добавления - 31.08.2011 в 03:24:53
adminДата: Среда, 31.08.2011, 13:15:26 | Сообщение # 3

Группа: Администраторы
Сообщений: 3869
World_Maker, так оно и есть.. если /mute наберешь на кого-то игрока то всем будет писать что такой-то тип получил молчанку!


zm-jail.ru

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


 
СообщениеWorld_Maker, так оно и есть.. если /mute наберешь на кого-то игрока то всем будет писать что такой-то тип получил молчанку!

Автор - admin
Дата добавления - 31.08.2011 в 13:15:26
  • Страница 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:40:49
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: