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

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

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

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

15 страниц V   1 2 ... 13 14 »

Admin, Vip and Lady models 0.3b обновление от 03.05.2014 (Админ, Вип и Женские модели для Т и СТ)

, Закачик: intercs. Автор: Freedo.m. Дополнение: Legenda
Статус пользователя intercs
сообщение 27.9.2013, 22:01
Сообщение #1


Стаж: 11 лет

Сообщений: 727
Благодарностей: 408
Полезность: 504

Плагин Admin, Vip and Lady models
Версия: 0.3b

О заказчике, авторе и тд.

Закачик плагина: intercs.
Amx-x: Автор: Freedo.m, Skype: aleksando2
Обновление от Legenda (сделал для 3-х флагов, можно поставить модель для Admin, Vip и Женскую модель): Legenda

Сcылка на заказы от intercs, где можно отследить ход заказов и ссылку на готовые заказы: https://c-s.net.ua/forum/topic52524s0.html

Ниже будут представлены 2 версии:
1) Исходник только для одного флага (по умолчанию флаг s). Хорошо подходит либо для назначения флага только админам или, к примеру, для женской аудитории игроков.
2) Исходник для 3-х флагов (по умолчанию флаги: для админов флаг d; для vip флаг t; для игроков, к примеру, для женской аудитории игроков флаг s). Хорошо подходит для тех, кто хочет назначить различные модели Админам, Вип и иным игрокам, к примеру, женские модели женской аудитории.
Но в этих двух исходниках в любом случае можно в папки закинуть разный вид модели как у СТ, так и у Т, чтоб было визуальное различие и восприятие.

================================================================================
Версия исходника только для одного флага (по умолчанию флаг s)
Описание исходника только для одного флага (по умолчанию флаг s):
1) Если у Вас играет много девушек, то этот плагин именно для вашего сервера.
2) Девушкам по флагу s (ADMIN_LEVEL_G) присваивается женская модель игрока, но можно и обделить женскую половину сервера вниманием и просто закинуть Admin модели, вместо женских.
3) Женские модели игроков в архиве у Т и СТ - разные. По дефолту у Т - в камуфляжной зелёной юбке, похожая на террористку. А у СТ - девушка в лёгкой темной спецназовской униформе.
4) Пункт 3 не является исключительным, т.к. можно добавить свои модели.
Можно взять в просторах интернета, к примеру огромный архив моделей игроков можно взять отсюда:
Ссылка на модели 1 (сразу видим перед собой СТ и Т Админ)
Ссылка на модели 2 (больше 900 моделей, наслаждайтесь)

Настройка исходника только для одного флага (по умолчанию флаг s):
1) 32 строка if(~get_user_flags(id) & ADMIN_LEVEL_G) return; = флаг s, т.е. если у Вас стоит на сервере еще плагин для VIP (по флагу t обычно везде по дуфолту), то, чтобы назначить Вип-игроку данную модель (или свою из инета), то надо просто дополнить флаг s (пример в users.ini: st).
2) Обратите внимание, что во-избежании бреда, связанного с тем, что на сервер Вы закачали свои модели, а игроки кидают скрины с какими-то иными моделями, то по дуфолту были изменены названия конечных моеделй по путям в 26 и 27 строках:
precache_model("models/player/ladyadmin_teeee/ladyadmin_teeee.mdl");
precache_model("models/player/ladyadmin_ctttt/ladyadmin_ctttt.mdl");
Тем, самым игрокам перезакачаются с сервера (и не забудьте закинуть модели в быструю загрузку) вашим игрокам и они будут видеть серверные модели, пока кто-то из толковых не захочет сам сменить в своей же кс эти модели на иные.

3) Если Вы захотите поставить еще новее модели, то Вам надо просто сменить у новых моделей названия (дополнить букву или вообще сменить, пример: ladyadmin_teeeeeeeeeeee.mdl) и естественно сменить в конечном пути на это же название precache_model("ladyadmin_teeee.mdl"); для того, чтобы у игроков перезакачались уже эти новые модели для визуальности вида, а также папки, как это описано в пунке 4).

4) При этом, если Вы захотите сменить названия и тд., то обратите внимание, что в строках 48 и 49 тоже стоить сменить название папок (обязательно):
case CS_TEAM_T: fm_cs_set_user_model(id, "ladyadmin_teeee");
case CS_TEAM_CT: fm_cs_set_user_model(id, "ladyadmin_ctttt");


Прикрепленный файл  lady_models.sma ( 2,28 килобайт ) Кол-во скачиваний: 1989


================================================================================
Версия исходника для 3-х флагов (по умолчанию флаги: для админов флаг d; для vip флаг t; для игроков, к примеру, для женской аудитории игроков флаг s)
Описание исходника для 3-х флагов (по умолчанию флаги: для админов флаг d; для vip флаг t; для игроков, к примеру, для женской аудитории игроков флаг s):
1) Если у Вас необычный режим/мод на сервере и Вы планируете для Админов, Випов и иных игроков, к примеру женской половины сервера назначить разные модели для каждого флага отдельно, то этот плагин именно для вашего сервера.
2) По умолчанию флаги: для админов флаг d; для vip флаг t; для игроков, к примеру, для женской аудитории игроков флаг s
3) В архиве только исходник, т.к. не нашел времени искать модели, которые будут по вкусу по дефолту каждому, поэтому женские модели игроков можно взять из архива, где модели по одному флагу, при этом у Т и СТ - разные. По дефолту у Т - в камуфляжной зелёной юбке, похожая на террористку. А у СТ - девушка в лёгкой темной спецназовской униформе.
А модели для Админов и Вип, можно взять в просторах интернета, к примеру огромный архив моделей игроков можно взять отсюда:
Ссылка на модели 1 (сразу видим перед собой СТ и Т Админ)
Ссылка на модели 2 (больше 900 моделей, наслаждайтесь)

Настройка исходника для 3-х флагов (по умолчанию флаги: для админов флаг d; для vip флаг t; для игроков, к примеру, для женской аудитории игроков флаг s):
1) 10 строка #define admin ADMIN_BAN = флаг d
11 строка #define vip ADMIN_LEVEL_H = флаг t
12 строка #define lady ADMIN_LEVEL_G = флаг s
Примечание: т.к. мне самому пока нет надобности использовать данную версию, то уведомляю, что крайне не советую использовать все эти модели по одновременным флагам, во избежании ошибок с наложениями разных моделей друг на друга.
Поэтому меняйте доступы флагов в данной версии под свои нужды... Но я лично не тестировал, но говорят, что если все 3 флага и модели совпадут, то будет видно лишь одно из них. Вообщем не советую одновременно использовать все 3 флага по разным моделям.
Т.е. если у Вас стоит на сервере еще плагин для VIP (по флагу t обычно везде по дуфолту), то у Вип-игрока будет своя Вип-модель, а для Админов или Женских-игроков надо просто избежать выдачи флага t.
2) Читать пункт из версии с 1 флагом и станет все понятно.
3) Читать пункт из версии с 1 флагом и станет все понятно.
4) Читать пункт из версии с 1 флагом и станет все понятно.

Прикрепленный файл  Admin_Vip_Lady_models.sma ( 3,36 килобайт ) Кол-во скачиваний: 2029


==============================================================================
Старые общие модели без надписи СТ и Т на спереди и взади данных моделей:

Прикрепленный файл  ladyadmin_te.rar ( 1,28 мегабайт ) Кол-во скачиваний: 169

Прикрепленный файл  ladyadmin_ct.rar ( 1 мегабайт ) Кол-во скачиваний: 135

Прикрепленное изображение


Внимание! Архивы исходников были перезалиты!
Т.к. изменился путь к моделям (увеличина буква t и e в путях к моделям), т.к. благодаря r1nk0 у нас теперь появились на женских моделях надписи СТ и Т спереди и взади данных моделей.
Общие модели с надписью СТ и Т на спереди и взади данных моделей:
Прикрепленный файл  ladyadmin_teeee.rar ( 1,28 мегабайт ) Кол-во скачиваний: 1146

Прикрепленный файл  ladyadmin_ctttt.rar ( 1 мегабайт ) Кол-во скачиваний: 1017

Прикрепленное изображение

Не забудьте закинуть данные модели в папки быстрой закачки в фаст фтп:
models/player/ladyadmin_teeee/ladyadmin_teeee.mdl
models/player/ladyadmin_ctttt/ladyadmin_ctttt.mdl

==============================================================================
Важное примечание, почему стоить попробывать именно эти версии плагинов, а не те, которые в просторах интернета:
Многие могут не понять зачем ставить именно эти версии плагина, если есть уже давно популярный от Tonda/KaOs/whitemike: http://forums.alliedmods.net/showthread.php?p=97428?
Но... В плагине от Tonda/KaOs/whitemike http://forums.alliedmods.net/showthread.php?p=97428 есть косяк и заключается он в том, что модель там не заменяется, а накладывается N-количество кадров в секунду на стандартную модель, что может вызвать при данном наложении скин женской модели на стандартную модель, виной тому, что в коде от Tonda/KaOs/whitemike есть cs_set_user_model что, может вызвать - Reliable channel overflowed у игрока и он может вылететь с сервера.
Есть ещё плагин: https://c-s.net.ua/forum/topic30721s0.html, но у него код на +1400 строк. Принцип тот же, но функционал работы другой, т.е. можно присвоить по Name, ID, IP. Поэтому и столько бешанных строк. Хотя кому как нравится и дело не в количестве строк. Но плагин от Freedo.m более оптимизирован...
Плюсы кода от Freedo.m: в данной версии от Freedo.m - этот косяк исправлен и модель не накладывается друг на друга, что позволяет использоваться данный плагин в иных модах и не бояться за Reliable channel overflowed.
Пользутесь, пока мы дорбые и бесплатные...


==============================================================================
Просьба по оплате (пожертвования): Я не из бедных, но т.к. обещал, что если никто не хочет скидываться и я без проблем сам оплачу полную сумму за заказ, то данные приватные плагины будут только тогда для себя. Но совесть поборола жадность и ради форумчан я готов делиться, но и от вас жду вместо 1 спасибо, копеечку и за счет этих копеечек будет стимул и дальше развивать нужные и максимально снижающие нагрузку на сервер заказы для всех. sos.gif А именно:

Номер кошелька Яндекс-деньги: 410011718322439
WebMoney Кошелек в Российских Рублях: R301235329004
WebMoney Кошелек в Украинских Гривнах: U278467755263
WebMoney Кошелек в Белорусских руб.: B189503728199
WebMoney Кошелек в Долларах США: Z499502426847
WebMoney Кошелек в Евро: E691436607738

Данное пожертвование будет идти на ещё более супероптимизационные идеи (плагины) с выдачей процента авторам (исполнителям) заказа с целью их стимулирования к выполнению увлекательных заказов!
Не жадничайте... В планах уйма заказов.


Отредактировал: intercs, - 3.7.2014, 15:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Legenda
сообщение 27.9.2013, 23:04
Сообщение #2


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

описание поправь
Цитата
Есть ещё плагин: https://c-s.net.ua/forum/topic30721s0.html, но у него код на +1400 строк. Но там иной принцип работы

на
Цитата
Принцип тот же, функционал другой


плагин отличный

Отредактировал: Legenda, - 27.9.2013, 23:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя intercs
сообщение 27.9.2013, 23:07
Сообщение #3


Стаж: 11 лет

Сообщений: 727
Благодарностей: 408
Полезность: 504

Цитата(Legenda @ 28.9.2013, 1:04) *
описание поправь

на


плагин отличные



Поправил.
Удалите пост-) И этот тоже.
Мне кто-то 200 рублей прислал и не признаётся-))) Ощущение, что это Legenda. Благодарность. Эти деньги для стимула и пойдут на иные заказы...
пришли на киви от неизвестного +790*****4997

/DEL

Отредактировал: intercs, - 27.9.2013, 23:12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 27.9.2013, 23:28
Сообщение #4


Стаж: 12 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Я комментарий оставлял в платёжке)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя intercs
сообщение 27.9.2013, 23:41
Сообщение #5


Стаж: 11 лет

Сообщений: 727
Благодарностей: 408
Полезность: 504

Цитата(gudaus @ 28.9.2013, 1:28) *
Я комментарий оставлял в платёжке)


А я начал пробивать и ник на форуме не отобразился-) Я подумал, что GUDAUS = это спасибо на каком-то языке) GUD AUS(трия или тралия)-)))

Отредактировал: intercs, - 27.9.2013, 23:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 27.9.2013, 23:59
Сообщение #6


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(intercs @ 28.9.2013, 1:07) *
Поправил.
Удалите пост-) И этот тоже.
Мне кто-то 200 рублей прислал и не признаётся-))) Ощущение, что это Legenda. Благодарность. Эти деньги для стимула и пойдут на иные заказы...
пришли на киви от неизвестного +790*****4997

/DEL

нет
это точно не я
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя intercs
сообщение 28.9.2013, 0:02
Сообщение #7


Стаж: 11 лет

Сообщений: 727
Благодарностей: 408
Полезность: 504

Цитата(Legenda @ 28.9.2013, 1:59) *
нет
это точно не я


А я и не намекаю ни на что-) И ни в коем случае не пропагандирую, т.к. это дело сугубо личное...
/Del
Всё завязываем-)
Просто испытал потерю девственности Qiwi-кошелька от данной темы-))) Спасибо gudaus.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nsgenn
сообщение 28.9.2013, 0:18
Сообщение #8


Стаж: 10 лет

Сообщений: 885
Благодарностей: 561
Полезность: 667

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

а, хотелось еще добавить.. о каком эстетическом удовольствии может идти речь, если игрок своей модели не видит?

Отредактировал: nsgenn, - 28.9.2013, 0:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 28.9.2013, 2:08
Сообщение #9


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(nsgenn @ 28.9.2013, 2:18) *
у многих платных программ есть бесплатные аналоги, это же относится и к плагинам.
ну как говорится.. у богатых свои причуды.

а, хотелось еще добавить.. о каком эстетическом удовольствии может идти речь, если игрок своей модели не видит?

видит
если поставить специальный плагин
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 28.9.2013, 22:37
Сообщение #10


Стаж: 12 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Кто будет пользоваться плагином - советую в исходнике поменять путь к моделям. Дело в том, что именно этот путь и именно это название моделей и папок используется другим плагином Lady Admin. Допустим, игрок зашёл на левый сервер с плагином Lady Admin. Там ему скачалась секретарша в чулках. Далее он заходит к вам. Сервер смотрит, что по этому адресу что-то уже лежит, и не качает вашу модель. В итоге кто-то видит девку в камуфляже, кто-то секретаршу, кто-то вообще сейлор мун.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nsgenn
сообщение 28.9.2013, 23:27
Сообщение #11


Стаж: 10 лет

Сообщений: 885
Благодарностей: 561
Полезность: 667

Цитата(gudaus @ 29.9.2013, 0:37) *
Кто будет пользоваться плагином - советую в исходнике поменять путь к моделям. Дело в том, что именно этот путь и именно это название моделей и папок используется другим плагином Lady Admin. Допустим, игрок зашёл на левый сервер с плагином Lady Admin. Там ему скачалась секретарша в чулках. Далее он заходит к вам. Сервер смотрит, что по этому адресу что-то уже лежит, и не качает вашу модель. В итоге кто-то видит девку в камуфляже, кто-то секретаршу, кто-то вообще сейлор мун.


на сервер не пустит
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 28.9.2013, 23:40
Сообщение #12


Стаж: 12 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Ещё как пустит. Это же не карта. Можно воткнуть хоть дерево вместо игрока. Вот тебе бегающая пальма из тускана
Скрин
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
Статус пользователя intercs
сообщение 28.9.2013, 23:45
Сообщение #13


Стаж: 11 лет

Сообщений: 727
Благодарностей: 408
Полезность: 504

Цитата(gudaus @ 29.9.2013, 1:40) *
Ещё как пустит. Это же не карта. Можно воткнуть хоть дерево вместо игрока. Вот тебе бегающая пальма из тускана
Скрин



Зачем менять путь?
Можно просто сменить название модели...
Хотя можно и путь разницы нет... pardon.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 29.9.2013, 0:57
Сообщение #14


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

название файлов должно быть уникальным)
при совпадении имен файлы не будут скачиваться на клиент, будут использоваться старые файлы уже существующие на клиенте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя intercs
сообщение 2.10.2013, 22:25
Сообщение #15


Стаж: 11 лет

Сообщений: 727
Благодарностей: 408
Полезность: 504

Цитата(Legenda @ 29.9.2013, 2:57) *
название файлов должно быть уникальным)
при совпадении имен файлы не будут скачиваться на клиент, будут использоваться старые файлы уже существующие на клиенте


Так я и пишу про файлы, на всякий случай, если держатель сервера захотел те модели, которые я выложил (они не стандартные, как в плагине Тонга), то лучше и правда переименовать модели, чтоб они скачались заного-)

Вместо ladyadmin_te и ladyadmin_ct
Скрытый текст
Код:
	precache_model("models/player/ladyadmin_te/ladyadmin_te.mdl");
precache_model("models/player/ladyadmin_ct/ladyadmin_ct.mdl");
}

public client_putinserver(id)
{
if(~get_user_flags(id) & ADMIN_LEVEL_G) return;
BIT_ADD(g_iBitClientAccess, id);
}

public client_disconnect(id)
{
BIT_SUB(g_iBitClientAccess, id);
BIT_SUB(g_iBitCustomModel, id);
}

public Ham_PlayerSpawn_Post(id)
{
if(BIT_VALID(g_iBitClientAccess, id) && is_user_alive(id))
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T: fm_cs_set_user_model(id, "ladyadmin_te");
case CS_TEAM_CT: fm_cs_set_user_model(id, "ladyadmin_ct");


Можно переименовать в _____ и соответственно и сами файлы, к примеру: ladyadmin_teee ladyadmin_cttt
Скрытый текст
Код:
	precache_model("models/player/ladyadmin_te/ladyadmin_teee.mdl");
precache_model("models/player/ladyadmin_ct/ladyadmin_cttt.mdl");
}

public client_putinserver(id)
{
if(~get_user_flags(id) & ADMIN_LEVEL_G) return;
BIT_ADD(g_iBitClientAccess, id);
}

public client_disconnect(id)
{
BIT_SUB(g_iBitClientAccess, id);
BIT_SUB(g_iBitCustomModel, id);
}

public Ham_PlayerSpawn_Post(id)
{
if(BIT_VALID(g_iBitClientAccess, id) && is_user_alive(id))
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T: fm_cs_set_user_model(id, "ladyadmin_teee");
case CS_TEAM_CT: fm_cs_set_user_model(id, "ladyadmin_ctttt");


Может, чтоб не париться людям, перезалить исходник сразу с названием: ladyadmin_teee ladyadmin_ctttt ???

Отредактировал: intercs, - 2.10.2013, 22:30
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 2.10.2013, 23:07
Сообщение #16


Стаж: 12 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Чтобы было 100 серверов с таким же названием модели? Я обратил внимание на проблему, когда мне о ней написали игроки. И сразу решил и отписал сюда. Если на некоторых серверах игрокам пох или нет форума/сайта, то это говносервера, на которые не стоит обращать внимание.
Можно просто в описании темы повесить предупреждение - и хватит.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 20.10.2013, 18:50
Сообщение #17


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

очень хотелось бы видеть комментарии к коду плагина)
не понял некоторую математику))
Код
#define BIT_VALID(%1,%2) ((%1) & (1 << ((%2) - 1)))
#define BIT_ADD(%1,%2) ((%1) |= (1 << ((%2) - 1)))
#define BIT_SUB(%1,%2) ((%1) &= ~(1 << ((%2) - 1)))
#define BIT_NOT_VALID(%1,%2) (~(%1) & (1 << ((%2) - 1)))

BIT_ADD(g_iBitClientAccess, id);
BIT_SUB(g_iBitClientAccess, id);


может кто пояснит как это работает?
что именно делает - понятно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Jostx
сообщение 24.10.2013, 18:53
Сообщение #18
Стаж: 13 лет

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

модели женские то есть, а руки остались мужские =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 24.10.2013, 19:42
Сообщение #19


Иконка группы

Стаж: 13 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Пытался поставить данный плагин вместе amx_adminmodel сервер всех кикает за переполнение канал... может быть сюда можно добавить еще один флаг и еще пару моделей?...
Повкуривал в код, ничего не понимаю, может выручит кто?
С прекешем все ясно, а вот проверку делать отдельно, или сюда же пилить еще одну проверку?
Например с флагом C (ADMIN_KICK)

Код:

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#pragma semicolon 1

#define MAX_PLAYERS 32

#define BIT_VALID(%1,%2) ((%1) & (1 << ((%2) - 1)))
#define BIT_ADD(%1,%2) ((%1) |= (1 << ((%2) - 1)))
#define BIT_SUB(%1,%2) ((%1) &= ~(1 << ((%2) - 1)))
#define BIT_NOT_VALID(%1,%2) (~(%1) & (1 << ((%2) - 1)))

new g_iBitClientAccess, g_iBitCustomModel;

public plugin_init()
{
register_plugin("Lady Models", "0.1b", "Freedo.m");
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1);
register_forward(FM_SetClientKeyValue, "FM_SetClientKeyValue_Pre", 0);
}

public plugin_precache()
{
precache_model("models/player/ladyadmin_te/ladyadmin_te.mdl");
precache_model("models/player/ladyadmin_ct/ladyadmin_ct.mdl");

}

public client_putinserver(id)
{
if(~get_user_flags(id) & ADMIN_LEVEL_G) return;
BIT_ADD(g_iBitClientAccess, id);
}

public client_disconnect(id)
{
BIT_SUB(g_iBitClientAccess, id);
BIT_SUB(g_iBitCustomModel, id);
}

public Ham_PlayerSpawn_Post(id)
{
if(BIT_VALID(g_iBitClientAccess, id) && is_user_alive(id))
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T: fm_cs_set_user_model(id, "ladyadmin_te");
case CS_TEAM_CT: fm_cs_set_user_model(id, "ladyadmin_ct");
}
}
}

new g_szPlayerModel[MAX_PLAYERS + 1][32];

public FM_SetClientKeyValue_Pre(id, const szInfobuffer[], const szKey[])
{
if(BIT_VALID(g_iBitCustomModel, id) && equal(szKey, "model"))
{
static szCurrentModel[32];
fm_cs_get_user_model(id, szCurrentModel, charsmax(szCurrentModel));
if(!equal(szCurrentModel, g_szPlayerModel[id])) fm_cs_set_user_model(id, g_szPlayerModel[id]);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}

stock fm_cs_get_user_model(id, szModel[], szLen) engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModel, szLen);
stock fm_cs_set_user_model(id, const szModelName[])
{
engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModelName);
copy(g_szPlayerModel[id], charsmax(g_szPlayerModel[]), szModelName);
BIT_ADD(g_iBitCustomModel, id);
}

stock fm_cs_reset_user_model(id)
{
BIT_SUB(g_iBitCustomModel, id);
dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id));
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 24.10.2013, 20:59
Сообщение #20


Иконка группы

Стаж: 14 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

легко могу запилить
что именно нужно?
отдельная моделька для игроков с определенным флагом?

upd:запилил
флаги проверяются по порядку, в зависимости от флага - будет выбрана нужная модель CT/TE
Код
#define lady ADMIN_LEVEL_H
#define admin ADMIN_BAN
#define vip ADMIN_LEVEL_G

думаю что и где менять - думаю понятно

lady_models_3f.sma

Код
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#pragma semicolon 1

#define MAX_PLAYERS 32

#define admin ADMIN_BAN
#define vip ADMIN_LEVEL_G
#define lady ADMIN_LEVEL_H

#define BIT_VALID(%1,%2) ((%1) & (1 << ((%2) - 1)))
#define BIT_ADD(%1,%2) ((%1) |= (1 << ((%2) - 1)))
#define BIT_SUB(%1,%2) ((%1) &= ~(1 << ((%2) - 1)))
#define BIT_NOT_VALID(%1,%2) (~(%1) & (1 << ((%2) - 1)))

new g_iBitClientAdmin, g_iBitClientVip, g_iBitClientLady, g_iBitCustomModel;

public plugin_init()
{
    register_plugin("Lady Models", "0.2b", "Freedo.m +mod.Leg");
    RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1);
    register_forward(FM_SetClientKeyValue, "FM_SetClientKeyValue_Pre", 0);
}

public plugin_precache()
{
    precache_model("models/player/ladyadmin_te/lady_te.mdl");
    precache_model("models/player/ladyadmin_ct/lady_ct.mdl");

    precache_model("models/player/ladyadmin_te/admin_te.mdl");
    precache_model("models/player/ladyadmin_ct/admin_ct.mdl");

    precache_model("models/player/ladyadmin_te/vipp_te.mdl");
    precache_model("models/player/ladyadmin_ct/vipp_ct.mdl");
}

public client_putinserver(id)
{
    resetBit(id);

    new flags = get_user_flags(id);
    if (flags & lady)
        BIT_ADD(g_iBitClientLady, id);
    else if (flags & admin)
        BIT_ADD(g_iBitClientAdmin, id);
    else if (flags & vip)
        BIT_ADD(g_iBitClientVip, id);
}

public client_disconnect(id)
{
    resetBit(id);
}
public resetBit(id)
{
    BIT_SUB(g_iBitCustomModel, id);
    BIT_SUB(g_iBitClientLady, id);
    BIT_SUB(g_iBitClientAdmin, id);
    BIT_SUB(g_iBitClientVip, id);
}

public Ham_PlayerSpawn_Post(id)
{
    if(BIT_VALID(g_iBitClientLady, id) && is_user_alive(id))
    {
        switch(cs_get_user_team(id))
        {
            case CS_TEAM_T: fm_cs_set_user_model(id, "lady_te");
            case CS_TEAM_CT: fm_cs_set_user_model(id, "lady_ct");
        }
    }

    else if(BIT_VALID(g_iBitClientAdmin, id) && is_user_alive(id))
    {
        switch(cs_get_user_team(id))
        {
            case CS_TEAM_T: fm_cs_set_user_model(id, "admin_te");
            case CS_TEAM_CT: fm_cs_set_user_model(id, "admin_ct");
        }
    }

    else if(BIT_VALID(g_iBitClientVip, id) && is_user_alive(id))
    {
        switch(cs_get_user_team(id))
        {
            case CS_TEAM_T: fm_cs_set_user_model(id, "vipp_te");
            case CS_TEAM_CT: fm_cs_set_user_model(id, "vipp_ct");
        }
    }

}

new g_szPlayerModel[MAX_PLAYERS + 1][32];

public FM_SetClientKeyValue_Pre(id, const szInfobuffer[], const szKey[])
{
    if(BIT_VALID(g_iBitCustomModel, id) && equal(szKey, "model"))
    {
        static szCurrentModel[32];
        fm_cs_get_user_model(id, szCurrentModel, charsmax(szCurrentModel));
        if(!equal(szCurrentModel, g_szPlayerModel[id])) fm_cs_set_user_model(id, g_szPlayerModel[id]);
        return FMRES_SUPERCEDE;
    }
    return FMRES_IGNORED;
}

stock fm_cs_get_user_model(id, szModel[], szLen) engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModel, szLen);
stock fm_cs_set_user_model(id, const szModelName[])
{
    engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModelName);
    copy(g_szPlayerModel[id], charsmax(g_szPlayerModel[]), szModelName);
    BIT_ADD(g_iBitCustomModel, id);
}

stock fm_cs_reset_user_model(id)
{
    BIT_SUB(g_iBitCustomModel, id);
    dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id));
}



[attachment=21460:lady_models_3f.sma]

Отредактировал: Legenda, - 25.10.2013, 15:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
15 страниц V   1 2 ... 13 14 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: