Raised This Month: $51 Target: $400
 12% 

cut connor .


  
 
 
Thread Tools Display Modes
Author Message
anthologie
Senior Member
Join Date: May 2010
Old 12-22-2010 , 07:05   cut connor .
#1

Salut ,


Je voudrais vous demandez si par hasard vous pouriez me dire si c'est une cvars QUE ce menu s'ouvre que pour les terro a chaque round mais que pour les terro sinon me le faire si c'est le plugin a modifié merci!!!




Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define MAX_MODEL_PATH_LENGTH 64
#define MAX_MODEL_DESCRIPTION 32

#define XO_WEAPON             4
#define m_pPlayer             41
#define m_fWeaponState        74
#define m_flDeployedTime    76

#define XO_PLAYER         5
#define m_pActiveItem    373
#define m_iUserPrefs     510

const HAS_SHIELD = 1<<24

#define HasShield(%0)    ( get_pdata_int(%0, m_iUserPrefs, XO_PLAYER) & HAS_SHIELD )

#define KNIFE_DRAW            3

#define MAX_PLAYERS        32
new g_iKnifeModel[MAX_PLAYERS+1]

new g_iMenu = -1
new Array:g_aKnivesModels

public plugin_init()
{
    register_plugin("Knife Models", "0.3.2", "ConnorMcLeod")
}

public plugin_end()
{
    if( g_aKnivesModels != Invalid_Array )
    {
        ArrayDestroy(g_aKnivesModels)
    }
}

public plugin_precache() 
{
    new szConfigFile[64]
    get_localinfo("amxx_configsdir", szConfigFile, charsmax(szConfigFile))
    add(szConfigFile, charsmax(szConfigFile), "/knives_models.ini")
    new fp = fopen(szConfigFile, "r")
    if( fp )
    {
        new szDatas[MAX_MODEL_PATH_LENGTH+MAX_MODEL_DESCRIPTION+8], 
            szModel[MAX_MODEL_PATH_LENGTH], 
            szModelName[MAX_MODEL_DESCRIPTION],
            szDefaultModel[4]
        new szData[6], iModelsCount, iParsed
        while( !feof(fp) )
        {
            fgets(fp, szDatas, charsmax(szDatas))
            trim( szDatas )
            if( !szDatas[0] || szDatas[0] == '/' || szDatas[0] == '#' )
            {
                continue
            }
            iParsed = parse(    szDatas, 
                        szModel, charsmax(szModel), 
                        szModelName, charsmax(szModelName),
                        szDefaultModel, charsmax(szDefaultModel))

            if( (iParsed == 3 && szDefaultModel[0] == '1') || file_exists(szModel) )
            {
                if( g_iMenu == -1 )
                {
                    EnablePlugin()
                }
                formatex(szData, charsmax(szData), "%d", ++iModelsCount)
                menu_additem(g_iMenu, szModelName, szData)
                ArrayPushString(g_aKnivesModels, szModel)
                precache_model(szModel)
            }
        }
        if( g_aKnivesModels != Invalid_Array && ArraySize(g_aKnivesModels) < 10 )
        {
            menu_setprop(g_iMenu, MPROP_PERPAGE, 9)
        }
        fclose(fp)
    }
}

EnablePlugin()
{
    g_iMenu = menu_create("Knife Model Menu :", "KnifeModelMenuCallBack")
    menu_setprop(g_iMenu, MPROP_NUMBER_COLOR, "\y")

    g_aKnivesModels = ArrayCreate( MAX_MODEL_PATH_LENGTH )

    RegisterHam(Ham_Item_Deploy, "weapon_knife", "CKnife_Deploy", 1)

    register_clcmd("say /knife", "ClCmd_OpenKnifeMenu")
    register_clcmd("say_team /knife", "ClCmd_OpenKnifeMenu")
}

public client_putinserver( id )
{
    g_iKnifeModel[id] = 0
}

public ClCmd_OpenKnifeMenu(id)
{
    menu_display(id, g_iMenu)
}

public KnifeModelMenuCallBack(id, iMenu, iItem)
{
    if( iItem != MENU_EXIT )
    {
        new szData[6], szName[2]
        new iAccess, callback
        menu_item_getinfo(g_iMenu, iItem, iAccess, szData, charsmax(szData), szName, charsmax(szName), callback)   

        g_iKnifeModel[id] = str_to_num(szData)-1
        new szModel[MAX_MODEL_PATH_LENGTH]
        ArrayGetString(g_aKnivesModels, g_iKnifeModel[id], szModel, charsmax(szModel))
        if( get_user_weapon(id) == CSW_KNIFE && !HasShield(id) )
        {
            new iWeapon = get_pdata_cbase(id, m_pActiveItem, XO_PLAYER)
            if( get_gametime() - get_pdata_float(iWeapon, m_flDeployedTime, XO_WEAPON) <= 1.5 )
            {
                message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player=id)
                {
                    write_byte(KNIFE_DRAW)
                    write_byte( pev(id, pev_body) )
                }
                message_end()
            }

            ExecuteHamB(Ham_Item_Deploy, iWeapon)
        }
        new iCurrentPage, osef
        player_menu_info(id, osef, osef, iCurrentPage)
        menu_display(id, g_iMenu, iCurrentPage)
    }
    return PLUGIN_HANDLED
}

public CKnife_Deploy( iKnife )
{
    new id = get_pdata_cbase(iKnife, m_pPlayer, XO_WEAPON)
    if( !HasShield(id) )
    {
        new szModel[MAX_MODEL_PATH_LENGTH]
        ArrayGetString(g_aKnivesModels, g_iKnifeModel[id], szModel, charsmax(szModel))
        set_pev(id, pev_viewmodel2, szModel)
    }
}  
anthologie is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 03:08.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode