Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Помогите с плагином моделей

, Помогите пожалуйста
Статус пользователя Slow
сообщение 17.1.2018, 8:04
Сообщение #1
Стаж: 8 лет 5 месяцев

Сообщений: 19
Благодарностей: 1
Полезность: 0

Всем доброго времени суток. Вот я тут у Вас на форуме нашел плагин "Admin_VIP_Lady models" для смены моделей на сервере для Админ, Вип и девушек. Попытался его немного изменить, чтобы было еще и для обычных игроков. Тоисть, добавил 4 позицию. Все вроде правильно. Плагин скомплиировался, при заходе на сервер модели качаются, но их не видно у Админов.. Помогите, может, что не так переделал??

И еще хотел спросить: Если у меня там для моделей Админов указан флаг "u" (ADMIN_MENU) а для VIP "t" (ADMIN_LEVEL_H) если я себе пропишу эти два флага, какая модель у меня будет в итоге)? Или кто-то захочет Админ+Вип, и пропишу те два флага, то какая в итоге у человека будет модель?

Ниже прикреплю sma, помогите, кто разбирается.. Почему могут не отображатся модели?
Зарание Спасибо!
Прикрепленные файлы:
Прикрепленный файл  AVLU_models.sma ( 3,73 килобайт ) Кол-во скачиваний: 16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя JIuXeP
сообщение 17.1.2018, 15:22
Сообщение #2


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Большая часть админлоадеров не удаляет стандартный флаг игрока при выдаче новых. Полагаю такая же ситуация и у вас. Поэтому всегда отрабатывает первое условие:
Код:
	if (flags & user)
BIT_ADD(g_iBitClientUser, id);

// дальше не дойдет просто...
else if (flags & admin)
BIT_ADD(g_iBitClientAdmin, id);
else if (flags & vip)
BIT_ADD(g_iBitClientVip, id);
else if (flags & lady)
BIT_ADD(g_iBitClientLady, id);

Необходимо проверять на юзера всегда в самом конце...
Код:
	if (flags & admin)
BIT_ADD(g_iBitClientAdmin, id);
else if (flags & vip)
BIT_ADD(g_iBitClientVip, id);
else if (flags & lady)
BIT_ADD(g_iBitClientLady, id);
// если надо просто выдать всем остальным (а оно у вас так и есть при ADMIN_USER) то лучше использовать оператор else, и ничего не надо больше проверять
// else if (flags & user)
else
BIT_ADD(g_iBitClientUser, id);


И еще вы упустили один момент:
Код:
public resetBit(id)
{
BIT_SUB(g_iBitCustomModel, id);
BIT_SUB(g_iBitClientAdmin, id);
BIT_SUB(g_iBitClientVip, id);
BIT_SUB(g_iBitClientLady, id);
BIT_SUB(g_iBitClientUser, id); // <===
}


Цитата
И еще хотел спросить: Если у меня там для моделей Админов указан флаг "u" (ADMIN_MENU) а для VIP "t" (ADMIN_LEVEL_H) если я себе пропишу эти два флага, какая модель у меня будет в итоге)? Или кто-то захочет Админ+Вип, и пропишу те два флага, то какая в итоге у человека будет модель?

Сработает первое условие, где присутствует проверка на флаг u ИЛИ t. В вашем случае:
Код:
	if (flags & admin)
BIT_ADD(g_iBitClientAdmin, id);


Отредактировал: JIuXeP, - 17.1.2018, 15:29
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Slow
сообщение 17.1.2018, 18:39
Сообщение #3
Стаж: 8 лет 5 месяцев

Сообщений: 19
Благодарностей: 1
Полезность: 0

JIuXeP, Спасибо Вам. Вроде все поправил как Вы сказали) Если все ок, то с меня на пиво derisive.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: