Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Молчанка для Помощников.

Статус
В этой теме нельзя размещать новые ответы.

Romero_Rodrigez

Новичок
Некоторый люди меня всё время спаршивают можешь ли ты сделать что бы помощники давали молчанку.
Специально для вас Ув.игроки.
Здесь ничего нет такого сложного.
В уроке имеется 6 пунктов задания.
Если у вас уже стоит на сервере молчанка,тогда вы просто можете скопировать команду /mat и вставить её в public OnPlayerCommandText(playerid, cmdtext[]):

1.Добовляем в enum pInfo:

PHP:
pMuted,
pMuteTime,
2.Вставляем в public OnPlayerConnect(playerid):

PHP:
PlayerInfo[playerid][pMuteTime] = 0;
3.Вставляем public SetPlayerUnJail:

PHP:
format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
format(var, 32, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var);
4.Вставляем в public OnPlayerSave:

PHP:
format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
format(var, 32, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var);
5.Вставляем в OnPlayerLogin:

PHP:
if( strcmp( key , "Muted" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuted] = strval( val ); }
if( strcmp( key , "MuteTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuteTime] = strval( val ); }
6.Саму команду добовляем в public OnPlayerCommandText(playerid, cmdtext[]):

PHP:
if(strcmp(cmd, "/mat", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "* Используйте: /mat [playerid/PartOfName] [минуты] [причина]);
				return 1;
			}
			new playa,mtime;
			playa = ReturnUser(tmp);
			if (PlayerInfo[playerid][pHelper] >= 1)
			{
			    if(IsPlayerConnected(playa))
			    {
			        if(playa != INVALID_PLAYER_ID)
			        {
					    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						if(PlayerInfo[playa][pMuted] == 0)
						{
						    tmp = strtok(cmdtext, idx);
						    if(!strlen(tmp))
							{
								SendClientMessage(playerid, COLOR_GRAD2, "* Используйте: /mat [playerid/PartOfName] [минуты] [причина]");
								return 1;
							}
						    mtime = strval(tmp);
      				 		new length = strlen(cmdtext);
							while ((idx < length) && (cmdtext[idx] <= ' '))
							{
								idx++;
							}
							new offset = idx;
							new result[64];
							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, "* Используйте: /msay [Текст]");
								return 1;
							}
							PlayerInfo[playa][pMuted] = 1;
							PlayerInfo[playa][pMuteTime] = mtime;
							printf("[RP] LiveCity: %s silenced %s",sendername,  giveplayer);
							format(string, sizeof(string), "*[RP]LiveCity: %s получил молчанку от Помощника %s на %d минут [Причина: %s]",giveplayer,sendername, mtime, result);
							ABroadCast(COLOR_LIGHTRED,string,1);
							SendClientMessage(playa,COLOR_LIGHTRED,string);
						}
						else
						{
							PlayerInfo[playa][pMuted] = 0;
							PlayerInfo[playa][pMuteTime] = 0;
							printf("[RP] LiveCity: %s незаставленный замолчать %s",sendername,  giveplayer);
							format(string, sizeof(string), "[RP] LiveCity: %s снята молчанка Помощником %s",giveplayer ,sendername);
							ABroadCast(COLOR_LIGHTBLUE,string,1);
						}
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!");
			}
		}
		return 1;
	}
На этом всё Спасибо большое за внимание.
Автор этого урока: Romero_Rodrigez.
Тему украл: "Roma_Roller".
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу