Русское сообщество по скриптингу

Модели для админа (Admin Models)

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

Модели для админа (Admin Models)

Сообщение DJ_WEST » 31 авг 2009, 09:39

Автор: KaOs
Версия: 1.1.1

Вы должны зарегистрироваться, чтобы видеть ссылки.

Описание:
У игрока с правами доступа на kick будет меняться модель на админскую.

Установка:
1. Поместите amx_adminmodel.amxx в директорию plugins.
2. Пропишите amx_adminmodel.amxx в plugins.ini.
3. Положите директории 'admin_ct' and 'admin_te' в директорию 'cstrike/models'.

Код:
Код: Выделить всё
/*########################################################################## 
## 
## -- www.SteamTools.net 
##      ___   _____       ___  ___   _   __   _            ___  ___   _____   _      
##     /   | |  _  \     /   |/   | | | |  \ | |          /   |/   | |  _  \ | |      
##    / /| | | | | |    / /|   /| | | | |   \| |         / /|   /| | | | | | | |      
##   / / | | | | | |   / / |__/ | | | | | |\   |        / / |__/ | | | | | | | |      
##  / /  | | | |_| |  / /       | | | | | | \  |       / /       | | | |_| | | |___  
## /_/   |_| |_____/ /_/        |_| |_| |_|  \_|      /_/        |_| |_____/ |_____| 
##                                                        
##          |__                   |__  o _|_   ___   __ __  o |__,  ___  
##      --  |__) (__|     (__(__( |  ) |  |_, (__/_ |  )  ) | |  \ (__/_ 
##                  |                                                    
## 
##   Originated as a simple idea back in 2004, it was forgotten due to 
## lack of my 'Small' coding skills. However I have progressed in recent 
## months and somehow crossed that old post with this concept in it. So 
## naturally I challenged myself to see if I could do it, and voila! I 
## could :) 
## 
##   Once you join, you play a normal person for the first round, and for 
## all remaining rounds your CT or TE models are custom. They now read 
## "ADMIN" on front and back, and also have small "A" patches on the arms. 
## I designed these models myself, it's very easy, just bring the textures 
## into photoshop, tweak out, and replace. 
## 
##   Enjoy! 
## 
## 
## CHANGELOG 
##------------------------------------------------------------------------ 
## 2) v1.1.1 - Fixed missing event 
## 1) v1.1.0 - Fixed VIP and other model bugs 
## 
## 
## INSTALLATION 
##------------------------------------------------------------------------ 
## 1) Unzip (which you may have done already) 
## 2) Place 'amx_adminmodel.amxx' in 'cstrike/addons/amxmodx/plugins' 
## 3) Add a line in 'configs/plugins.ini' containing 'amx_adminmodel.amxx' 
## 4) Put the 'admin_ct' and 'admin_te' folders into 'cstrike/models' folder 
## 5) -- Visit www.SteamTools.net and enjoy your new plugin! 
## 
## 
## 
## THE CVARs 
##------------------------------------------------------------------------ 
## 
## No CVARs for this plugin :) 
## 
## 
##########################################################################*/
    


#include <amxmodx>
#include <amxmisc>
#include <cstrike>

public plugin_init() {
        register_plugin("AMX Admin Model", "1.1.1", "whitemike")
        register_event("ResetHUD", "resetModel", "b")
        return PLUGIN_CONTINUE
}

public plugin_precache() {
        precache_model("models/player/admin_ct/admin_ct.mdl")
        precache_model("models/player/admin_te/admin_te.mdl")

        return PLUGIN_CONTINUE
}

public resetModel(id, level, cid) {
        if (get_user_flags(id) & ADMIN_KICK) {
                new CsTeams:userTeam = cs_get_user_team(id)
                if (userTeam == CS_TEAM_T) {
                        cs_set_user_model(id, "admin_te")
                }
                else if(userTeam == CS_TEAM_CT) {
                        cs_set_user_model(id, "admin_ct")
                }
                else {
                        cs_reset_user_model(id)
                }
        }

        return PLUGIN_CONTINUE
}
 


Утверждено. //Leonidddd
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Модели для админа (Admin Models)

Сообщение qpAHToMAS » 01 мар 2010, 17:11

Походу глючность "cs_get_user_team" функции, есть альтернатива, которая выдает номер команды (1-3 вроде), как называется не помню.
Аватара пользователя
qpAHToMAS
 
Сообщения: 707
Зарегистрирован: 02 ноя 2009, 18:45
Благодарил (а): 79 раз.
Поблагодарили: 204 раз.
Языки программирования: CStrike

Re: Модели для админа (Admin Models)

Сообщение DJ_WEST » 01 мар 2010, 18:02

Походу глючность "cs_get_user_team" функции, есть альтернатива, которая выдает номер команды (1-3 вроде), как называется не помню.

get_user_team
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Модели для админа (Admin Models)

Сообщение ^^Nelegal^^ » 01 мар 2010, 18:47

DJ_West
в исходнике поменять cs_get_user_team на get_user_team?
Аватара пользователя
^^Nelegal^^
 
Сообщения: 36
Зарегистрирован: 01 фев 2010, 00:36
Благодарил (а): 15 раз.
Поблагодарили: 2 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Модели для админа (Admin Models)

Сообщение Co6aka » 01 мар 2010, 19:20

get_user_team тоже не айс
Аватара пользователя
Co6aka
 
Сообщения: 226
Зарегистрирован: 30 авг 2009, 21:19
Благодарил (а): 54 раз.
Поблагодарили: 114 раз.
Языки программирования: Counter-Strike 1.6

Re: Модели для админа (Admin Models)

Сообщение ^^Nelegal^^ » 01 мар 2010, 19:53

Co6aka писал(а):get_user_team тоже не айс

а что айс?
Аватара пользователя
^^Nelegal^^
 
Сообщения: 36
Зарегистрирован: 01 фев 2010, 00:36
Благодарил (а): 15 раз.
Поблагодарили: 2 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Модели для админа (Admin Models)

Сообщение DJ_WEST » 02 мар 2010, 00:26

в исходнике поменять cs_get_user_team на get_user_team?

Просто заменить - нет. Там другой тип переменной.
[pawn]new CsTeams:userTeam cs_get_user_team(id[/pawn]
На:
[pawn]new userTeam get_user_team(id[/pawn]
А также после include добавить:
[pawn]#define CS_TEAM_T 1
#define CS_TEAM_CT 2 
[/pawn]
get_user_team тоже не айс

Почему?
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Модели для админа (Admin Models)

Сообщение Co6aka » 02 мар 2010, 03:00

DJ_WEST, тогда такой вопрос: в каких случаях следует использовать fm_get_user_team ?
Аватара пользователя
Co6aka
 
Сообщения: 226
Зарегистрирован: 30 авг 2009, 21:19
Благодарил (а): 54 раз.
Поблагодарили: 114 раз.
Языки программирования: Counter-Strike 1.6

Re: Модели для админа (Admin Models)

Сообщение DJ_WEST » 02 мар 2010, 03:46

Вопросом на вопрос, отлыниваешь =) И что значит, когда надо использовать fm_get_user_team, под этой функцией может быт ькуча вариантов содержимого, но попробую угадать, речь скорей всего об get_pdata_int. Нет ситуации, когда надо использовать то, когда это. Чем меньше вызовов в модуль, тем лучше. get_user_team - стандартная функция AMXX, а get_pdata_int - это уже нужно подключать fakemeta. Если плагин не использует другие функции FM, то по сути нет смысла его подключать.
Тем более не вижу ничего плохого в get_user_team:
[pawn]static cell AMX_NATIVE_CALL get_user_team(AMX *amxcell *params/* 3 param */
{
    
int index params[1];
    
    if (
index || index gpGlobals->maxClients)
        return -
1;
    
    
CPlayerpPlayer GET_PLAYER_POINTER_I(index);
    
    if (
pPlayer->ingame)
    {
        
// SidLuke, DoD fix
        
if (g_bmod_dod)
        {
            
int iTeam pPlayer->pEdict->v.team;
            
            if (
params[3])
            {
                
char *szTeam "";
                
                switch (
iTeam)
                {
                    case 
1:
                        
szTeam "Allies";
                        break;
                    case 
2:
                        
szTeam "Axis";
                        break;
                }
                
                
set_amxstring(amxparams[2], szTeamparams[3]);
            }
            return 
iTeam;
        }
        
//
        
if (params[3])
        {
            
set_amxstring(amxparams[2], pPlayer->team.c_str(), params[3]);
        }

        return 
pPlayer->teamId;
    }
    
    return -
1;
[/pawn]
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Модели для админа (Admin Models)

Сообщение Co6aka » 02 мар 2010, 03:50

Ок, хорошо, get_user_team = норм штука :-)
Аватара пользователя
Co6aka
 
Сообщения: 226
Зарегистрирован: 30 авг 2009, 21:19
Благодарил (а): 54 раз.
Поблагодарили: 114 раз.
Языки программирования: Counter-Strike 1.6

Re: Модели для админа (Admin Models)

Сообщение ^^Nelegal^^ » 02 мар 2010, 13:15

[pawn]#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define CS_TEAM_T 1
#define CS_TEAM_CT 2

public plugin_init() {
        register_plugin("AMX Admin Model", "1.1.1", "whitemike")
        register_event("ResetHUD", "resetModel", "b")
        return PLUGIN_CONTINUE
}

public plugin_precache() {
        precache_model("models/player/vip_ct/vip_ct.mdl")
        precache_model("models/player/vip_t/vip_t.mdl")

        return PLUGIN_CONTINUE
}

public resetModel(id, level, cid) {
                new userTeam = get_user_team(id)
                if (userTeam == CS_TEAM_T) {
                        cs_set_user_model(id, "vip_t")
                }
                else if(userTeam == CS_TEAM_CT) {
                        cs_set_user_model(id, "vip_ct")
                }
                else {
                        cs_reset_user_model(id)
                }
        }

        return PLUGIN_CONTINUE
} [/pawn]
Сделал как ты сказал, плагин не компилируется.
Аватара пользователя
^^Nelegal^^
 
Сообщения: 36
Зарегистрирован: 01 фев 2010, 00:36
Благодарил (а): 15 раз.
Поблагодарили: 2 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Пред.След.

Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6