1. TauJIeP Пользователь

    Регистрация:
    04.04.16
    Сообщения:
    389
    Симпатии:
    42
    Пол:
    Мужской
    Skype:
    hohlachev-s
    Плагин работает, но выдает ошибку
    L 04/21/2016 - 13:46:31: [HAMSANDWICH] Function AttachToPlayer not found.
    L 04/21/2016 - 13:46:31: [AMXX] Run time error 10 (plugin "goldenak.amxx") (native "RegisterHam") - debug not enabled!
    L 04/21/2016 - 13:46:31: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).


    PHP:
    #include <amxmodx>
    #include <fakemeta>
    #include <fakemeta_util>
    #include <fun>
    #include <hamsandwich>
    #include <cstrike>
    #include <colorchat>

    #define is_valid_player(%1) (1 <= %1 <= 32)

    #define ZOOM
    #define WK 3333

    #define vip_flag ADMIN_LEVEL_H

    new const AK47_BIT_SUM = (1<<CSW_AK47)

    new 
    AK_V_MODEL[64] = "models/v_golden_ak47.mdl"
    new AK_P_MODEL[64] = "models/p_golden_ak47.mdl"
    new AK_W_MODEL[64] = "models/w_golden_ak47.mdl"

    new g_hasZoom[33], gold_damagegolden_modelgoldak_cost
    new bool:g_HasAk[33]

    public 
    plugin_init() {
        
    register_plugin("GoldenAK47 Remake ""1.1""Alienware")
        
    register_clcmd("say /ak""cmdGoldenAk")
       
        
    gold_damage register_cvar("goldenak_dmg""5")
        
    golden_model register_cvar("goldenak_custommodel""1")
        
    goldak_cost register_cvar("goldenak_cost""3000")
           
        
    register_event("WeapPickup""checkModel""b","1=19")
        
    register_event("CurWeapon""checkWeapon""be","1=1")

        
    RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
        
    RegisterHam(Ham_Item_AttachToPlayer"weapon_ak47""AttachToPlayer")
       
        
    #if defined ZOOM
        
    register_forward(FM_CmdStart"fw_CmdStart")
        
    #endif
        
    register_forward(FM_SetModel"fw_SetModel")
    }
    public 
    client_connect(id)
        
    g_HasAk[id] = false
    public client_disconnect(id)
        
    g_HasAk[id] = false

    public plugin_precache() {
        
    precache_model(AK_V_MODEL)
        
    precache_model(AK_P_MODEL)
        
    precache_model(AK_W_MODEL)
        
    precache_sound("weapons/zoom.wav")
    }

    public 
    cmdGoldenAk(id) {
        if(!
    is_user_alive(id)) return
       
        new 
    money cs_get_user_money(id)
       
        if(
    money get_pcvar_num(goldak_cost)) {
            
    ColorChat(idGREEN"^x04|Gold| ^x01У вас недостаточно ^x04денег")
            return
        }
       
        
    drop_weapon(id1)               
        
    give_item(id"weapon_ak47")
        
    cs_set_user_bpammo(idCSW_AK4790)
        
    cs_set_user_money(idmoney get_pcvar_num(goldak_cost))
        
    ColorChat(idGREEN"^x04|Gold| ^x01Вы купили ^x04Gold AK-47")
        
    g_HasAk[id] = true
    }

    public 
    checkModel(id) {     
        new 
    szWeapID read_data(2)
           
        if(
    szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(golden_model) == 1) {
            
    set_pev(idpev_viewmodel2AK_V_MODEL)
            
    set_pev(idpev_weaponmodel2AK_P_MODEL)
        }
        return 
    PLUGIN_HANDLED
    }

    public 
    checkWeapon(id) {
        new 
    plrWeapId
        plrWeapId 
    get_user_weapon(id)

        if (
    plrWeapId == CSW_AK47 && g_HasAk[id])
            
    checkModel(id)
        else
            return 
    PLUGIN_CONTINUE
       
        
    return PLUGIN_HANDLED
    }

    public 
    fw_Item_AttachToPlayer(entid) {
        if(
    pev_valid(ent) != || !is_user_alive(id) )
            return 
    HAM_IGNORED
        
    if(pev(entpev_impulse) == WK)
            
    g_HasAk[id] = true
        
    return HAM_IGNORED
    }

    public 
    fw_TakeDamage(victiminflictorattackerFloat:damage) {
        if(
    is_valid_player(attacker) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker])
            
    SetHamParamFloat(4damage get_pcvar_float(gold_damage))
    }

    #if defined ZOOM
    public fw_CmdStartiduc_handleseed ) {
        if(!
    is_user_alive(id))
            return 
    PLUGIN_HANDLED
           
        
    if((get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && !( pev(idpev_oldbuttons) & IN_ATTACK2)) {
            new 
    szWeapID get_user_weapon(id)

            if(
    szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true) {
                
    g_hasZoom[id] = true
                cs_set_user_zoom
    (idCS_SET_AUGSG552_ZOOM0)
                
    emit_sound(idCHAN_ITEM"weapons/zoom.wav"0.202.400100)
            } else if(
    szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id]) {
                
    g_hasZoom[id] = false
                cs_set_user_zoom
    (idCS_RESET_ZOOM0)         
            }
        }
        return 
    PLUGIN_HANDLED
    }
    #endif

    public fw_SetModel(entitymodel[]) {
        if(!
    pev_valid(entity))
            return 
    FMRES_IGNORED
       
        
    static szClassName[33]
        
    pev(entitypev_classnameszClassNamecharsmax(szClassName))
       
        if(!
    equal(szClassName"weaponbox"))
            return 
    FMRES_IGNORED
       
        
    static id
        id 
    pev(entitypev_owner)
       
        if(
    equal(model"models/w_ak47.mdl")) {
            static 
    weapon
            weapon 
    fm_find_ent_by_owner(-1"weapon_ak47"entity)
           
            if(!
    pev_valid(weapon))
                return 
    FMRES_IGNORED
           
            
    if(g_HasAk[id]) {
                
    set_pev(weaponpev_impulse1942)
                
    engfunc(EngFunc_SetModelentityAK_W_MODEL)
                return 
    FMRES_SUPERCEDE
            
    }
        }
        return 
    FMRES_IGNORED
    }

    stock boolis_user_cool(const id)
    {
        if(!
    is_user_connected(id))
            return 
    false;
       
        if((
    get_user_flags(id) & vip_flag))
            return 
    true;
           
        return 
    false;
    }

    stock drop_weapon(iddropwhat) {
        static 
    weapons[32], numiweaponid
        num 
    0
        get_user_weapons
    (idweaponsnum)
       
        for (
    0numi++) {
            
    weaponid weapons[i]
           
            if ((
    dropwhat == && ((1<<weaponid) & AK47_BIT_SUM))) {
                static 
    wname[32]
                
    get_weaponname(weaponidwnamecharsmax(wname))
                
    engclient_cmd(id"drop"wname)
            }
        }
    }
     
  2. windranger1337 Пользователь

    Регистрация:
    04.10.15
    Сообщения:
    303
    Симпатии:
    177
    Telegram:
    serfreeman1337
    AttachToPlayer -> fw_Item_AttachToPlayer
     
  3. TauJIeP Пользователь

    Регистрация:
    04.04.16
    Сообщения:
    389
    Симпатии:
    42
    Пол:
    Мужской
    Skype:
    hohlachev-s
    Везде заменить стручку AttachToPlayer на fw_Item_AttachToPlayer
    я не скриптер, не понимаю
     
  4. windranger1337 Пользователь

    Регистрация:
    04.10.15
    Сообщения:
    303
    Симпатии:
    177
    Telegram:
    serfreeman1337
    В чем проблема проверить?
    Заменяешь 1 раз, проверяешь
    не получилось
    заменяешь еще
     
  5. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.589
    Симпатии:
    4.159
    Пол:
    Мужской
    TauJIeP,
    RegisterHam(Ham_Item_AttachToPlayer, "weapon_ak47", "AttachToPlayer")
    в этой строке замени как написал фриман
     
  6. TauJIeP Пользователь

    Регистрация:
    04.04.16
    Сообщения:
    389
    Симпатии:
    42
    Пол:
    Мужской
    Skype:
    hohlachev-s
    Уже сообразил. Спасибо