P.S. Что то новый дизайн форума очень глючный, не могу выбрать нормальный префикс. Модераторы, поменяйте, если можно.
5 лет назад я выкладывал функцию, которая узнает цвет кожи игрока. Ссылка на старую тему: https://pawno-info.ru/threads/getplayerskincolor.252400/
Смотрел форум, увидел функцию, которая определяет, есть ли очки на скине, вспомнил про свою функцию и решил немного обновить ее, так как с того момента в SAMP завезли новые скины, а так же сделать функцию немного удобней.
GetPlayerSkinColor
Описание:
функция возвращает цвет кожи игрока, в зависимости от его скина
Параметры:
Возвращаемые значения:
Пример использования:
Сама функция:
В начало мода ко всем define:
В конец мода ко всем функциям:
5 лет назад я выкладывал функцию, которая узнает цвет кожи игрока. Ссылка на старую тему: https://pawno-info.ru/threads/getplayerskincolor.252400/
Смотрел форум, увидел функцию, которая определяет, есть ли очки на скине, вспомнил про свою функцию и решил немного обновить ее, так как с того момента в SAMP завезли новые скины, а так же сделать функцию немного удобней.
GetPlayerSkinColor
Описание:
функция возвращает цвет кожи игрока, в зависимости от его скина
Параметры:
playerid | ID игрока, у которого хотим узнать цвет кожи |
Возвращаемые значения:
- SKIN_COLOR_WHITE: Если цвет кожи белый
- SKIN_COLOR_BLACK: Если цвет кожи черный
- SKIN_COLOR_YELLOW: Если цвет кожи желтый (азиаты)
- SKIN_COLOR_BROWN: Не знал как назвать, возвращает цвет кожи латиносов (Вагос, Рифа)
Скин с ID 74 пустой, но в игра считает его аналогичным скину 0 - CJ. Так что функция вернет SKIN_COLOR_BLACK
Пример использования:
C++:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new year, month, day, currentdate;
currentdate = getdate(year, month, day);
if(year == 1950 && GetPlayerSkinColor(playerid) == SKIN_COLOR_BLACK)
{
new vehiclemodel = GetVehicleModel(vehicleid);
if(vehiclemodel == 431 || vehiclemodel == 437) // Автобус
{
RemovePlayerFromVehicle(playerid);
}
}
return 1;
}
Сама функция:
В начало мода ко всем define:
C++:
#define SKIN_COLOR_WHITE 0
#define SKIN_COLOR_BLACK 1
#define SKIN_COLOR_YELLOW 2
#define SKIN_COLOR_BROWN 3
C++:
static stock GetPlayerSkinColor(const playerid)
{
new skinid = GetPlayerSkin(playerid);
switch(skinid)
{
case 0, 4, 5, 7, 9, 13, 14, 16..19, 21..25, 28, 35, 36, 40, 47, 51, 63..67, 74, 76, 79, 80, 83, 84, 86, 102..107, 139, 142..144, 149, 156, 163, 166, 168, 176, 182, 183, 190, 195, 207, 215, 219, 219..222, 238, 243..245, 253, 256, 260, 262, 265..267, 269..271, 273..275, 278, 284, 292, 293, 296..298, 307: return 1;
case 11, 20, 38, 43, 44, 49, 57, 58, 69, 117, 118, 120, 169, 186, 224, 225, 237, 263: return 2;
case 108..110, 114..116, 173..175: return 3;
default: return 0;
}
}