PDA

Просмотр полной версии : [Include] Узнаем пол по скину (az_gender)



ArtZet
15.12.2015, 03:13
Привет всем, с вами ArtZet(KozEL).Пишу RP-Мод, необходима была функция по которой мы узнаем пол скина.Одно лишь упоминание о таком я услышал в "Include svAdons".Однако при попытки его запустить возникали ошибки, да и библиотека весит не мало.Решил написать свою функцию, собственно ей и делюсь.
Описание:

Функция: GetSkinGender(skinid)
*За место переменной skinid - ставится любая переменная типа integer.
*Функция возвращает 3 значения: 0 ( Если скин мужской ), 1 ( Если скин женский ), 2 ( Если скин - 74 (Такого нет) )

Пример применения:

new result[8];
switch(GetSkinGender(GetPlayerSkin(playerid)))
{
case 0: result = "Мужчина";
case 1: result = "Женщина";
case 2: result = "Пусто";
}
SendClientMessage(playerid, -1, result);


Скачать: Yandex (https://yadi.sk/i/bHxORc5HmEFUM)
VT - Не нужен, проверит Yandex

Автор: ArtZet(KozEL) (https://vk.com/russiankozel).
Копирование материала разрешено только с одобрением автора.

Seregamil
15.12.2015, 07:13
Можно было без переменной делать.

Profyan
15.12.2015, 14:13
Зачем инклуд, просто функция.В раздел "функции" тебе.

ArtZet
15.12.2015, 15:50
Я полное управление скинами буду делать в нем, пока только это.

VVWVV
15.12.2015, 15:57
Как вы сами и сказали, вам необходима была функция, а не целая библиотека. Почему для одной-единственной функции используется целый инклюд. Не очень логично, а также не очень логично проверять все мужские скины. Насколько мне известно, женских скинов в игре меньше чем мужских, из этого делается вывод: операций для выявления скина меньше (Каждое число проверяется, например, если посмотреть в ASM, то там будет большое количество команд по типу: «case»).

Desulaid
15.12.2015, 16:04
Как на счет такого варианта?


#define SKIN_GENDER_MALE (1)
#define SKIN_GENDER_FEMALE (2)

static const
player_skin_gender[] =
{
SKIN_GENDER_MALE,
SKIN_GENDER_MALE,
SKIN_GENDER_MALE,
SKIN_GENDER_MALE,
SKIN_GENDER_MALE,
SKIN_GENDER_MALE,
SKIN_GENDER_MALE,
SKIN_GENDER_MALE,
SKIN_GENDER_FEMALE,
SKIN_GENDER_FEMALE
// ...
// ибо мне лень
// отсчитайте 74 скин и вставьте туда какое-нибудь значение
};

А использование куда проще.


if(player_skin_gender[GetPlayerSkin(playerid)] == 1)
{
SendClientMessage(playerid, -1, "Вы мужик.");
}
else if(player_skin_gender[GetPlayerSkin(playerid)] == 2)
{
SendClientMessage(playerid, -1, "Вы шкура.");
}
else
{
SendClientMessage(playerid, -1, "Вы неведома зверушка.");
}

Только по мне все равно идея не очень, при регистрации пол указывается, а при условии пола можно выдавать скин, а тем более узнавать пол игрока. Муторно все это.

ArtZet
15.12.2015, 16:18
Не подумал, перенесите в раздел "Функции" если можно.

- - - Добавлено - - -

Понял, переделаю.

- - - Добавлено - - -

Переделаю