kopkan ⇒ сказал про: 15:24
Safety1st ⇒ сказал про: 09:13
BRAARMS ⇒ сказал про: 21:21
shadowless ⇒ сказал про: 00:07
shadowless ⇒ сказал про: 14:59
AMXX Плагины для Сервера CS 1.6
Просмотров: 5827
Добавил: SpeedForce174
AMXX Плагины для Сервера CS 1.6
Просмотров: 4290
Добавил: Bogdan_Kondruk
AMXX Плагины для Сервера CS 1.6
Просмотров: 3259
Добавил: OverGame
Статистика сайта КС
Моделька игрока - Урок №2
На этот раз речь пойдет о модельках и как их присвоить игроку или игрокам. Ну что же, начнем.
Для начала как всегда подключаем библиотеки или же native, которые где то уже объявлены.
После чего создаем двухмерный массив из уже подготовленных данных, где в первой ячейке мы храним строки, а во второй размер строк, размеры не обязательно вручную вводить.
Для присвоения модели игроку мы будем использовать уже готовую функцию cs_set_user_model, исходя из этого все новые модели обязательно должны находиться в директории "models/player/", смотрим пример ниже.
Массив это некоторая матрица, в ячейке которого храниться та или иная информация. Вот вам пример. Нас всегда учили что нужно отсчитывать от 1, но в массивах всегда отсчет идет с 0, то есть 0 это первая строка. Мы создаем матрицу размером 3 на 3, мы можем обратиться к строкам 0, 1 и 2 и столбцам 0, 1 и 2. В каждой ячейке и столбце храниться определенное значение. Давайте обратимся к ячейке с строкой 1 и столбцом 0 в итоге мы получим число 53, в коде обращение будет выглядеть так matrix[1][0], мы можем поменять значение ячейки или же вывести его в любое удобное место.
Вернемся к плагину. Бывают моменты, когда с моделями вместе идет еще одна модель "modelT", то есть в конце названия модели присутствует буква "Т", но это не страшно, закачиваем их рядом друг с другом, то есть в одной папке с "model" (как устроены модели я не знаю, так как не занимаюсь моделированием)
И мы в итоге получим такие строки.
Далее мы кэшируем все новые модели записанные в массив. Тут мы получаем размер первой ячейки памяти массива с помощью "sizeof" и зацикливаем до тех пор, пока не пройдемся по всем строкам. Первая ячейка памяти 0, так как 0 это начальная позиция.
Так как я пишу для CSDM, то использовал уже существующую нативную функцию.
Далее с помощью функции "is_user_connected" мы проверяем, подключен ли игрок к серверу.
Используя "get_user_name" мы получаем ник игрока и заносим в массив "player_name", а "get_user_authid" позволяет нам получить steamid игрока и занести его в массив "steam_id".
После получения всех нужных данных о игроке мы сравниваем его используя "equal". Для проверки прав игрока использовалась функция "get_user_flags". Бывают случаи, когда моделька остается после смены команды, если смена команды выполнена через не известный нам плагин, что бы перестраховаться используем в конце функцию "cs_reset_user_model"
Сложностей при написании плагина не должно возникнуть. Спасибо за внимание
Для начала как всегда подключаем библиотеки или же native, которые где то уже объявлены.
Код
#include amxmodx
#include cstrike
#include csdm
#include cstrike
#include csdm
После чего создаем двухмерный массив из уже подготовленных данных, где в первой ячейке мы храним строки, а во второй размер строк, размеры не обязательно вручную вводить.
Для присвоения модели игроку мы будем использовать уже готовую функцию cs_set_user_model, исходя из этого все новые модели обязательно должны находиться в директории "models/player/", смотрим пример ниже.
Код
new const g_PlayerModels[][] =
{
"models/player/MODEL_NAME/MODEL_NAME.mdl", // модель по нику
"models/player/MODEL_STEAM/MODEL_STEAM.mdl", // модель по steam id
"models/player/MODEL_VIP/MODEL_VIP.mdl" // модель с флагом 'n'
}
{
"models/player/MODEL_NAME/MODEL_NAME.mdl", // модель по нику
"models/player/MODEL_STEAM/MODEL_STEAM.mdl", // модель по steam id
"models/player/MODEL_VIP/MODEL_VIP.mdl" // модель с флагом 'n'
}
Массив это некоторая матрица, в ячейке которого храниться та или иная информация. Вот вам пример. Нас всегда учили что нужно отсчитывать от 1, но в массивах всегда отсчет идет с 0, то есть 0 это первая строка. Мы создаем матрицу размером 3 на 3, мы можем обратиться к строкам 0, 1 и 2 и столбцам 0, 1 и 2. В каждой ячейке и столбце храниться определенное значение. Давайте обратимся к ячейке с строкой 1 и столбцом 0 в итоге мы получим число 53, в коде обращение будет выглядеть так matrix[1][0], мы можем поменять значение ячейки или же вывести его в любое удобное место.
Код
new matrix[][] = {
1,57,2
53,31,7
9,1,30
}
1,57,2
53,31,7
9,1,30
}
Вернемся к плагину. Бывают моменты, когда с моделями вместе идет еще одна модель "modelT", то есть в конце названия модели присутствует буква "Т", но это не страшно, закачиваем их рядом друг с другом, то есть в одной папке с "model" (как устроены модели я не знаю, так как не занимаюсь моделированием)
И мы в итоге получим такие строки.
Код
"models/player/model/model.mdl",
"models/player/model/modelT.mdl"
"models/player/model/modelT.mdl"
Далее мы кэшируем все новые модели записанные в массив. Тут мы получаем размер первой ячейки памяти массива с помощью "sizeof" и зацикливаем до тех пор, пока не пройдемся по всем строкам. Первая ячейка памяти 0, так как 0 это начальная позиция.
Код
public plugin_precache(){
for(new i=0;i<sizeof(g_PlayerModels);i++)
precache_model(g_PlayerModels[i])
}
for(new i=0;i<sizeof(g_PlayerModels);i++)
precache_model(g_PlayerModels[i])
}
Так как я пишу для CSDM, то использовал уже существующую нативную функцию.
Далее с помощью функции "is_user_connected" мы проверяем, подключен ли игрок к серверу.
Используя "get_user_name" мы получаем ник игрока и заносим в массив "player_name", а "get_user_authid" позволяет нам получить steamid игрока и занести его в массив "steam_id".
После получения всех нужных данных о игроке мы сравниваем его используя "equal". Для проверки прав игрока использовалась функция "get_user_flags". Бывают случаи, когда моделька остается после смены команды, если смена команды выполнена через не известный нам плагин, что бы перестраховаться используем в конце функцию "cs_reset_user_model"
Код
public csdm_PostSpawn(id)
{
if(is_user_connected(id)){
new player_name[32], steam_id[33]
get_user_name(id, player_name, 31)
get_user_authid(id, steam_id, 32)
if(equal(player_name,"pro100web")) cs_set_user_model(id, "MODEL_NAME")
else if(equal(steam_id,"STEAM_0:1:1234")) cs_set_user_model(id, "MODEL_STEAM")
else if(get_user_flags(id) & ADMIN_LEVEL_B) cs_set_user_model(id, "MODEL_VIP")
else cs_reset_user_model(id)
}
}
{
if(is_user_connected(id)){
new player_name[32], steam_id[33]
get_user_name(id, player_name, 31)
get_user_authid(id, steam_id, 32)
if(equal(player_name,"pro100web")) cs_set_user_model(id, "MODEL_NAME")
else if(equal(steam_id,"STEAM_0:1:1234")) cs_set_user_model(id, "MODEL_STEAM")
else if(get_user_flags(id) & ADMIN_LEVEL_B) cs_set_user_model(id, "MODEL_VIP")
else cs_reset_user_model(id)
}
}
Сложностей при написании плагина не должно возникнуть. Спасибо за внимание
Установка моделей игроков на сервер.
ПРИ ПОЛНОМ КОПИРОВАНИИ МАТЕРИАЛА - УКАЗЫВАЙТЕ ССЫЛКУ НА CS-AMBA.RU!
- Реклама на сервере
- Читы для Кс 1.6 — Вх | Аим | Спидхак. Использование / Все за и против!!!
- Установка AMXX плагинов на свой сервер
- Прострелы в КС 1.6 — Топ 5 Мега-прострелов
- Правильная Установка Моделей оружия для CS 1.6
- [AMXX #1] Основные события мода
- Как создать свою Раскрутку серверов Cs 1.6
- Руководство по установке спрайтов(взрывы, кровь, выстрелы, радары, прицелы и т.д
Всего комментариев: 3 | |
Можешь подсказать, как установить сабмодель для энтити?
set_pev(ent, pev_body, num) где num первое значение 0
Через engine быстрее entity_set_int(id, EV_INT_body, *номер субмодели)
| |
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
[ Регистрация | Вход ]