shape1
shape2
shape3
shape4
shape7
shape8

Заморозка и разморозка игрока


Статус
Закрыто для дальнейших ответов.

TheSeLToN

Участник
Пользователь
21.09.2014
452
125
0
Всем привет.

Вот решил выложить заморозку и разморозку игрока (доступно только для администраторов).

В public OnPlayerCommandText(playerid, cmdtext[]):

В начало public`а:

new string[256];
new giveplayer[MAX_PLAYER_NAME];
new giveplayerid, idx;
new cmd[256], tmp[256];
new sendername[MAX_PLAYER_NAME];
cmd = strtok(cmdtext, idx);
Ниже добавляем сами команды:

else if(strcmp(cmd, "/freeze", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 1) <------ Тут ставим свой уровень Администратора который может использовать данную команду
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Введите: /freeze [id]");
new playa;
playa = ReturnUser(tmp);
if(PlayerInfo[playa][pAdmin] > 0) return SendClientMessage(playerid, COLOR_RED, "Администратор не может быть заморожен");
if (PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
TogglePlayerControllable(playa, 0);
format(string, sizeof(string), "Администратор %s заморозил %s",sendername, giveplayer);
printf("%s",string);
format(string, sizeof(string), "%s был заморожен Администраторов %s",giveplayer ,sendername);
ABroadCast(COLOR_LIGHTRED,string,1);
}
}
}
else SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать данную команду!");
}
return true;
}

Код:
else if(strcmp(cmd, "/unfreeze", true) == 0)
{
    if(PlayerInfo[playerid][pAdmin] >= 1) <------ Тут ставим свой уровень Администратора который может использовать данную команду
    {
        tmp = strtok(cmdtext, idx);
	if(!strlen(tmp))
	{
	    SendClientMessage(playerid, COLOR_GRAD2, "Введите: /unfreeze [id]");
	    return true;
	}
	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));
		    TogglePlayerControllable(playa, 1);
		    format(string, sizeof(string), "Администратор %s разоморозил %s",sendername,  giveplayer);
		    printf("%s",string);
		    format(string, sizeof(string), "Администратор %s разморозил %s ",sendername, giveplayer);
		    ABroadCast(COLOR_LIGHTRED,string,1);
		}
	    }
	}
	else SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать данную команду!");
    }
    return true;
}
Ко всем forward:

forward ABroadCast(color,const string[],level);

Ко всем public`ам:

public ABroadCast(color,const string[],level)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[pAdmin] >= level)
{
SendClientMessage(i, color, string);
}
}
}
return true;
}



Если буду проблемы, то пишите в данную тему, будем решать :D83DDE0F:   Удачи!

 
Последнее редактирование модератором:

Joe

Новичок
Пользователь
20.09.2014
170
11
0
24
Мне кажется у всех в моде есть эта команда.

 

BlaqStarr

Освоившийся
Пользователь
23.07.2014
329
27
0
25
Это во всех модах есть не пойму зачем выкладывать :D83CDF1D:

 

BlaqStarr

Освоившийся
Пользователь
23.07.2014
329
27
0
25
Модов полно,я могу поспорить что на компе у всех есть не один сервер!

 
Статус
Закрыто для дальнейших ответов.