- Регистрация
- 23 Сен 2016
- Сообщения
- 16
- Лучшие ответы
- 0
- Репутация
- 9
Простая система админ-зоны с Arizona RP.
Знаю, что уже было, но здесь присутствует возможность смены интерьера.
В начало мода:
К командам:
Дополнительно:
pData[playerid][pAdmin] - переменная с админкой.
pData[playerid][pName] - переменная с ником игрока.
Знаю, что уже было, но здесь присутствует возможность смены интерьера.
В начало мода:
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;
}
Последнее редактирование: