muv4ansky
Изучающий
- Регистрация
- 30 Окт 2016
- Сообщения
- 832
- Лучшие ответы
- 0
- Репутация
- 119
Доброго времени суток!
Вот вам команда собственного приготовления: /setcolour
Информация:
1. Команда меняет цвет ника игроку.
2. Команда доступна администраторам.
[HR][/HR]
PHP:
CMD:setcolour(playerid,params[])
{
if(PlayerInfo[playerid][переменная админки] < уровень админки) return true;
if(sscanf(params,"ii",params[0],params[1]))
{
SendClientMessage(playerid,0xFF0000FF,"{FFFF00}[Правка]: {FFFFFF}/setcolour [id игрока] [Цвет]");
SendClientMessage(playerid,0xFF0000FF,"Цвета: {ffffff}0=черный 1=белый 2=красный 3=оранжевый 4=желтый 5=зеленый 6=синий 7=фиолетовый 8=коричневый 9=розовый");
return 1;
}
if(params[1] < 0 || params[1] > 9) return SendClientMessage(playerid,COLOR_RED,"Цвета: {ffffff}0=черный 1=белый 2=красный 3=оранжевый 4=желтый 5=зеленый 6=синий 7=фиолетовый 8=коричневый 9=розовый");
new colour[15];
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, sizeof(nick)) ;
switch(params[1])
{
case 0: SetPlayerColor(params[0],0x000000FF),colour = "Черный";
case 1: SetPlayerColor(params[0],0xFFFFFFFF),colour = "Белый";
case 2: SetPlayerColor(params[0],0xFF0000FF),colour = "Красный";
case 3: SetPlayerColor(params[0],0xFF9900FF),colour = "Оранжевый";
case 4: SetPlayerColor(params[0],0xFFFF00FF),colour = "Желтый";
case 5: SetPlayerColor(params[0],0x33FFAAFF),colour = "Зеленый";
case 6: SetPlayerColor(params[0],0x0000FFFF),colour = "Синий";
case 7: SetPlayerColor(params[0],0x800080FF),colour = "Фиолетовый";
case 8: SetPlayerColor(params[0],0x8B4513FF),colour = "Коричневый";
case 9: SetPlayerColor(params[0],0xEEA2ADFF),colour = "Розовый";
}
new string[50];
GetPlayerName(playerid, string, sizeof(string));
format(string, 70, "Вы сменили цвет игроку %s на %s",string,colour);
SendClientMessage(playerid,-1, string);
if(params[0] != playerid)
{
format(string, 70, "{00FF00}Администратор %s сменил вам цвет на %s",string,colour);
SendClientMessage(params[0],-1, string);
}
return 1;
}
[HR][/HR]
PHP:
const
MAX_PLAYER_COLORS = 11,
MAX_PLAYER_COLOR_NAME_LENGTH = 12;
enum e_PLAYER_COLOR_INFO
{
cName[MAX_PLAYER_COLOR_NAME_LENGTH],
cHexCode
};
static const player_color[MAX_PLAYER_COLORS][e_PLAYER_COLOR_INFO] =
{
{"Стандартный", 0xC2C2C2FF},
{"Чёрный", 0x000000FF},
{"Белый", 0xFFFFFFFF},
{"Красный", 0xFF0000FF},
{"Оранжевый", 0xFFA500FF},
{"Желтый", 0xFFFF00FF},
{"Зеленый", 0x013220FF},
{"Синий", 0x0000FFFF},
{"Фиолетовый", 0x8B00FFFF},
{"Коричневый", 0x964B00FF},
{"Розовый", 0xFFC0CBFF}
};
CMD:setpcolor(playerid, params[])
{
extract params -> new player:target, string:color[MAX_PLAYER_COLOR_NAME_LENGTH]; else
return SendClientMessage(playerid, -1, !"Используйте: /setpcolor [ID игрока/часть NickName] [цвет]");
if(target == INVALID_PLAYER_ID)
return 1;
if(!(1 <= strlen(color) <= MAX_PLAYER_COLOR_NAME_LENGTH))
return 1;
for(new i = 0; i < MAX_PLAYER_COLORS; i++)
{
if(!strcmp(player_color[i][cName], color))
{
new
string[46 - 6 + MAX_PLAYER_NAME*2 + 5 + MAX_PLAYER_COLOR_NAME_LENGTH];
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
format(string, sizeof(string), "Администратор %s[%d] установил Вам цвет на: %s.", string, playerid, player_color[i][cName]);
SendClientMessage(target, -1, string);
GetPlayerName(target, string, MAX_PLAYER_NAME);
format(string, sizeof(string), "Вы установили игроку %s[%d] цвет на: %s.", string, target, player_color[i][cName]);
SendClientMessage(playerid, -1, string);
SetPlayerColor(target, player_color[i][cHexCode]);
break;
}
}
return 1;
}
Естественно кто может лучше её сделать , скидывайте.
Последнее редактирование: