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

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

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

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

дописать/соеденить

[РЕШЕНО]
Статус пользователя Inf19
сообщение 5.2.2017, 14:25
Сообщение #1


Стаж: 10 лет

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

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

Код:

#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[] = "st_ct"; // Название модели для CT
new const model_TE[] = "st_t"; // Название модели для 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/st_ct/st_ct.mdl", model_CT, model_CT);
precache_model(buffer);
formatex(buffer, charsmax(buffer), "models/player/st_t/st_t.mdl", model_TE, model_TE);
precache_model(buffer);
}

public client_putinserver(id)
{
if (is_user_steam(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;
}


плагин скин девушкам

Код:

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

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

public plugin_init()
{

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/ladymodels_tt/ladymodels_tt.mdl", model_CT, model_CT);
precache_model(buffer);
formatex(buffer, charsmax(buffer), "models/player/ladymodels_ct/ladymodels_ct.mdl", model_TE, model_TE);
precache_model(buffer);
}

public client_putinserver(id)
{
if(~get_user_flags(id) & ADMIN_CVAR) 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, 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));
}



Отредактировал: Inf19, - 5.2.2017, 14:27


Установка и настройка Amxbans, CS:BANS, Web - статистик.
Установка и настройка AMX плагинов, модулей, META модулей на сервер
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя IzZeT
сообщение 5.2.2017, 14:51
Сообщение #2
Стаж: 11 лет
Город: Крым

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

А что если использовать этот плагин Custom Models?


Настройки INI

Код:

Настройки в файле custom_models.ini:
Код:
;;; Конфигурационный файл для плагина Custom Models by Neugomon ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Модели можно назначить на:
; 1 - IP
; 2 - STEAMID
; 3 - Флаг доступа
; 4 - Steam игрокам (ключ "#")
; 5 - Всем остальным (ключ "*")

;; Примеры

"127.0.0.1" "mdlbyipt" "mdlbyipct"
"STEAM_0:1:1234" "mdlbysteamt" "mdlbysteamct"
"u" "admint" "adminct"
"t" "vipt" "vipct"
"#" "steamt" "steamct"
"*" "t" "ct"




Прикрепленные файлы:
Прикрепленный файл  custom_models.rar ( 2,18 килобайт ) Кол-во скачиваний: 16


Sabr...ℂ⋆
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Inf19
сообщение 5.2.2017, 15:01
Сообщение #3


Стаж: 10 лет

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

IzZeT, иду попробую)

да всьо ок роботает) спс!

Отредактировал: Inf19, - 5.2.2017, 16:11


Установка и настройка Amxbans, CS:BANS, Web - статистик.
Установка и настройка AMX плагинов, модулей, META модулей на сервер
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: