Доступ к готовым решениям

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

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

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

Мануал Админ-зона [Copy Arizona RP]

KoTT

Начинающий
Пользователь
Регистрация
23 Сен 2016
Сообщения
16
Лучшие ответы
0
Репутация
9
Простая система админ-зоны с Arizona RP.
Знаю, что уже было, но здесь присутствует возможность смены интерьера.

В начало мода:
PHP:
new adm_zone;
static Float:adm_int_coords[3][5] = {
	{2324.419921,-1145.568359,1050.710083,12.0,1.0},
	{1282.8647,-801.7051,1089.9375,5.0,1.0},
	{1210.7197,-2.6083,1000.9219,2.0,1.0}
};
К командам:
PHP:
CMD:az(playerid, params[])
{
	if(!pData[playerid][pAdmin]) return 1;
	new id = playerid;
	if(!sscanf(params,"d",id))
	{
		if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,!"Данный игрок не в сети!");
		SendClientMessage(id,0xFF6347FF, !"Администратор телепортировал вас в админ-зону.");
	}
	SetPlayerPos(id,adm_int_coords[adm_zone][0],adm_int_coords[adm_zone][1],adm_int_coords[adm_zone][2]);
	SetPlayerInterior(id,floatround(adm_int_coords[adm_zone][3]));
	SetPlayerVirtualWorld(id,floatround(adm_int_coords[adm_zone][4]));
	return 1;
}
CMD:changeadminint(playerid, params[])
{
    if(pData[playerid][pAdmin] < 5) return 1;
	new int;
	if(sscanf(params,"d",int)) return SendClientMessage(playerid, -1, !"Используйте: /changeadminint [Номер интерьера (0 - 2)]");
	if(int < 0 || int > 2) return SendClientMessage(playerid, -1, !"Используйте: /changeadminint [Номер интерьера (0 - 2)]");
	static const format_string[] = "[A] %s сменил админ-зону!";
	new string[sizeof(format_string)-2+25];
	format(string,sizeof(string),format_string,pData[playerid][pName]);
	SendAdminMessage(0xFF6347FF,string);
	adm_zone = int;
	return 1;
}
PHP:
stock SendAdminMessage(color = -1,const string[])
{
	foreach(new i : Player)
	{
		if(!pData[i][pAdmin]) continue;
		SendClientMessage(i, color, string);
	}
	return 1;
}

Дополнительно:

pData[playerid][pAdmin] - переменная с админкой.
pData[playerid][pName] - переменная с ником игрока.

PHP:
enum az_info
{
    Float:pPosX,
    Float:pPosY,
    Float:pPosZ,
    pInt,
    pWorld
}
new adm_int_coords[3][az_info] =
{
    {2324.419921,-1145.568359,1050.710083,12,1},
	{1282.8647,-801.7051,1089.9375,5,1},
	{1210.7197,-2.6083,1000.9219,2,1}
};
PHP:
CMD:az(playerid, params[])
{
	if(!pData[playerid][pAdmin]) return 1;
	new id = playerid;
	if(!sscanf(params,"d",id))
	{
		if(!IsPlayerConnected(id)) return SendError(playerid,"Данный игрок не в сети!");
		SendClientMessage(id,0xFF6347FF, !"Администратор телепортировал вас в админ-зону.");
	}
	SetPlayerPos(id,adm_int_coords[adm_zone][pPosX],adm_int_coords[adm_zone][pPosY],adm_int_coords[adm_zone][pPosZ]);
	SetPlayerInterior(id,adm_int_coords[adm_zone][pInt]);
	SetPlayerVirtualWorld(id,adm_int_coords[adm_zone][pWorld]);
	return 1;
}
CMD:changeadminint(playerid, params[])
{
    if(pData[playerid][pAdmin] < 5) return 1;
    new int;
    if(sscanf(params,"d",int)) return SendClientMessage(playerid, -1, !"Используйте: /changeadminint [Номер интерьера (0 - 2)]");
    if(int < 0 || int > 2) return SendClientMessage(playerid, -1, !"Используйте: /changeadminint [Номер интерьера (0 - 2)]");
    static const format_string[] = "[A] %s сменил админ-зону!";
    new string[sizeof(format_string)-2+25];
    format(string,sizeof(string),format_string,pData[playerid][pName]);
    SendAdminMessage(0xFF6347FF,string);
    adm_zone = int;
    return 1;
}
 
Последнее редактирование:
Сверху Снизу