Статус темы:
Закрыта.
  1. by4udilo Пользователь

    Регистрация:
    12.11.15
    Сообщения:
    190
    Симпатии:
    53
    Пол:
    Мужской
    Skype:
    by4udilo
    #include <amxmodx>
    #include <hamsandwich>
    #include <fakemeta>
    #include <fun>
    #include <cstrike>
    #include <amxmisc>
    #include <engine>


    new AK_V_MODEL[] = "models/dp/v_ak47.mdl"
    new M4_V_MODEL[] = "models/dp/v_m4a1.mdl"
    new DG_V_MODEL[] = "models/dp/v_deagle.mdl"

    new AK_P_MODEL[] = "models/dp/p_ak47.mdl"
    new M4_P_MODEL[] = "models/dp/p_m4a1.mdl"
    new DG_P_MODEL[] = "models/dp/p_deagle.mdl"

    new AK_W_MODEL[] = "models/dp/w_ak47.mdl"
    new M4_W_MODEL[] = "models/dp/w_m4a1.mdl"
    new DG_W_MODEL[] = "models/dp/w_deagle.mdl"
    new bool:gold[512] // взял временно так


    public plugin_precache(){
    precache_model(AK_V_MODEL)
    precache_model(AK_P_MODEL)
    precache_model(AK_W_MODEL)

    precache_model(M4_V_MODEL)
    precache_model(M4_P_MODEL)
    precache_model(M4_W_MODEL)

    precache_model(DG_V_MODEL)
    precache_model(DG_P_MODEL)
    precache_model(DG_W_MODEL)
    }


    public plugin_init() {
    RegisterHam( Ham_Item_Deploy, "weapon_deagle" , "hamdeagle", 1);
    RegisterHam( Ham_Item_Deploy, "weapon_ak47" , "hamak47", 1);
    RegisterHam( Ham_Item_Deploy, "weapon_m4a1" , "hamm4a1", 1);
    // register_event("DeathMsg", "Death", "a") вроде не нужно...
    // RegisterHam( Ham_Item_Drop , "weapon_ak47" , "f_HamRemovePlayerItem",1) не тот ид =(
    // register_forward(FM_SetModel, "set_model", 1) нужно еще побегать с бубном
    register_clcmd("say /ak", "CmdBuyAk")
    }
    /*
    public set_model(ent, model[])
    {
    if(!pev_valid(ent))
    return;
    if(equali(model, "models/w_ak47.mdl", 22) && gold[ent] == true)
    engfunc(EngFunc_SetModel, ent, AK_W_MODEL)
    }
    */



    public hamdeagle( entity )
    {
    new id = get_pdata_cbase( entity, 41, 4 );
    if(gold[entity] == true || gold[id] == true){
    gold[id] = false
    gold[entity] = true
    set_pev(id, pev_viewmodel2, DG_V_MODEL)
    set_pev(id, pev_weaponmodel2, DG_P_MODEL)
    }
    return HAM_IGNORED;
    }
    public hamak47( entity )
    {
    new id = get_pdata_cbase( entity, 41, 4 );
    if(gold[entity] == true || gold[id] == true){
    gold[id] = false
    gold[entity] = true
    set_pev(id, pev_viewmodel2, AK_V_MODEL)
    set_pev(id, pev_weaponmodel2, AK_P_MODEL)
    }
    return HAM_IGNORED; // просто так
    }
    public hamm4a1( entity )
    {
    new id = get_pdata_cbase( entity, 41, 4 );
    if(gold[entity] == true || gold[id] == true){
    gold[id] = false
    gold[entity] = true
    set_pev(id, pev_viewmodel2, M4_V_MODEL)
    set_pev(id, pev_weaponmodel2, M4_P_MODEL)
    }
    return HAM_IGNORED;
    }
    public CmdBuyAk(id)
    {
    gold[id] = true
    give_item(id, "weapon_ak47")
    }
    Если я присвою значение entity находящегося в руках оружию,то сколько я не передавал оружие entity id не меняется и значение сохраняется.Проблема только после выкидывания оружия,во время лежания на полу , entity id имеет другое значение(обычно на 1 больше),если другой игрок берет это оружие то возвращается entity id который был у владельца оружия.Вот бы узнать по лежащему оружию его entity в руках...
     
    Последнее редактирование: 10.03.16
  2. by4udilo Пользователь

    Регистрация:
    12.11.15
    Сообщения:
    190
    Симпатии:
    53
    Пол:
    Мужской
    Skype:
    by4udilo
    find_ent_by_owner( -1, "weapon_ak47", ent )
    close this unskill topic
     
Статус темы:
Закрыта.