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

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

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

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

3 страниц V   1 2 »

Steam Player Model

Статус пользователя Legenda
сообщение 8.12.2014, 12:50
Сообщение #1


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

Стаж: 14 лет

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

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

Плагин позволяет задать модели CT и TER для steam игроков, которые не имеют админ флагов доступа.

Для работы плагина необходимо:

1. в исходном коде указать модели для игроков
Код
///модели для steam игроков, работает только с dproto.
new const model_CT[] = "steam_ct";    // Название модели для CT
new const model_TE[] = "steam_te";    // Название модели для T

где steam_ct и steam_te имена моделей, задавайте уникальные имена моделей!

2. добавить модели на сервер в директорию
../models/player/ с указанием имени модели в пути.
пример:
Код
../models/player/steam_ct/steam_ct.mdl
../models/player/steam_te/steam_te.mdl


3. скомпилировать плагин

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


steam_models.sma

Код:

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

#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;

///модели для steam игроков, работает только с dproto.
new const model_CT[] = "steam_ct"; // Название модели для CT
new const model_TE[] = "steam_te"; // Название модели для T

public plugin_init()
{
///////original code///////
// register_plugin("Lady Models", "0.1b", "Freedo.m");
///////original code///////

register_plugin("Steam Models", "0.1b+mod.leg", "Freedo.m");
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1);
register_forward(FM_SetClientKeyValue, "FM_SetClientKeyValue_Pre", 0);
}

public plugin_precache()
{
//// Author ill ?)
new buffer[128];
formatex(buffer, charsmax(buffer), "models/player/%s/%s.mdl", model_CT, model_CT);
precache_model(buffer);
formatex(buffer, charsmax(buffer), "models/player/%s/%s.mdl", model_TE, model_TE);
precache_model(buffer);
}

public client_putinserver(id)
{
if (is_user_steam(id) && !is_user_admin(id))
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, model_TE);
case CS_TEAM_CT: fm_cs_set_user_model(id, model_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));
}

stock bool:is_user_steam(id)
{
// Author Sh0oter
static dp_pointer;
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false ;
}
return false;
}



ps: автор плагина Freedo.m

Отредактировал: Fred Perry, - 10.2.2015, 20:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 18 раз
   Цитировать сообщение
Статус пользователя Nebo
сообщение 8.12.2014, 12:52
Сообщение #2


Стаж: 11 лет
Город: Казань

Сообщений: 3181
Благодарностей: 1015
Полезность: 701

Legenda, ничем не отличается от этого?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 8.12.2014, 12:56
Сообщение #3


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

Стаж: 14 лет

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

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

Цитата(Nebo @ 8.12.2014, 12:48) *
Legenda, ничем не отличается от этого?

чуть отличается
добавлена проверка на админа
типа
(игрок steam и игрок не админ)

и модель указать достаточно в одном месте.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 8.12.2014, 16:08
Сообщение #4
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Legenda, рекомендую сменить дефолтные модели и образец в описании. А то наплодят различных моделей под именами steam_ct.mdl и steam_te.mdl, и игроки будут видеть совсем не то, что есть на сервере. Лучше пусть папку создают по уникальному имени модели.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 8.12.2014, 16:35
Сообщение #5


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

Стаж: 14 лет

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

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

Цитата(Safety1st @ 8.12.2014, 16:04) *
Legenda, рекомендую сменить дефолтные модели и образец в описании. А то наплодят различных моделей под именами steam_ct.mdl и steam_te.mdl, и игроки будут видеть совсем не то, что есть на сервере. Лучше пусть папку создают по уникальному имени модели.

да что угодно можно поставить, всё равно наплодят)
добавил приписку, пусть придумывают уникальные имена моделей.
так-то ни разу не видел что бы кто-то использовал имена steam_ct.mdl / steam_te.mdl
поэтому такие и указал в плагине)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 8.12.2014, 16:45
Сообщение #6
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

С именами не совсем это имел ввиду. Имя модели задаётся её автором. Если оно само по себе уникальное (это достаточно легко проверить) - то и необходимости менять его нет. Просто положить в одноимённую папку.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя M1cron
сообщение 12.1.2015, 9:20
Сообщение #7


Стаж: 9 лет 3 месяца

Сообщений: 94
Благодарностей: 25
Полезность: 72

Извините, а можно сделать так, чтобы у "Steam" игроков была одна модель, а не делилась на: CT и T.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 12.1.2015, 9:21
Сообщение #8


Стаж: 10 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

M1cron, почему нет?
Код
///модели для steam игроков, работает только с dproto.
new const model_CT[] = "steam_ct";    // Название модели для CT
new const model_TE[] = "steam_ct";    // Название модели для T
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SiziF
сообщение 12.1.2015, 10:48
Сообщение #9


Стаж: 13 лет

Сообщений: 1042
Благодарностей: 133
Полезность: 18

Цитата(Legenda @ 8.12.2014, 12:56) *
чуть отличается
добавлена проверка на админа
типа
(игрок steam и игрок не админ)

и модель указать достаточно в одном месте.



То есть у стим админов все-равно остается своя моделька.Верно?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 12.1.2015, 10:57
Сообщение #10


Стаж: 10 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

SiziF, да, если игрок стим ему ставится модель стима, если игрок стим и админ модель стима ему не ставится.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя TauJIeP
сообщение 12.1.2015, 12:01
Сообщение #11


Стаж: 11 лет
Город: Уральск

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

Есть у кого нормальные steam модели? покидайте сюда
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Egorzbk
сообщение 3.2.2015, 14:03
Сообщение #12
Стаж: 11 лет

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

new buffer[128];
formatex(buffer, charsmax(buffer), "models/player/%s/%s.mdl", model_CT, model_CT);
precache_model(buffer);
formatex(buffer, charsmax(buffer), "models/player/%s/%s.mdl", model_TE, model_TE);
precache_model(buffer);
Здесь надо прописывать модели
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Egorzbk
сообщение 3.2.2015, 14:13
Сообщение #13
Стаж: 11 лет

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

почему модельки не у всех стим игроков работают ?

Отредактировал: Egorzbk, - 3.2.2015, 14:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 3.2.2015, 14:20
Сообщение #14
Стаж: 9 лет 9 месяцев

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(Bloo @ 12.1.2015, 10:57) *
если игрок стим ему ставится модель стима, если игрок стим и админ модель стима ему не ставится.

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Egorzbk
сообщение 3.2.2015, 14:22
Сообщение #15
Стаж: 11 лет

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

а почему не ставится я хотел бы что бы ставилось ?
что сделать что бы админу тоже ставилось

Отредактировал: Egorzbk, - 3.2.2015, 14:23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 3.2.2015, 14:32
Сообщение #16
Стаж: 9 лет 9 месяцев

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Код:
if (is_user_steam(id) && !is_user_admin(id))

заменить на
Код:
if (is_user_steam(id))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Egorzbk
сообщение 3.2.2015, 15:00
Сообщение #17
Стаж: 11 лет

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

Цитата(voed @ 3.2.2015, 15:32) *
Код:
if (is_user_steam(id) && !is_user_admin(id))

заменить на
Код:
if (is_user_steam(id))

все спасибо работает отлично )))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
etkins
сообщение 3.2.2015, 19:35
Сообщение #18
Стаж: 15 лет

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

Вот мой вариант, отдельно модели админу, вип и стим игрокам.

Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <cs_player_models_api>


public plugin_init() {
register_plugin("AMX Admin Model", "1.1.1", "whitemike")
RegisterHam(Ham_Spawn, "player", "hamSpawn", 1)
}

public plugin_precache() {
precache_model("models/player/123/123l.mdl") ; прописываем модель админу
precache_model("models/player/12345/12345.mdl") ; прописываем модель вип
precache_model("models/player/321f/321.mdl") ; прописываем модель стим
}

public hamSpawn(id) {
if (!is_user_alive(id))
return
if (get_user_flags(id) & ADMIN_BAN)
{
switch(get_user_team(id))
{
case 1: cs_set_player_model(id, "123l")
case 2: cs_set_player_model(id, "123")
}
}

if (get_user_flags(id) & ADMIN_LEVEL_H)
{
switch(get_user_team(id))
{
case 1: cs_set_player_model(id, "12345")
case 2: cs_set_player_model(id, "12345")
}
}

if (is_user_steam(id) && !is_user_admin(id))
{
switch(get_user_team(id))
{
case 1: cs_set_player_model(id, "321")
case 2: cs_set_player_model(id, "321")
}
}
}

stock bool:is_user_steam(id)
{
// Author Sh0oter
static dp_pointer;
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false ;
}
return false;
}


Требуется [CS] Player Models API 1.2

Отредактировал: etkins, - 3.2.2015, 19:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя poop
сообщение 9.2.2015, 3:24
Сообщение #19
Стаж: 9 лет 1 месяц

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

использую плагин с первого поста, все работает но я так понимаю его нужно немного поправить для моего сервера т.к использую модели админов.
проблема в том, что модели выдаются только обычным игрокам, вип не получают стим модели, админы не получают админские и стим модели. нужно так, чтобы обычные игроки и вип получали стим модели, админы естественно стим модели. прошу помощи у добрых людей, буду очень благодарен thank_you2.gif

Отредактировал: poop, - 9.2.2015, 3:28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Egorzbk
сообщение 15.2.2015, 15:08
Сообщение #20
Стаж: 11 лет

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

Цитата(poop @ 9.2.2015, 4:24) *
использую плагин с первого поста, все работает но я так понимаю его нужно немного поправить для моего сервера т.к использую модели админов.
проблема в том, что модели выдаются только обычным игрокам, вип не получают стим модели, админы не получают админские и стим модели. нужно так, чтобы обычные игроки и вип получали стим модели, админы естественно стим модели. прошу помощи у добрых людей, буду очень благодарен thank_you2.gif

Код:
1
if (is_user_steam(id) && !is_user_admin(id))

заменить на
Код:
1
if (is_user_steam(id))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
3 страниц V   1 2 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: