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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Admin Models. (через submodel)

Статус пользователя soneekk
сообщение 30.8.2014, 19:39
Сообщение #1


Стаж: 13 лет

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

здравствуйте, ищу плагин admin & vip models, но хочу чтобы модельки выдавались через submodel , вроде вот сейчас нашел плагин Admin, Vip and Lady models 0.3b , может ли кто то помочь переделать ? спасибо зарание .

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

#pragma semicolon 1

#define MAX_PLAYERS 32

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

#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("Admin, Vip and Lady models", "0.3b", "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/lady_teeee/lady_teeee.mdl");
precache_model("models/player/lady_ctttt/lady_ctttt.mdl");

precache_model("models/player/admin_teeee/admin_teeee.mdl");
precache_model("models/player/admin_ctttt/admin_ctttt.mdl");

precache_model("models/player/vipp_teeee/vipp_teeee.mdl");
precache_model("models/player/vipp_ctttt/vipp_ctttt.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 (is_user_alive(id))
{
if(BIT_VALID(g_iBitClientLady, id))
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T: fm_cs_set_user_model(id, "lady_teeee");
case CS_TEAM_CT: fm_cs_set_user_model(id, "lady_ctttt");
}
}

else if(BIT_VALID(g_iBitClientAdmin, id))
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T: fm_cs_set_user_model(id, "admin_teeee");
case CS_TEAM_CT: fm_cs_set_user_model(id, "admin_ctttt");
}
}

else if(BIT_VALID(g_iBitClientVip, id))
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T: fm_cs_set_user_model(id, "vipp_teeee");
case CS_TEAM_CT: fm_cs_set_user_model(id, "vipp_ctttt");
}
}
else fm_cs_reset_user_model(id);
}

}

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));
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 30.8.2014, 20:08
Сообщение #2


Стаж: 12 лет

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

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