Admin model Mujer y Hombre
#1
Quiero un plugin , que sea como el admin model pero como tengo mujeres admin en mi servidor quiero que tengan su model y para los hombres igual osea diferenciarlos
Si ya existe el plugin me pasarian el link o si no ayudenme porfa

Gracias de antemano.Sonrisa
Responder
#2
Código PHP:
#include <amxmodx>
#include <cstrike>

#define NIVEL_DE_ADMIN    ADMIN_RESERVATION

#define PLUGIN "Menu de models"
#define VERSION "0.4"

#pragma semicolon 1

new g_menufg_menumg_sizefg_sizem, Array:g_modelsf, Array:g_modelsm;

public 
plugin_precache()
{
    
register_plugin(PLUGINVERSION"Mario AR.");
    
    
g_models ArrayCreate(321);
    
g_menum menu_create("Menu de Models \yVarones\r""menu_models");
    
g_menuf menu_create("Menu de Models \yMujeres\r""menu_models");
    
    new 
szBuffer[192], FileszModel[32], szName[64], szBlah[4];
    
get_localinfo("amxx_configsdir"szBuffercharsmax(szBuffer));
    
    
format(szBuffercharsmax(szBuffer), "%s/MenuDeModels.ini"szBuffer);
    
    if (!
file_exists(szBuffer))
    {
        
File fopen(szBuffer"wt");
        
        
fprintf(File"; Comando de chat para abrir el menu.^nCOMANDO = /models^n^n; Aqui van los models junto a su respectivo nombre y genero (F, M o FM (los dos)).^n^"vip^" ^"Model VIP^" ^"FM^"");
        
        
fclose(File);
    }
    
    
File fopen(szBuffer"rt");
    
    while (!
feof(File))
    {
        
fgets(FileszBuffercharsmax(szBuffer));
        
        if (!
szBuffer[0] || szBuffer[0] == ';' || szBuffer[0] == '^n')
            continue;
        
        
trim(szBuffer);
        
        if (
szBuffer[0] == 'C'// Registrando el comando
        
{
            
format(szBuffercharsmax(szBuffer), "say %s"szBuffer[10]);
            
register_clcmd(szBuffer"show_menu_models");
            
            
format(szBuffercharsmax(szBuffer), "say_team %s"szBuffer[4]);
            
register_clcmd(szBuffer"show_menu_models");
            
            continue;
        }
        
        
parse(szBufferszModelcharsmax(szModel), szNamecharsmax(szName), szBlahcharsmax(szBlah));
        
remove_quotes(szModel); remove_quotes(szName); remove_quotes(szBlah);
        
        
formatex(szBuffercharsmax(szBuffer), "models/player/%s/%s.mdl"szModelszModel);
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);
        else
        {
            
// El archivo no existe. Si intentamos cargarlo, el servidor se caera.
            // Mejor me desactivo para no causar problemas :(
            
ArrayDestroy(g_models);
            
menu_destroy(g_menu);
            
fclose(File);
            
            
log_amx("No se encontro %s"szBuffer);
            
set_fail_state("Error al cargar los models.");
            return;
        }
        
        
// Si el model incluye las texturas aparte (modelT.mdl) cargar tambien
        
copy(szBuffer[strlen(szBuffer)-4], charsmax(szBuffer), "T.mdl");
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);

        if (
contain(szBlah"M") != -1)
        {
            
ArrayPushString(g_modelsmszModel);
            
menu_additem(g_menumszName);
        }

        if (
contain(szBlah"F") != -1)
        {
            
ArrayPushString(g_modelsfszModel);
            
menu_additem(g_menufszName);
        }
    }
    
    
fclose(File);
    
    
g_sizem ArraySize(g_modelsm);
    
g_sizef ArraySize(g_modelsf);

    
menu_additem(g_menuf"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menufMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menufMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menufMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menufMPROP_NUMBER_COLOR"\r");

    
menu_additem(g_menum"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menumMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menumMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menumMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menumMPROP_NUMBER_COLOR"\r");
}

public 
show_menu_models(id)
{
    if (~
get_user_flags(id) & NIVEL_DE_ADMIN)
        return 
PLUGIN_CONTINUE;
    
    if (
esmujer(id)) // Aqui no se como reconoceras a las mujeres D:
        
menu_display(idg_menuf);
    else
        
menu_display(idg_menum);
    
    return 
PLUGIN_HANDLED;
}

public 
menu_models(idmenuitem)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED;
    
    if (
menu == g_menum && (<= item <= g_sizem))
    {
        if (
item == g_sizem)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsmitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }
    else if (
menu == g_menuf && (<= item <= g_sizef))
    {
        if (
item == g_sizef)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsfitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }

    return 
PLUGIN_HANDLED;


Untested.
Responder
#3
(15/03/2015, 03:07 PM)Mario AR. escribió:
Código PHP:
#include <amxmodx>
#include <cstrike>

#define NIVEL_DE_ADMIN    ADMIN_RESERVATION

#define PLUGIN "Menu de models"
#define VERSION "0.4"

#pragma semicolon 1

new g_menufg_menumg_sizefg_sizem, Array:g_modelsf, Array:g_modelsm;

public 
plugin_precache()
{
    
register_plugin(PLUGINVERSION"Mario AR.");
    
    
g_models ArrayCreate(321);
    
g_menum menu_create("Menu de Models \yVarones\r""menu_models");
    
g_menuf menu_create("Menu de Models \yMujeres\r""menu_models");
    
    new 
szBuffer[192], FileszModel[32], szName[64], szBlah[4];
    
get_localinfo("amxx_configsdir"szBuffercharsmax(szBuffer));
    
    
format(szBuffercharsmax(szBuffer), "%s/MenuDeModels.ini"szBuffer);
    
    if (!
file_exists(szBuffer))
    {
        
File fopen(szBuffer"wt");
        
        
fprintf(File"; Comando de chat para abrir el menu.^nCOMANDO = /models^n^n; Aqui van los models junto a su respectivo nombre y genero (F, M o FM (los dos)).^n^"vip^" ^"Model VIP^" ^"FM^"");
        
        
fclose(File);
    }
    
    
File fopen(szBuffer"rt");
    
    while (!
feof(File))
    {
        
fgets(FileszBuffercharsmax(szBuffer));
        
        if (!
szBuffer[0] || szBuffer[0] == ';' || szBuffer[0] == '^n')
            continue;
        
        
trim(szBuffer);
        
        if (
szBuffer[0] == 'C'// Registrando el comando
        
{
            
format(szBuffercharsmax(szBuffer), "say %s"szBuffer[10]);
            
register_clcmd(szBuffer"show_menu_models");
            
            
format(szBuffercharsmax(szBuffer), "say_team %s"szBuffer[4]);
            
register_clcmd(szBuffer"show_menu_models");
            
            continue;
        }
        
        
parse(szBufferszModelcharsmax(szModel), szNamecharsmax(szName), szBlahcharsmax(szBlah));
        
remove_quotes(szModel); remove_quotes(szName); remove_quotes(szBlah);
        
        
formatex(szBuffercharsmax(szBuffer), "models/player/%s/%s.mdl"szModelszModel);
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);
        else
        {
            
// El archivo no existe. Si intentamos cargarlo, el servidor se caera.
            // Mejor me desactivo para no causar problemas :(
            
ArrayDestroy(g_models);
            
menu_destroy(g_menu);
            
fclose(File);
            
            
log_amx("No se encontro %s"szBuffer);
            
set_fail_state("Error al cargar los models.");
            return;
        }
        
        
// Si el model incluye las texturas aparte (modelT.mdl) cargar tambien
        
copy(szBuffer[strlen(szBuffer)-4], charsmax(szBuffer), "T.mdl");
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);

        if (
contain(szBlah"M") != -1)
        {
            
ArrayPushString(g_modelsmszModel);
            
menu_additem(g_menumszName);
        }

        if (
contain(szBlah"F") != -1)
        {
            
ArrayPushString(g_modelsfszModel);
            
menu_additem(g_menufszName);
        }
    }
    
    
fclose(File);
    
    
g_sizem ArraySize(g_modelsm);
    
g_sizef ArraySize(g_modelsf);

    
menu_additem(g_menuf"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menufMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menufMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menufMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menufMPROP_NUMBER_COLOR"\r");

    
menu_additem(g_menum"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menumMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menumMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menumMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menumMPROP_NUMBER_COLOR"\r");
}

public 
show_menu_models(id)
{
    if (~
get_user_flags(id) & NIVEL_DE_ADMIN)
        return 
PLUGIN_CONTINUE;
    
    if (
esmujer(id)) // Aqui no se como reconoceras a las mujeres D:
        
menu_display(idg_menuf);
    else
        
menu_display(idg_menum);
    
    return 
PLUGIN_HANDLED;
}

public 
menu_models(idmenuitem)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED;
    
    if (
menu == g_menum && (<= item <= g_sizem))
    {
        if (
item == g_sizem)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsmitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }
    else if (
menu == g_menuf && (<= item <= g_sizef))
    {
        if (
item == g_sizef)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsfitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }

    return 
PLUGIN_HANDLED;


Untested.

No hay una forma , que sea automatico, en vez de abrir el menu? :T
Responder
#4
(15/03/2015, 03:19 PM)BlackPower1 escribió:
(15/03/2015, 03:07 PM)Mario AR. escribió:
Código PHP:
#include <amxmodx>
#include <cstrike>

#define NIVEL_DE_ADMIN    ADMIN_RESERVATION

#define PLUGIN "Menu de models"
#define VERSION "0.4"

#pragma semicolon 1

new g_menufg_menumg_sizefg_sizem, Array:g_modelsf, Array:g_modelsm;

public 
plugin_precache()
{
    
register_plugin(PLUGINVERSION"Mario AR.");
    
    
g_models ArrayCreate(321);
    
g_menum menu_create("Menu de Models \yVarones\r""menu_models");
    
g_menuf menu_create("Menu de Models \yMujeres\r""menu_models");
    
    new 
szBuffer[192], FileszModel[32], szName[64], szBlah[4];
    
get_localinfo("amxx_configsdir"szBuffercharsmax(szBuffer));
    
    
format(szBuffercharsmax(szBuffer), "%s/MenuDeModels.ini"szBuffer);
    
    if (!
file_exists(szBuffer))
    {
        
File fopen(szBuffer"wt");
        
        
fprintf(File"; Comando de chat para abrir el menu.^nCOMANDO = /models^n^n; Aqui van los models junto a su respectivo nombre y genero (F, M o FM (los dos)).^n^"vip^" ^"Model VIP^" ^"FM^"");
        
        
fclose(File);
    }
    
    
File fopen(szBuffer"rt");
    
    while (!
feof(File))
    {
        
fgets(FileszBuffercharsmax(szBuffer));
        
        if (!
szBuffer[0] || szBuffer[0] == ';' || szBuffer[0] == '^n')
            continue;
        
        
trim(szBuffer);
        
        if (
szBuffer[0] == 'C'// Registrando el comando
        
{
            
format(szBuffercharsmax(szBuffer), "say %s"szBuffer[10]);
            
register_clcmd(szBuffer"show_menu_models");
            
            
format(szBuffercharsmax(szBuffer), "say_team %s"szBuffer[4]);
            
register_clcmd(szBuffer"show_menu_models");
            
            continue;
        }
        
        
parse(szBufferszModelcharsmax(szModel), szNamecharsmax(szName), szBlahcharsmax(szBlah));
        
remove_quotes(szModel); remove_quotes(szName); remove_quotes(szBlah);
        
        
formatex(szBuffercharsmax(szBuffer), "models/player/%s/%s.mdl"szModelszModel);
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);
        else
        {
            
// El archivo no existe. Si intentamos cargarlo, el servidor se caera.
            // Mejor me desactivo para no causar problemas :(
            
ArrayDestroy(g_models);
            
menu_destroy(g_menu);
            
fclose(File);
            
            
log_amx("No se encontro %s"szBuffer);
            
set_fail_state("Error al cargar los models.");
            return;
        }
        
        
// Si el model incluye las texturas aparte (modelT.mdl) cargar tambien
        
copy(szBuffer[strlen(szBuffer)-4], charsmax(szBuffer), "T.mdl");
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);

        if (
contain(szBlah"M") != -1)
        {
            
ArrayPushString(g_modelsmszModel);
            
menu_additem(g_menumszName);
        }

        if (
contain(szBlah"F") != -1)
        {
            
ArrayPushString(g_modelsfszModel);
            
menu_additem(g_menufszName);
        }
    }
    
    
fclose(File);
    
    
g_sizem ArraySize(g_modelsm);
    
g_sizef ArraySize(g_modelsf);

    
menu_additem(g_menuf"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menufMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menufMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menufMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menufMPROP_NUMBER_COLOR"\r");

    
menu_additem(g_menum"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menumMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menumMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menumMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menumMPROP_NUMBER_COLOR"\r");
}

public 
show_menu_models(id)
{
    if (~
get_user_flags(id) & NIVEL_DE_ADMIN)
        return 
PLUGIN_CONTINUE;
    
    if (
esmujer(id)) // Aqui no se como reconoceras a las mujeres D:
        
menu_display(idg_menuf);
    else
        
menu_display(idg_menum);
    
    return 
PLUGIN_HANDLED;
}

public 
menu_models(idmenuitem)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED;
    
    if (
menu == g_menum && (<= item <= g_sizem))
    {
        if (
item == g_sizem)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsmitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }
    else if (
menu == g_menuf && (<= item <= g_sizef))
    {
        if (
item == g_sizef)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsfitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }

    return 
PLUGIN_HANDLED;


Untested.

No hay una forma , que sea automatico, en vez de abrir el menu? :T

Y como sabrás si el admin es mujer o hombre? como mucho tendrías que guardarlo en un archivo vos mismo o algo así...
Responder
#5
Probalo y me contás. Los admins con flag ADMIN_LEVEL_H ( el cual es el acceso 't' en users.ini ) van a tener model de mujer, el resto de hombre. Los models se llaman "admin_male" y "admin_girl", modificalos como quieras.

PD: Posee protección contra SVC_BAD.

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

/* ==========================================================
*                 [ Global stuff ]
* =========================================================== */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )

const ARG_MODELNAME 1;
const 
ARG_PLAYERID 12;

new const 
g_szCache_KeyModel[ ] = "model";
new const 
g_szModel[ ][ ] = { "admin_male","admin_girl" };

new 
g_iModeled,g_szPlayerModel33 ][ 32 ];

/* ==========================================================
*                 [ Initiation ]
* =========================================================== */

public plugin_precache( )
{
    new 
szData64 ];
    
    
formatexszData,charsmaxszData ),"models/player/%s/%s.mdl",g_szModel],g_szModel] );
    
precache_modelszData );
    
    
formatexszData,charsmaxszData ),"models/player/%s/%s.mdl",g_szModel],g_szModel] );
    
precache_modelszData );
}

public 
plugin_init( )
{
    
register_plugin"Admin Models","1.0","Manu" );
    
    
register_forwardFM_SetClientKeyValue,"fw_ClientKeyValue" );
    
register_messageget_user_msgid"ClCorpse" ),"message_ClCorpse" );
}

/* ==========================================================
*                 [ Main functions ]
* =========================================================== */

public fw_ClientKeyValueiId,szBuffer[ ],szKey[ ],szValue[ ] )
{
    if( 
GetPlayerBitg_iModeled,iId ) && equalszKey,g_szCache_KeyModel ) && !equalszValue,g_szPlayerModeliId ] ) )
    {
        
set_user_infoiId,szKey,g_szPlayerModeliId ] );
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
message_ClCorpse( )
{
    static 
iIdiId get_msg_arg_intARG_PLAYERID );
    
    if( 
GetPlayerBitg_iModeled,iId ) )
        
set_msg_arg_stringARG_MODELNAME,g_szPlayerModeliId ] );
}

/* ==========================================================
*                 [ Client-related ]
* =========================================================== */

public client_putinserveriId )
{
    static 
iFlagsiFlags get_user_flagsiId );
    
    if( 
iFlags ADMIN_KICK )
    {
        
copyg_szPlayerModeliId ],charsmaxg_szPlayerModel[ ] ),g_szModel[ ( iFlags ADMIN_LEVEL_H ) ? 1:] );
        
set_user_infoiId,g_szCache_KeyModel,g_szPlayerModeliId ] );
    }
}

public 
client_disconnectiId ClearPlayerBitg_iModeled,iId ); 
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes
.
Responder
#6
(15/03/2015, 03:53 PM)sasske escribió:
(15/03/2015, 03:19 PM)BlackPower1 escribió:
(15/03/2015, 03:07 PM)Mario AR. escribió:
Código PHP:
#include <amxmodx>
#include <cstrike>

#define NIVEL_DE_ADMIN    ADMIN_RESERVATION

#define PLUGIN "Menu de models"
#define VERSION "0.4"

#pragma semicolon 1

new g_menufg_menumg_sizefg_sizem, Array:g_modelsf, Array:g_modelsm;

public 
plugin_precache()
{
    
register_plugin(PLUGINVERSION"Mario AR.");
    
    
g_models ArrayCreate(321);
    
g_menum menu_create("Menu de Models \yVarones\r""menu_models");
    
g_menuf menu_create("Menu de Models \yMujeres\r""menu_models");
    
    new 
szBuffer[192], FileszModel[32], szName[64], szBlah[4];
    
get_localinfo("amxx_configsdir"szBuffercharsmax(szBuffer));
    
    
format(szBuffercharsmax(szBuffer), "%s/MenuDeModels.ini"szBuffer);
    
    if (!
file_exists(szBuffer))
    {
        
File fopen(szBuffer"wt");
        
        
fprintf(File"; Comando de chat para abrir el menu.^nCOMANDO = /models^n^n; Aqui van los models junto a su respectivo nombre y genero (F, M o FM (los dos)).^n^"vip^" ^"Model VIP^" ^"FM^"");
        
        
fclose(File);
    }
    
    
File fopen(szBuffer"rt");
    
    while (!
feof(File))
    {
        
fgets(FileszBuffercharsmax(szBuffer));
        
        if (!
szBuffer[0] || szBuffer[0] == ';' || szBuffer[0] == '^n')
            continue;
        
        
trim(szBuffer);
        
        if (
szBuffer[0] == 'C'// Registrando el comando
        
{
            
format(szBuffercharsmax(szBuffer), "say %s"szBuffer[10]);
            
register_clcmd(szBuffer"show_menu_models");
            
            
format(szBuffercharsmax(szBuffer), "say_team %s"szBuffer[4]);
            
register_clcmd(szBuffer"show_menu_models");
            
            continue;
        }
        
        
parse(szBufferszModelcharsmax(szModel), szNamecharsmax(szName), szBlahcharsmax(szBlah));
        
remove_quotes(szModel); remove_quotes(szName); remove_quotes(szBlah);
        
        
formatex(szBuffercharsmax(szBuffer), "models/player/%s/%s.mdl"szModelszModel);
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);
        else
        {
            
// El archivo no existe. Si intentamos cargarlo, el servidor se caera.
            // Mejor me desactivo para no causar problemas :(
            
ArrayDestroy(g_models);
            
menu_destroy(g_menu);
            
fclose(File);
            
            
log_amx("No se encontro %s"szBuffer);
            
set_fail_state("Error al cargar los models.");
            return;
        }
        
        
// Si el model incluye las texturas aparte (modelT.mdl) cargar tambien
        
copy(szBuffer[strlen(szBuffer)-4], charsmax(szBuffer), "T.mdl");
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);

        if (
contain(szBlah"M") != -1)
        {
            
ArrayPushString(g_modelsmszModel);
            
menu_additem(g_menumszName);
        }

        if (
contain(szBlah"F") != -1)
        {
            
ArrayPushString(g_modelsfszModel);
            
menu_additem(g_menufszName);
        }
    }
    
    
fclose(File);
    
    
g_sizem ArraySize(g_modelsm);
    
g_sizef ArraySize(g_modelsf);

    
menu_additem(g_menuf"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menufMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menufMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menufMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menufMPROP_NUMBER_COLOR"\r");

    
menu_additem(g_menum"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menumMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menumMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menumMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menumMPROP_NUMBER_COLOR"\r");
}

public 
show_menu_models(id)
{
    if (~
get_user_flags(id) & NIVEL_DE_ADMIN)
        return 
PLUGIN_CONTINUE;
    
    if (
esmujer(id)) // Aqui no se como reconoceras a las mujeres D:
        
menu_display(idg_menuf);
    else
        
menu_display(idg_menum);
    
    return 
PLUGIN_HANDLED;
}

public 
menu_models(idmenuitem)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED;
    
    if (
menu == g_menum && (<= item <= g_sizem))
    {
        if (
item == g_sizem)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsmitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }
    else if (
menu == g_menuf && (<= item <= g_sizef))
    {
        if (
item == g_sizef)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsfitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }

    return 
PLUGIN_HANDLED;


Untested.

No hay una forma , que sea automatico, en vez de abrir el menu? :T

Y como sabrás si el admin es mujer o hombre? como mucho tendrías que guardarlo en un archivo vos mismo o algo así...

Puede analizar al momento que ingresa al servidor con un menu, que diga..

Define tu genero:

1- Hombre.
2- Mujer.

0-Desconectarse

Y segun lo que les defina, le setea el model.
Responder
#7
(15/03/2015, 04:09 PM)hud escribió:
(15/03/2015, 03:53 PM)sasske escribió:
(15/03/2015, 03:19 PM)BlackPower1 escribió:
(15/03/2015, 03:07 PM)Mario AR. escribió:
Código PHP:
#include <amxmodx>
#include <cstrike>

#define NIVEL_DE_ADMIN    ADMIN_RESERVATION

#define PLUGIN "Menu de models"
#define VERSION "0.4"

#pragma semicolon 1

new g_menufg_menumg_sizefg_sizem, Array:g_modelsf, Array:g_modelsm;

public 
plugin_precache()
{
    
register_plugin(PLUGINVERSION"Mario AR.");
    
    
g_models ArrayCreate(321);
    
g_menum menu_create("Menu de Models \yVarones\r""menu_models");
    
g_menuf menu_create("Menu de Models \yMujeres\r""menu_models");
    
    new 
szBuffer[192], FileszModel[32], szName[64], szBlah[4];
    
get_localinfo("amxx_configsdir"szBuffercharsmax(szBuffer));
    
    
format(szBuffercharsmax(szBuffer), "%s/MenuDeModels.ini"szBuffer);
    
    if (!
file_exists(szBuffer))
    {
        
File fopen(szBuffer"wt");
        
        
fprintf(File"; Comando de chat para abrir el menu.^nCOMANDO = /models^n^n; Aqui van los models junto a su respectivo nombre y genero (F, M o FM (los dos)).^n^"vip^" ^"Model VIP^" ^"FM^"");
        
        
fclose(File);
    }
    
    
File fopen(szBuffer"rt");
    
    while (!
feof(File))
    {
        
fgets(FileszBuffercharsmax(szBuffer));
        
        if (!
szBuffer[0] || szBuffer[0] == ';' || szBuffer[0] == '^n')
            continue;
        
        
trim(szBuffer);
        
        if (
szBuffer[0] == 'C'// Registrando el comando
        
{
            
format(szBuffercharsmax(szBuffer), "say %s"szBuffer[10]);
            
register_clcmd(szBuffer"show_menu_models");
            
            
format(szBuffercharsmax(szBuffer), "say_team %s"szBuffer[4]);
            
register_clcmd(szBuffer"show_menu_models");
            
            continue;
        }
        
        
parse(szBufferszModelcharsmax(szModel), szNamecharsmax(szName), szBlahcharsmax(szBlah));
        
remove_quotes(szModel); remove_quotes(szName); remove_quotes(szBlah);
        
        
formatex(szBuffercharsmax(szBuffer), "models/player/%s/%s.mdl"szModelszModel);
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);
        else
        {
            
// El archivo no existe. Si intentamos cargarlo, el servidor se caera.
            // Mejor me desactivo para no causar problemas :(
            
ArrayDestroy(g_models);
            
menu_destroy(g_menu);
            
fclose(File);
            
            
log_amx("No se encontro %s"szBuffer);
            
set_fail_state("Error al cargar los models.");
            return;
        }
        
        
// Si el model incluye las texturas aparte (modelT.mdl) cargar tambien
        
copy(szBuffer[strlen(szBuffer)-4], charsmax(szBuffer), "T.mdl");
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);

        if (
contain(szBlah"M") != -1)
        {
            
ArrayPushString(g_modelsmszModel);
            
menu_additem(g_menumszName);
        }

        if (
contain(szBlah"F") != -1)
        {
            
ArrayPushString(g_modelsfszModel);
            
menu_additem(g_menufszName);
        }
    }
    
    
fclose(File);
    
    
g_sizem ArraySize(g_modelsm);
    
g_sizef ArraySize(g_modelsf);

    
menu_additem(g_menuf"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menufMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menufMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menufMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menufMPROP_NUMBER_COLOR"\r");

    
menu_additem(g_menum"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menumMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menumMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menumMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menumMPROP_NUMBER_COLOR"\r");
}

public 
show_menu_models(id)
{
    if (~
get_user_flags(id) & NIVEL_DE_ADMIN)
        return 
PLUGIN_CONTINUE;
    
    if (
esmujer(id)) // Aqui no se como reconoceras a las mujeres D:
        
menu_display(idg_menuf);
    else
        
menu_display(idg_menum);
    
    return 
PLUGIN_HANDLED;
}

public 
menu_models(idmenuitem)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED;
    
    if (
menu == g_menum && (<= item <= g_sizem))
    {
        if (
item == g_sizem)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsmitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }
    else if (
menu == g_menuf && (<= item <= g_sizef))
    {
        if (
item == g_sizef)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsfitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }

    return 
PLUGIN_HANDLED;


Untested.

No hay una forma , que sea automatico, en vez de abrir el menu? :T

Y como sabrás si el admin es mujer o hombre? como mucho tendrías que guardarlo en un archivo vos mismo o algo así...

Puede analizar al momento que ingresa al servidor con un menu, que diga..

Define tu genero:

1- Hombre.
2- Mujer.

0-Desconectarse

Y segun lo que les defina, le setea el model.

Es precisamente lo que no quiere, un menú.

La forma de treki esta buena, para usar la flag reservada, no se me había ocurrido.
Responder
#8
(15/03/2015, 04:10 PM)sasske escribió:
(15/03/2015, 04:09 PM)hud escribió:
(15/03/2015, 03:53 PM)sasske escribió:
(15/03/2015, 03:19 PM)BlackPower1 escribió:
(15/03/2015, 03:07 PM)Mario AR. escribió:
Código PHP:
#include <amxmodx>
#include <cstrike>

#define NIVEL_DE_ADMIN    ADMIN_RESERVATION

#define PLUGIN "Menu de models"
#define VERSION "0.4"

#pragma semicolon 1

new g_menufg_menumg_sizefg_sizem, Array:g_modelsf, Array:g_modelsm;

public 
plugin_precache()
{
    
register_plugin(PLUGINVERSION"Mario AR.");
    
    
g_models ArrayCreate(321);
    
g_menum menu_create("Menu de Models \yVarones\r""menu_models");
    
g_menuf menu_create("Menu de Models \yMujeres\r""menu_models");
    
    new 
szBuffer[192], FileszModel[32], szName[64], szBlah[4];
    
get_localinfo("amxx_configsdir"szBuffercharsmax(szBuffer));
    
    
format(szBuffercharsmax(szBuffer), "%s/MenuDeModels.ini"szBuffer);
    
    if (!
file_exists(szBuffer))
    {
        
File fopen(szBuffer"wt");
        
        
fprintf(File"; Comando de chat para abrir el menu.^nCOMANDO = /models^n^n; Aqui van los models junto a su respectivo nombre y genero (F, M o FM (los dos)).^n^"vip^" ^"Model VIP^" ^"FM^"");
        
        
fclose(File);
    }
    
    
File fopen(szBuffer"rt");
    
    while (!
feof(File))
    {
        
fgets(FileszBuffercharsmax(szBuffer));
        
        if (!
szBuffer[0] || szBuffer[0] == ';' || szBuffer[0] == '^n')
            continue;
        
        
trim(szBuffer);
        
        if (
szBuffer[0] == 'C'// Registrando el comando
        
{
            
format(szBuffercharsmax(szBuffer), "say %s"szBuffer[10]);
            
register_clcmd(szBuffer"show_menu_models");
            
            
format(szBuffercharsmax(szBuffer), "say_team %s"szBuffer[4]);
            
register_clcmd(szBuffer"show_menu_models");
            
            continue;
        }
        
        
parse(szBufferszModelcharsmax(szModel), szNamecharsmax(szName), szBlahcharsmax(szBlah));
        
remove_quotes(szModel); remove_quotes(szName); remove_quotes(szBlah);
        
        
formatex(szBuffercharsmax(szBuffer), "models/player/%s/%s.mdl"szModelszModel);
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);
        else
        {
            
// El archivo no existe. Si intentamos cargarlo, el servidor se caera.
            // Mejor me desactivo para no causar problemas :(
            
ArrayDestroy(g_models);
            
menu_destroy(g_menu);
            
fclose(File);
            
            
log_amx("No se encontro %s"szBuffer);
            
set_fail_state("Error al cargar los models.");
            return;
        }
        
        
// Si el model incluye las texturas aparte (modelT.mdl) cargar tambien
        
copy(szBuffer[strlen(szBuffer)-4], charsmax(szBuffer), "T.mdl");
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);

        if (
contain(szBlah"M") != -1)
        {
            
ArrayPushString(g_modelsmszModel);
            
menu_additem(g_menumszName);
        }

        if (
contain(szBlah"F") != -1)
        {
            
ArrayPushString(g_modelsfszModel);
            
menu_additem(g_menufszName);
        }
    }
    
    
fclose(File);
    
    
g_sizem ArraySize(g_modelsm);
    
g_sizef ArraySize(g_modelsf);

    
menu_additem(g_menuf"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menufMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menufMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menufMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menufMPROP_NUMBER_COLOR"\r");

    
menu_additem(g_menum"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menumMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menumMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menumMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menumMPROP_NUMBER_COLOR"\r");
}

public 
show_menu_models(id)
{
    if (~
get_user_flags(id) & NIVEL_DE_ADMIN)
        return 
PLUGIN_CONTINUE;
    
    if (
esmujer(id)) // Aqui no se como reconoceras a las mujeres D:
        
menu_display(idg_menuf);
    else
        
menu_display(idg_menum);
    
    return 
PLUGIN_HANDLED;
}

public 
menu_models(idmenuitem)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED;
    
    if (
menu == g_menum && (<= item <= g_sizem))
    {
        if (
item == g_sizem)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsmitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }
    else if (
menu == g_menuf && (<= item <= g_sizef))
    {
        if (
item == g_sizef)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsfitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }

    return 
PLUGIN_HANDLED;


Untested.

No hay una forma , que sea automatico, en vez de abrir el menu? :T

Y como sabrás si el admin es mujer o hombre? como mucho tendrías que guardarlo en un archivo vos mismo o algo así...

Puede analizar al momento que ingresa al servidor con un menu, que diga..

Define tu genero:

1- Hombre.
2- Mujer.

0-Desconectarse

Y segun lo que les defina, le setea el model.

Es precisamente lo que no quiere, un menú.

La forma de treki esta buena, para usar la flag reservada, no se me había ocurrido.
Dafuq

No lei el code de mario, pense que usaba un menu normal con que se abre por say.

Mala mia.
Responder
#9
Dafuq Donde coloco para que se pongan los modelos (colocar la carpeta y su modelo eso.) Dafuq
Responder
#10
(15/03/2015, 04:15 PM)hud escribió:
(15/03/2015, 04:10 PM)sasske escribió:
(15/03/2015, 04:09 PM)hud escribió:
(15/03/2015, 03:53 PM)sasske escribió:
(15/03/2015, 03:19 PM)BlackPower1 escribió: No hay una forma , que sea automatico, en vez de abrir el menu? :T

Y como sabrás si el admin es mujer o hombre? como mucho tendrías que guardarlo en un archivo vos mismo o algo así...

Puede analizar al momento que ingresa al servidor con un menu, que diga..

Define tu genero:

1- Hombre.
2- Mujer.

0-Desconectarse

Y segun lo que les defina, le setea el model.

Es precisamente lo que no quiere, un menú.

La forma de treki esta buena, para usar la flag reservada, no se me había ocurrido.
Dafuq

No lei el code de mario, pense que usaba un menu normal con que se abre por say.

Mala mia.

Entiendo que sólo leas los hud pero también tienes que aprender a leer textos normales Whatdone
Responder
#11
(15/03/2015, 04:37 PM)BlackPower1 escribió: Dafuq Donde coloco para que se pongan los modelos (colocar la carpeta y su modelo eso.) Dafuq

Como en la anterior había dado respuesta rápida no encontré para adjuntar los archivos y no lo hice, acá tenes un ejemplo funcional acorde al código que te dejé recién.


Archivos adjuntos
.zip   Resources.zip (Tamaño: 2.7 MB / Descargas: 119)
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes
.
Responder
#12
(15/03/2015, 04:42 PM)Treki escribió:
(15/03/2015, 04:37 PM)BlackPower1 escribió: Dafuq Donde coloco para que se pongan los modelos (colocar la carpeta y su modelo eso.) Dafuq

Como en la anterior había dado respuesta rápida no encontré para adjuntar los archivos y no lo hice, acá tenes un ejemplo funcional acorde al código que te dejé recién.

Gran sonrisa Otro ultimo favor tengo son 4 modelos , es decir 2 Models Girls (CT Y TT) y los otros dos de los hombres
Responder
#13
(15/03/2015, 05:12 PM)BlackPower1 escribió:
(15/03/2015, 04:42 PM)Treki escribió:
(15/03/2015, 04:37 PM)BlackPower1 escribió: Dafuq Donde coloco para que se pongan los modelos (colocar la carpeta y su modelo eso.) Dafuq

Como en la anterior había dado respuesta rápida no encontré para adjuntar los archivos y no lo hice, acá tenes un ejemplo funcional acorde al código que te dejé recién.

Gran sonrisa Otro ultimo favor tengo son 4 modelos , es decir 2 Models Girls (CT Y TT) y los otros dos de los hombres

Si son 4 models necesitarás un menú -.-
Responder
#14
(15/03/2015, 05:12 PM)BlackPower1 escribió:
(15/03/2015, 04:42 PM)Treki escribió:
(15/03/2015, 04:37 PM)BlackPower1 escribió: Dafuq Donde coloco para que se pongan los modelos (colocar la carpeta y su modelo eso.) Dafuq

Como en la anterior había dado respuesta rápida no encontré para adjuntar los archivos y no lo hice, acá tenes un ejemplo funcional acorde al código que te dejé recién.

Gran sonrisa Otro ultimo favor tengo son 4 modelos , es decir 2 Models Girls (CT Y TT) y los otros dos de los hombres

Está hecho mas a lo negro, pero mientras solo tengas cuatro models y a diferencia de dos sexos, funciona perfecto.

EDIT: Ahí lo modifiqué. Te había mal entendido, pensé que querías que se elijan de manera aleatoria los modelos entre dos modelos distintos. Después releí y el modelo era definido por el equipo. Creo que así debería funcionar. Ya sabés que hacer Crab

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

/* ==========================================================
*                 [ Global stuff ]
* =========================================================== */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )

const ARG_MODELNAME 1;
const 
ARG_PLAYERID 12;

new const 
g_szCache_KeyModel[ ] = "model";
new const 
g_szModel[ ][ ] = { "admin_male","admin_male2","admin_girl","admin_girl2" };

new 
g_iAdmin,g_iGirl,g_szPlayerModel33 ][ 32 ];

/* ==========================================================
*                 [ Initiation ]
* =========================================================== */

public plugin_precache( )
{
    new 
szData64 ];
    
    for( new 
i;sizeofg_szModel );i++ )
    {
        
formatexszData,charsmaxszData ),"models/player/%s/%s.mdl",g_szModel],g_szModel] );
        
precache_modelszData );
    }
}

public 
plugin_init( )
{
    
register_plugin"Admin Models","1.0","Manu" );

    
register_event"TeamInfo","ev_TeamInfo","a" );
    
register_forwardFM_SetClientKeyValue,"fw_ClientKeyValue" );
    
register_messageget_user_msgid"ClCorpse" ),"message_ClCorpse" );
}

/* ==========================================================
*                 [ Main functions ]
* =========================================================== */

public ev_TeamInfo( )
{
    static 
iId,szTeam];
    
    
iId read_data);
    
read_data2,szTeam,charsmaxszTeam ) );
        
    if( 
GetPlayerBitg_iAdmin,iId ) )
    {
        
copyg_szPlayerModeliId ],charsmaxg_szPlayerModel[ ] ),g_szModelGetPlayerBitg_iGirl,iId ) ? ( szTeam] == 'T' 2:):( szTeam] == 'T' 0:) ] );
        
set_user_infoiId,g_szCache_KeyModel,g_szPlayerModeliId ] );
    }
}

public 
fw_ClientKeyValueiId,szBuffer[ ],szKey[ ],szValue[ ] )
{
    if( 
GetPlayerBitg_iAdmin,iId ) && equalszKey,g_szCache_KeyModel ) && !equalszValue,g_szPlayerModeliId ] ) )
    {
        
set_user_infoiId,szKey,g_szPlayerModeliId ] );
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
message_ClCorpse( )
{
    static 
iIdiId get_msg_arg_intARG_PLAYERID );
    
    if( 
GetPlayerBitg_iAdmin,iId ) )
        
set_msg_arg_stringARG_MODELNAME,g_szPlayerModeliId ] );
}

/* ==========================================================
*                 [ Client-related ]
* =========================================================== */

public client_putinserveriId )
{
    static 
iFlagsiFlags get_user_flagsiId );
    
    if( 
iFlags ADMIN_KICK )
    {
        
SetPlayerBitg_iAdmin,iId );

        if( 
iFlags ADMIN_LEVEL_H )
            
SetPlayerBitg_iGirl,iId );
    }
}

public 
client_disconnectiId ClearPlayerBitg_iAdmin,iId ); 
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes
.
Responder
#15
(15/03/2015, 05:20 PM)Treki escribió:
(15/03/2015, 05:12 PM)BlackPower1 escribió:
(15/03/2015, 04:42 PM)Treki escribió:
(15/03/2015, 04:37 PM)BlackPower1 escribió: Dafuq Donde coloco para que se pongan los modelos (colocar la carpeta y su modelo eso.) Dafuq

Como en la anterior había dado respuesta rápida no encontré para adjuntar los archivos y no lo hice, acá tenes un ejemplo funcional acorde al código que te dejé recién.

Gran sonrisa Otro ultimo favor tengo son 4 modelos , es decir 2 Models Girls (CT Y TT) y los otros dos de los hombres

Está hecho mas a lo negro, pero mientras solo tengas cuatro models y a diferencia de dos sexos, funciona perfecto.

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

/* ==========================================================
*                 [ Global stuff ]
* =========================================================== */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )

const ARG_MODELNAME 1;
const 
ARG_PLAYERID 12;

new const 
g_szCache_KeyModel[ ] = "model";
new const 
g_szModel[ ][ ] = { "admin_male","admin_male2","admin_girl","admin_girl2" };

new 
g_iModeled,g_szPlayerModel33 ][ 32 ];

/* ==========================================================
*                 [ Initiation ]
* =========================================================== */

public plugin_precache( )
{
    new 
szData64 ];
    
    for( new 
i;sizeofg_szModel );i++ )
    {
        
formatexszData,charsmaxszData ),"models/player/%s/%s.mdl",g_szModel],g_szModel] );
        
precache_modelszData );
    }
}

public 
plugin_init( )
{
    
register_plugin"Admin Models","1.0","Manu" );
    
    
register_forwardFM_SetClientKeyValue,"fw_ClientKeyValue" );
    
register_messageget_user_msgid"ClCorpse" ),"message_ClCorpse" );
}

/* ==========================================================
*                 [ Main functions ]
* =========================================================== */

public fw_ClientKeyValueiId,szBuffer[ ],szKey[ ],szValue[ ] )
{
    if( 
GetPlayerBitg_iModeled,iId ) && equalszKey,g_szCache_KeyModel ) && !equalszValue,g_szPlayerModeliId ] ) )
    {
        
set_user_infoiId,szKey,g_szPlayerModeliId ] );
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
message_ClCorpse( )
{
    static 
iIdiId get_msg_arg_intARG_PLAYERID );
    
    if( 
GetPlayerBitg_iModeled,iId ) )
        
set_msg_arg_stringARG_MODELNAME,g_szPlayerModeliId ] );
}

/* ==========================================================
*                 [ Client-related ]
* =========================================================== */

public client_putinserveriId )
{
    static 
iFlagsiFlags get_user_flagsiId );
    
    if( 
iFlags ADMIN_KICK )
    {
        
copyg_szPlayerModeliId ],charsmaxg_szPlayerModel[ ] ),g_szModel[ ( iFlags ADMIN_LEVEL_H ) ? random_num2,):random_num0,) ] );
        
set_user_infoiId,g_szCache_KeyModel,g_szPlayerModeliId ] );
    }
}

public 
client_disconnectiId ClearPlayerBitg_iModeled,iId ); 

Como haces a diferencia de mas de 2 "sexos"? Dafuq

Haces un model, transexual? Roflmao
Responder
#16
(15/03/2015, 05:31 PM)hud escribió: Como haces a diferencia de mas de 2 "sexos"? Dafuq

Haces un model, transexual? Roflmao

Sabía que sonaba medio raro, pero me refería a que solo tenes que diferenciar entre dos tipos, si tuvieras que diferenciar entre más convendría una array mas grande con otros checkeos, etc. Yao ming
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes
.
Responder
#17
(15/03/2015, 05:34 PM)Treki escribió:
(15/03/2015, 05:31 PM)hud escribió: Como haces a diferencia de mas de 2 "sexos"? Dafuq

Haces un model, transexual? Roflmao

Sabía que sonaba medio raro, pero me refería a que solo tenes que diferenciar entre dos tipos, si tuvieras que diferenciar entre más convendría una array mas grande con otros checkeos, etc. Yao ming

se descargan los modelos pero no sé ven , probare el de mario :T

PD: Mario donde coloco los nombres de los modelos y su carpeta D:, me enredo compile y como 10 errores lanzo q.q
Responder
#18
(15/03/2015, 05:48 PM)BlackPower1 escribió:
(15/03/2015, 05:34 PM)Treki escribió:
(15/03/2015, 05:31 PM)hud escribió: Como haces a diferencia de mas de 2 "sexos"? Dafuq

Haces un model, transexual? Roflmao

Sabía que sonaba medio raro, pero me refería a que solo tenes que diferenciar entre dos tipos, si tuvieras que diferenciar entre más convendría una array mas grande con otros checkeos, etc. Yao ming

se descargan los modelos pero no sé ven , probare el de mario :T

Fijate que lo edité hace unos minutos, probalo de vuelta porque había puesto get_msg_arg_int en vez de read_data xP

EDIT: Versión final Proud Si tuviera dos modelos de mujer lo testearía xP Este si tiene que andar bien.

PD: El "admin_male" es terrorista, y el "admin_male2" es anti-terrorista. Lo mismo se aplica a "admin_girl".

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

/* ==========================================================
*                 [ Global stuff ]
* =========================================================== */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )

const ARG_MODELNAME 1;
const 
ARG_PLAYERID 12;

new const 
g_szCache_KeyModel[ ] = "model";
new const 
g_szModel[ ][ ] = { "admin_male","admin_male2","admin_girl","admin_girl2" };

new 
g_iAdmin,g_iGirl,g_szPlayerModel33 ][ 32 ];

/* ==========================================================
*                 [ Initiation ]
* =========================================================== */

public plugin_precache( )
{
    new 
szData64 ];
    
    for( new 
i;sizeofg_szModel );i++ )
    {
        
formatexszData,charsmaxszData ),"models/player/%s/%s.mdl",g_szModel],g_szModel] );
        
precache_modelszData );
    }
}

public 
plugin_init( )
{
    
register_plugin"Admin Models","1.0","Manu" );

    
register_event"TeamInfo","ev_TeamInfo","a" );
    
register_forwardFM_SetClientKeyValue,"fw_ClientKeyValue" );
    
register_messageget_user_msgid"ClCorpse" ),"message_ClCorpse" );
}

/* ==========================================================
*                 [ Main functions ]
* =========================================================== */

public ev_TeamInfo( )
{
    static 
iId,szTeam];
    
    
iId read_data);
    
read_data2,szTeam,charsmaxszTeam ) );
        
    if( 
GetPlayerBitg_iAdmin,iId ) )
    {
        
copyg_szPlayerModeliId ],charsmaxg_szPlayerModel[ ] ),g_szModelGetPlayerBitg_iGirl,iId ) ? ( szTeam] == 'T' 2:):( szTeam] == 'T' 0:) ] );
        
set_user_infoiId,g_szCache_KeyModel,g_szPlayerModeliId ] );
    }
}

public 
fw_ClientKeyValueiId,szBuffer[ ],szKey[ ],szValue[ ] )
{
    if( 
GetPlayerBitg_iAdmin,iId ) && equalszKey,g_szCache_KeyModel ) && !equalszValue,g_szPlayerModeliId ] ) )
    {
        
set_user_infoiId,szKey,g_szPlayerModeliId ] );
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
message_ClCorpse( )
{
    static 
iIdiId get_msg_arg_intARG_PLAYERID );
    
    if( 
GetPlayerBitg_iAdmin,iId ) )
        
set_msg_arg_stringARG_MODELNAME,g_szPlayerModeliId ] );
}

/* ==========================================================
*                 [ Client-related ]
* =========================================================== */

public client_putinserveriId )
{
    static 
iFlagsiFlags get_user_flagsiId );
    
    if( 
iFlags ADMIN_KICK )
    {
        
SetPlayerBitg_iAdmin,iId );

        if( 
iFlags ADMIN_LEVEL_H )
            
SetPlayerBitg_iGirl,iId );
    }
}

public 
client_disconnectiId ClearPlayerBitg_iAdmin,iId ); 
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes
.
Responder
#19
(15/03/2015, 05:50 PM)Treki escribió:
(15/03/2015, 05:48 PM)BlackPower1 escribió:
(15/03/2015, 05:34 PM)Treki escribió:
(15/03/2015, 05:31 PM)hud escribió: Como haces a diferencia de mas de 2 "sexos"? Dafuq

Haces un model, transexual? Roflmao

Sabía que sonaba medio raro, pero me refería a que solo tenes que diferenciar entre dos tipos, si tuvieras que diferenciar entre más convendría una array mas grande con otros checkeos, etc. Yao ming

se descargan los modelos pero no sé ven , probare el de mario :T

Fijate que lo edité hace unos minutos, probalo de vuelta porque había puesto get_msg_arg_int en vez de read_data xP

EDIT: Versión final Proud Si tuviera dos modelos de mujer lo testearía xP Este si tiene que andar bien.

PD: El "admin_male" es terrorista, y el "admin_male2" es anti-terrorista. Lo mismo se aplica a "admin_girl".

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

/* ==========================================================
*                 [ Global stuff ]
* =========================================================== */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )

const ARG_MODELNAME 1;
const 
ARG_PLAYERID 12;

new const 
g_szCache_KeyModel[ ] = "model";
new const 
g_szModel[ ][ ] = { "admin_male","admin_male2","admin_girl","admin_girl2" };

new 
g_iAdmin,g_iGirl,g_szPlayerModel33 ][ 32 ];

/* ==========================================================
*                 [ Initiation ]
* =========================================================== */

public plugin_precache( )
{
    new 
szData64 ];
    
    for( new 
i;sizeofg_szModel );i++ )
    {
        
formatexszData,charsmaxszData ),"models/player/%s/%s.mdl",g_szModel],g_szModel] );
        
precache_modelszData );
    }
}

public 
plugin_init( )
{
    
register_plugin"Admin Models","1.0","Manu" );

    
register_event"TeamInfo","ev_TeamInfo","a" );
    
register_forwardFM_SetClientKeyValue,"fw_ClientKeyValue" );
    
register_messageget_user_msgid"ClCorpse" ),"message_ClCorpse" );
}

/* ==========================================================
*                 [ Main functions ]
* =========================================================== */

public ev_TeamInfo( )
{
    static 
iId,szTeam];
    
    
iId read_data);
    
read_data2,szTeam,charsmaxszTeam ) );
        
    if( 
GetPlayerBitg_iAdmin,iId ) )
    {
        
copyg_szPlayerModeliId ],charsmaxg_szPlayerModel[ ] ),g_szModelGetPlayerBitg_iGirl,iId ) ? ( szTeam] == 'T' 2:):( szTeam] == 'T' 0:) ] );
        
set_user_infoiId,g_szCache_KeyModel,g_szPlayerModeliId ] );
    }
}

public 
fw_ClientKeyValueiId,szBuffer[ ],szKey[ ],szValue[ ] )
{
    if( 
GetPlayerBitg_iAdmin,iId ) && equalszKey,g_szCache_KeyModel ) && !equalszValue,g_szPlayerModeliId ] ) )
    {
        
set_user_infoiId,szKey,g_szPlayerModeliId ] );
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
message_ClCorpse( )
{
    static 
iIdiId get_msg_arg_intARG_PLAYERID );
    
    if( 
GetPlayerBitg_iAdmin,iId ) )
        
set_msg_arg_stringARG_MODELNAME,g_szPlayerModeliId ] );
}

/* ==========================================================
*                 [ Client-related ]
* =========================================================== */

public client_putinserveriId )
{
    static 
iFlagsiFlags get_user_flagsiId );
    
    if( 
iFlags ADMIN_KICK )
    {
        
SetPlayerBitg_iAdmin,iId );

        if( 
iFlags ADMIN_LEVEL_H )
            
SetPlayerBitg_iGirl,iId );
    }
}

public 
client_disconnectiId ClearPlayerBitg_iAdmin,iId ); 

No se como explicar mi sentimientos, eres una bestia:G deberias de estar en la nasa q.q ilovethanks<3
Responder
#20
(15/03/2015, 02:51 PM)BlackPower1 escribió: Quiero un plugin , que sea como el admin model pero como tengo mujeres admin en mi servidor quiero que tengan su model y para los hombres igual osea diferenciarlos
Si ya existe el plugin me pasarian el link o si no ayudenme porfa

Gracias de antemano.Sonrisa

El plugin es solo cuestión de editar, Bueno aca te edite uno rapidito de
https://forums.alliedmods.net/showthread.php?p=97428
te le puse los modls de mujerer y 1 de hombre.
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/admin_hombre/admin_mujer.mdl")
        
precache_model("models/player/admin_mujer/admin_hombre.mdl")

        return 
PLUGIN_CONTINUE
}

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

        return 
PLUGIN_CONTINUE



Te daré 1 modls que me parecia interesante como mujer por que ademas que esta buena xD Pues me gusto mucho y el plugin funciona al 100% por que hasta utilize el code.

Aca te dejo los modls


Archivos adjuntos
.rar   modls_admin.rar (Tamaño: 2.89 MB / Descargas: 84)
Responder
#21
(15/03/2015, 03:07 PM)Mario AR. escribió:
Código PHP:
#include <amxmodx>
#include <cstrike>

#define NIVEL_DE_ADMIN    ADMIN_RESERVATION

#define PLUGIN "Menu de models"
#define VERSION "0.4"

#pragma semicolon 1

new g_menufg_menumg_sizefg_sizem, Array:g_modelsf, Array:g_modelsm;

public 
plugin_precache()
{
    
register_plugin(PLUGINVERSION"Mario AR.");
    
    
g_models ArrayCreate(321);
    
g_menum menu_create("Menu de Models \yVarones\r""menu_models");
    
g_menuf menu_create("Menu de Models \yMujeres\r""menu_models");
    
    new 
szBuffer[192], FileszModel[32], szName[64], szBlah[4];
    
get_localinfo("amxx_configsdir"szBuffercharsmax(szBuffer));
    
    
format(szBuffercharsmax(szBuffer), "%s/MenuDeModels.ini"szBuffer);
    
    if (!
file_exists(szBuffer))
    {
        
File fopen(szBuffer"wt");
        
        
fprintf(File"; Comando de chat para abrir el menu.^nCOMANDO = /models^n^n; Aqui van los models junto a su respectivo nombre y genero (F, M o FM (los dos)).^n^"vip^" ^"Model VIP^" ^"FM^"");
        
        
fclose(File);
    }
    
    
File fopen(szBuffer"rt");
    
    while (!
feof(File))
    {
        
fgets(FileszBuffercharsmax(szBuffer));
        
        if (!
szBuffer[0] || szBuffer[0] == ';' || szBuffer[0] == '^n')
            continue;
        
        
trim(szBuffer);
        
        if (
szBuffer[0] == 'C'// Registrando el comando
        
{
            
format(szBuffercharsmax(szBuffer), "say %s"szBuffer[10]);
            
register_clcmd(szBuffer"show_menu_models");
            
            
format(szBuffercharsmax(szBuffer), "say_team %s"szBuffer[4]);
            
register_clcmd(szBuffer"show_menu_models");
            
            continue;
        }
        
        
parse(szBufferszModelcharsmax(szModel), szNamecharsmax(szName), szBlahcharsmax(szBlah));
        
remove_quotes(szModel); remove_quotes(szName); remove_quotes(szBlah);
        
        
formatex(szBuffercharsmax(szBuffer), "models/player/%s/%s.mdl"szModelszModel);
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);
        else
        {
            
// El archivo no existe. Si intentamos cargarlo, el servidor se caera.
            // Mejor me desactivo para no causar problemas :(
            
ArrayDestroy(g_models);
            
menu_destroy(g_menu);
            
fclose(File);
            
            
log_amx("No se encontro %s"szBuffer);
            
set_fail_state("Error al cargar los models.");
            return;
        }
        
        
// Si el model incluye las texturas aparte (modelT.mdl) cargar tambien
        
copy(szBuffer[strlen(szBuffer)-4], charsmax(szBuffer), "T.mdl");
        
        if (
file_exists(szBuffer))
            
precache_model(szBuffer);

        if (
contain(szBlah"M") != -1)
        {
            
ArrayPushString(g_modelsmszModel);
            
menu_additem(g_menumszName);
        }

        if (
contain(szBlah"F") != -1)
        {
            
ArrayPushString(g_modelsfszModel);
            
menu_additem(g_menufszName);
        }
    }
    
    
fclose(File);
    
    
g_sizem ArraySize(g_modelsm);
    
g_sizef ArraySize(g_modelsf);

    
menu_additem(g_menuf"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menufMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menufMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menufMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menufMPROP_NUMBER_COLOR"\r");

    
menu_additem(g_menum"Ninguno \r(Model normal)");
    
    
menu_setprop(g_menumMPROP_EXITNAME"\ySalir^n");
    
menu_setprop(g_menumMPROP_BACKNAME"Anterior");
    
menu_setprop(g_menumMPROP_NEXTNAME"Siguiente^n");
    
menu_setprop(g_menumMPROP_NUMBER_COLOR"\r");
}

public 
show_menu_models(id)
{
    if (~
get_user_flags(id) & NIVEL_DE_ADMIN)
        return 
PLUGIN_CONTINUE;
    
    if (
esmujer(id)) // Aqui no se como reconoceras a las mujeres D:
        
menu_display(idg_menuf);
    else
        
menu_display(idg_menum);
    
    return 
PLUGIN_HANDLED;
}

public 
menu_models(idmenuitem)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED;
    
    if (
menu == g_menum && (<= item <= g_sizem))
    {
        if (
item == g_sizem)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsmitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }
    else if (
menu == g_menuf && (<= item <= g_sizef))
    {
        if (
item == g_sizef)
        {
            
cs_reset_user_model(id);
            
client_print(idprint_chat"Has elegido usar el model normal.");
        }
        else
        {
            new 
szModel[32];
            
ArrayGetString(g_modelsfitemszModelcharsmax(szModel));
            
cs_set_user_model(idszModel);
            
client_print(idprint_chat"Ahora llevas un model personalizado.");
        }
    }

    return 
PLUGIN_HANDLED;


Untested.

Cómo sería para poner el flag de mujer y el flag de hombre y se aga automatico?

Perdonen por revivir es que lo necesito ....
Responder
#22
(19/07/2015, 01:01 PM)|Luis. escribió: Cómo sería para poner el flag de mujer y el flag de hombre y se aga automatico?

Perdonen por revivir es que lo necesito ....

La solución original que di al problema corresponde a lo que pedís, buscala justo antes de que el otro boludo reviviera el tema.
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes
.
Responder
#23
(19/07/2015, 04:21 AM)Zer0-. escribió:
(15/03/2015, 02:51 PM)BlackPower1 escribió: Quiero un plugin , que sea como el admin model pero como tengo mujeres admin en mi servidor quiero que tengan su model y para los hombres igual osea diferenciarlos
Si ya existe el plugin me pasarian el link o si no ayudenme porfa

Gracias de antemano.Sonrisa

El plugin es solo cuestión de editar, Bueno aca te edite uno rapidito de
https://forums.alliedmods.net/showthread.php?p=97428
te le puse los modls de mujerer y 1 de hombre.
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/admin_hombre/admin_mujer.mdl")
        
precache_model("models/player/admin_mujer/admin_hombre.mdl")

        return 
PLUGIN_CONTINUE
}

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

        return 
PLUGIN_CONTINUE



Te daré 1 modls que me parecia interesante como mujer por que ademas que esta buena xD Pues me gusto mucho y el plugin funciona al 100% por que hasta utilize el code.

Aca te dejo los modls

Te daría negativo, pero no tengo los mensajes necesaeios -.-, aparte que ese plugin tiene muchas cosas innecesarias. trekiforever<3
Responder
#24
(15/03/2015, 05:31 PM)hud escribió:
(15/03/2015, 05:20 PM)Treki escribió:
(15/03/2015, 05:12 PM)BlackPower1 escribió:
(15/03/2015, 04:42 PM)Treki escribió: [quote='BlackPower1' pid='72279' dateline='1426448277']
Dafuq Donde coloco para que se pongan los modelos (colocar la carpeta y su modelo eso.) Dafuq

Como en la anterior había dado respuesta rápida no encontré para adjuntar los archivos y no lo hice, acá tenes un ejemplo funcional acorde al código que te dejé recién.

Gran sonrisa Otro ultimo favor tengo son 4 modelos , es decir 2 Models Girls (CT Y TT) y los otros dos de los hombres

Está hecho mas a lo negro, pero mientras solo tengas cuatro models y a diferencia de dos sexos, funciona perfecto.

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

/* ==========================================================
*                 [ Global stuff ]
* =========================================================== */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )

const ARG_MODELNAME 1;
const 
ARG_PLAYERID 12;

new const 
g_szCache_KeyModel[ ] = "model";
new const 
g_szModel[ ][ ] = { "admin_male","admin_male2","admin_girl","admin_girl2" };

new 
g_iModeled,g_szPlayerModel33 ][ 32 ];

/* ==========================================================
*                 [ Initiation ]
* =========================================================== */

public plugin_precache( )
{
    new 
szData64 ];
    
    for( new 
i;sizeofg_szModel );i++ )
    {
        
formatexszData,charsmaxszData ),"models/player/%s/%s.mdl",g_szModel],g_szModel] );
        
precache_modelszData );
    }
}

public 
plugin_init( )
{
    
register_plugin"Admin Models","1.0","Manu" );
    
    
register_forwardFM_SetClientKeyValue,"fw_ClientKeyValue" );
    
register_messageget_user_msgid"ClCorpse" ),"message_ClCorpse" );
}

/* ==========================================================
*                 [ Main functions ]
* =========================================================== */

public fw_ClientKeyValueiId,szBuffer[ ],szKey[ ],szValue[ ] )
{
    if( 
GetPlayerBitg_iModeled,iId ) && equalszKey,g_szCache_KeyModel ) && !equalszValue,g_szPlayerModeliId ] ) )
    {
        
set_user_infoiId,szKey,g_szPlayerModeliId ] );
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
message_ClCorpse( )
{
    static 
iIdiId get_msg_arg_intARG_PLAYERID );
    
    if( 
GetPlayerBitg_iModeled,iId ) )
        
set_msg_arg_stringARG_MODELNAME,g_szPlayerModeliId ] );
}

/* ==========================================================
*                 [ Client-related ]
* =========================================================== */

public client_putinserveriId )
{
    static 
iFlagsiFlags get_user_flagsiId );
    
    if( 
iFlags ADMIN_KICK )
    {
        
copyg_szPlayerModeliId ],charsmaxg_szPlayerModel[ ] ),g_szModel[ ( iFlags ADMIN_LEVEL_H ) ? random_num2,):random_num0,) ] );
        
set_user_infoiId,g_szCache_KeyModel,g_szPlayerModeliId ] );
    }
}

public 
client_disconnectiId ClearPlayerBitg_iModeled,iId ); 

Pana mira Pero Como hago para Agregar a Las Personas (Mujeres) en este caso, Osea Para colocarle el Models Solo a Ellas?
Responder
#25
(07/09/2015, 03:05 PM)Grgoxx escribió:
(15/03/2015, 05:31 PM)hud escribió:
(15/03/2015, 05:20 PM)Treki escribió:
(15/03/2015, 05:12 PM)BlackPower1 escribió:
(15/03/2015, 04:42 PM)Treki escribió: [quote='BlackPower1' pid='72279' dateline='1426448277']
Dafuq Donde coloco para que se pongan los modelos (colocar la carpeta y su modelo eso.) Dafuq

Como en la anterior había dado respuesta rápida no encontré para adjuntar los archivos y no lo hice, acá tenes un ejemplo funcional acorde al código que te dejé recién.

Gran sonrisa Otro ultimo favor tengo son 4 modelos , es decir 2 Models Girls (CT Y TT) y los otros dos de los hombres

Está hecho mas a lo negro, pero mientras solo tengas cuatro models y a diferencia de dos sexos, funciona perfecto.

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

/* ==========================================================
*                 [ Global stuff ]
* =========================================================== */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )

const ARG_MODELNAME 1;
const 
ARG_PLAYERID 12;

new const 
g_szCache_KeyModel[ ] = "model";
new const 
g_szModel[ ][ ] = { "admin_male","admin_male2","admin_girl","admin_girl2" };

new 
g_iModeled,g_szPlayerModel33 ][ 32 ];

/* ==========================================================
*                 [ Initiation ]
* =========================================================== */

public plugin_precache( )
{
    new 
szData64 ];
    
    for( new 
i;sizeofg_szModel );i++ )
    {
        
formatexszData,charsmaxszData ),"models/player/%s/%s.mdl",g_szModel],g_szModel] );
        
precache_modelszData );
    }
}

public 
plugin_init( )
{
    
register_plugin"Admin Models","1.0","Manu" );
    
    
register_forwardFM_SetClientKeyValue,"fw_ClientKeyValue" );
    
register_messageget_user_msgid"ClCorpse" ),"message_ClCorpse" );
}

/* ==========================================================
*                 [ Main functions ]
* =========================================================== */

public fw_ClientKeyValueiId,szBuffer[ ],szKey[ ],szValue[ ] )
{
    if( 
GetPlayerBitg_iModeled,iId ) && equalszKey,g_szCache_KeyModel ) && !equalszValue,g_szPlayerModeliId ] ) )
    {
        
set_user_infoiId,szKey,g_szPlayerModeliId ] );
        
        return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED;
}

public 
message_ClCorpse( )
{
    static 
iIdiId get_msg_arg_intARG_PLAYERID );
    
    if( 
GetPlayerBitg_iModeled,iId ) )
        
set_msg_arg_stringARG_MODELNAME,g_szPlayerModeliId ] );
}

/* ==========================================================
*                 [ Client-related ]
* =========================================================== */

public client_putinserveriId )
{
    static 
iFlagsiFlags get_user_flagsiId );
    
    if( 
iFlags ADMIN_KICK )
    {
        
copyg_szPlayerModeliId ],charsmaxg_szPlayerModel[ ] ),g_szModel[ ( iFlags ADMIN_LEVEL_H ) ? random_num2,):random_num0,) ] );
        
set_user_infoiId,g_szCache_KeyModel,g_szPlayerModeliId ] );
    }
}

public 
client_disconnectiId ClearPlayerBitg_iModeled,iId ); 

Pana mira Pero Como hago para Agregar a Las Personas (Mujeres) en este caso, Osea Para colocarle el Models Solo a Ellas?
Dandole el flag ADMIN_LEVEL_H solo a las mujeres
Ejemplo:
Cita:"STEAM_0:0:00000..." "" "abcdefhijklmnpqrstu" "ce"
Mis Aportes:

[ TTT ] Item: Target Gun

[ TTT ] Item: Skeleton Gun (New)
[ TTT ] Item: Pipe Bomb
[ TTT ] Item: Inverse Golden
[Imagen: 76561198074954930.png] [Imagen: venezuela.gif]
Pregúntate si lo que estás haciendo hoy te acerca a el lugar en el que quieres estar mañana. Corazón
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)