Admin Precache [En Solución]
#1
Código PHP:
#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/Model_AdminCT/Model_AdminCT.mdl")
        
precache_model("models/player/Model_AdminCT/Model_AdminCTT.mdl")
        
precache_model("models/player/Model_AdminTT/Model_AdminTT.mdl")
        
precache_model("models/player/Model_AdminTT/Model_AdminTTT.mdl")

        return 
PLUGIN_CONTINUE
}

public 
resetModel(idlevelcid) {
        if (
get_user_flags(id) & ADMIN_LEVEL_A) {
                new 
CsTeams:userTeam cs_get_user_team(id)
                if (
userTeam == CS_TEAM_T) {
                        
cs_set_user_model(id"OWNER_TT")
                }
                else if(
userTeam == CS_TEAM_CT) {
                        
cs_set_user_model(id"OWNER_CT")
                }
                else {
                        
cs_reset_user_model(id)
                }
        }
        return 
PLUGIN_CONTINUE


Perdonen pero este plugins de admin precache solo se le puede poner al admin que tenga el nombre de OWNER?
Responder
#2
No.

Para asignar dicho models, se utiliza esto
Código PHP:
get_user_flags(id) & ADMIN_LEVEL_A 
aca pones el acceso a dicho admin, todo se encuentra en user.ini

Saludos. Mario
Mis proyectos.

[ Venta o aporte ] CTF + COD ❣❣

[ Venta o aporte ] BaseBuilder Levels. ❣❣

[ Venta o aporte ] ZombiePlague Levels v1 ❣❣

Sí necesitas ayuda y tengo tiempo y puedo ayudarte, no dudes en contactarme.

Frase diaria:
[ Si el plan falla cambia el plan pero nunca cambies la meta. ]
_______________________________________________________________________________________
Responder
#3
para poner un admin precache y otro normal como deberia de quedar el codigo?
Responder
#4
un admin precache y otro normal ? estas un poco confundido al respecto, todo model que vayas a usar se precachea para que los jugadores lo descarguen del servidor

ahi se ve que estas usando models llamados owner_ct y owner_tt pero no los estas pracacheando, por lo que podria ser que el servidor se caiga al setear el model

que es exactamente lo que estas queriendo hacer ?
Responder
#5
Disculpa mi falta de experiencia. lo que quiero hacer es que el servidor pueda aceptar un models EJEMPLO:

Cita:models/administrador/admin.mdl
models/administrador/adminT.mdl

CT:

models/administrador/admin.mdl

NOTA: el ct no tiene el precache. nose si me hago entender.
Responder
#6
Código PHP:
#include < amxmodx >
#include < cstrike >
#include < hamsandwich >

new bool:g_bAdmin33 ];

public 
plugin_init( ) {
    
register_plugin"Admin Model""1.2""whitemike" );
    
    
RegisterHamHam_Spawn"player""FwdHamPlayerSpawn");
}

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

public 
client_putinserverid )
    
g_bAdminid ] = bool:( get_user_flagsid ) & ADMIN_KICK );

public 
client_disconnectid )
    
g_bAdminid ] = false;

public 
FwdHamPlayerSpawn( const id ) {
    if( 
g_bAdminid ] && is_user_aliveid ) ) {
        switch( 
cs_get_user_teamid ) ) {
            case 
CS_TEAM_Tcs_set_user_modelid"admin_te" );
            case 
CS_TEAM_CTcs_set_user_modelid"admin_ct" );
        }
    }

Responder
#7
(14/09/2018, 07:38 PM)La Renga Mk escribió:
Código PHP:
#include < amxmodx >
#include < cstrike >
#include < hamsandwich >

new bool:g_bAdmin33 ];

public 
plugin_init( ) {
    
register_plugin"Admin Model""1.2""whitemike" );
    
    
RegisterHamHam_Spawn"player""FwdHamPlayerSpawn");
}

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

public 
client_putinserverid )
    
g_bAdminid ] = bool:( get_user_flagsid ) & ADMIN_KICK );

public 
client_disconnectid )
    
g_bAdminid ] = false;

public 
FwdHamPlayerSpawn( const id ) {
    if( 
g_bAdminid ] && is_user_aliveid ) ) {
        switch( 
cs_get_user_teamid ) ) {
            case 
CS_TEAM_Tcs_set_user_modelid"admin_te" );
            case 
CS_TEAM_CTcs_set_user_modelid"admin_ct" );
        }
    }


mas o menos me estas entendiendo pero no es ese, quiero que el plugins sea igual a los 2, que tenga un models precacheado y otro normal. asi como especifique en el ejemplo

Código PHP:
#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/Model_AdminCT/Model_Adminct.mdl")
        
precache_model("models/player/Model_AdminTT/Model_AdminTT.mdl")
        
precache_model("models/player/Model_AdminTT/Model_AdminTTT.mdl")

        return 
PLUGIN_CONTINUE
}

public 
resetModel(idlevelcid) {
        if (
get_user_flags(id) & ADMIN_LEVEL_A) {
                new 
CsTeams:userTeam cs_get_user_team(id)
                if (
userTeam == CS_TEAM_T) {
                        
cs_set_user_model(id"OWNER_TT")
                }
                else if(
userTeam == CS_TEAM_CT) {
                        
cs_set_user_model(id"OWNER_CT")
                }
                else {
                        
cs_reset_user_model(id)
                }
        }
        return 
PLUGIN_CONTINUE

Responder
#8
te puedes guiar con esto.

https://amxmodx-es.com/Thread-AYUDA-RESU...#pid148856
[Imagen: 76561198350936449.png]

Cita:Los precios en la moneda venezolana se fijarán a partir de la reconversión monetaria y valdrá mucho menos de lo que cuesta una Cachapa con queso.
Responder
#9
Como vas a setear el model OWNER_TT sí estás precacheando Model_AdminTTT.mdl Oh god why
Responder
#10
'angelito escribió:quiero que el plugins sea igual a los 2, que tenga un models precacheado y otro normal. asi como especifique en el ejemplo

no tengo ni idea si se puede hacer lo que pedis

No es lo que pedis pero te puede servir

Código PHP:
#include <amxmodx>
#include <cstrike>

/*================================================================================
 [SECCION EDITABLE]
=================================================================================*/

// Comando de chat para abrir el menu de modelos
new const COMANDO[] = "/models"

// Nivel de admin requerido para tener acceso al menu de modelos
const NIVEL_DE_ADMIN ADMIN_BAN

// Directorio de los models. Asegurate que siempre esten en models/player/...
// Puedes agregar y quitar los que quieras.
new const MODELS[][] =
{
    
"admin1"    // Debe estar en models/player/admin1/admin1.mdl
    
,"admin2"    // Lo mismo para todos. Si incluye un modelT.mdl
    
,"admin3"    // El plugin lo cargara automaticamente.
};

// Nombres de los models para mostrar en el menu.
// Asegurate de poner nombres para todos los models que has puesto arriba
new const NOMBRES[sizeof(MODELS)][] =
{
    
"Nombre del model 1"
    
,"Nombre del model 2"
    
,"Nombre del model 3"
};

/*================================================================================
 [FIN DE LA SECCION EDITABLE]
=================================================================================*/

#define PLUGIN "Menu de models Admin"
#define VERSION "0.2"

#pragma semicolon 1

public plugin_precache()
{
    new 
buffer[200], i;
    for(
0sizeof(MODELS); i++)
    {
        
// Obtener el directorio del model y cargarlo
        
formatex(buffercharsmax(buffer), "models/player/%s/%s.mdl"MODELS[i], MODELS[i]);
        
        if (
file_exists(buffer))
            
precache_model(buffer);
        else
        {
            
// El archivo no existe. Si intentamos cargarlo, el servidor se caera.
            // Mejor me desactivo para no causar problemas :(
            
log_amx("ERROR: No se encontro %s"buffer);
            
set_fail_state("No se encontraron todos los models.");
            break;
        }
        
        
// Si el model incluye las texturas aparte (modelT.mdl) cargar tambien
        
copy(buffer[strlen(buffer)-4], charsmax(buffer) - (strlen(buffer)-4), "T.mdl");
        if (
file_exists(buffer)) precache_model(buffer);
    }
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSION"Mario AR.");
    
    new 
buffer[100];
    
    
formatex(buffercharsmax(buffer), "say %s"COMANDO);
    
register_clcmd(buffer"show_menu_modelos"NIVEL_DE_ADMIN);
    
    
formatex(buffercharsmax(buffer), "say_team %s"COMANDO);
    
register_clcmd(buffer"show_menu_modelos"NIVEL_DE_ADMIN);
}

public 
show_menu_modelos(idlevel)
{
    if (~
get_user_flags(id) & level)
        return 
PLUGIN_CONTINUE;
    
    new 
menu menu_create("Models para Admins\r""modelos_handler");
    
    for(new 
0sizeof(MODELS); i++)
        
menu_additem(menuNOMBRES[i], ""0);
        
    
menu_additem(menu"\yNinguno \w(Model normal)"""0);
    
    
menu_setprop(menuMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(menuMPROP_BACKNAME"Anterior");
    
menu_setprop(menuMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(menuMPROP_NUMBER_COLOR"\r");
    
    
menu_display(idmenu0);
    
    return 
PLUGIN_HANDLED;
}

public 
modelos_handler(idmenuitem)
{
    if(
item == MENU_EXIT || !(<= item <= sizeof(MODELS)) || !is_user_connected(id))
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    if (
item == sizeof(MODELS))
    {
        
cs_reset_user_model(id);
        
client_print(idprint_chat"Has elegido usar el model por default."NOMBRES[item]);
    }
    else
    {
        
cs_set_user_model(idMODELS[item]);
        
client_print(idprint_chat"Has elegido: %s"NOMBRES[item]);
    }
    
    return 
PLUGIN_HANDLED;

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)