[AMX] Tổng hợp Code, Plug do Mem chế hoặc giới thiệu

Thảo luận trong 'Counter Strike' bắt đầu bởi Orpheus, 22/1/11.

  1. teobrvt1995

    teobrvt1995 T.E.T.Я.I.S

    Tham gia ngày:
    19/9/10
    Bài viết:
    691
    cái của cậu là phải set maxclip khi player đã hoàn thành reload ý.dùng ham item postframe mà làm.
     
  2. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    @YuNo:
    - Tui làm gắn vào 1 file sma duy nhất.

    @buiducduy:
    PHP:
    new g_m4a1_clip[33], g_had_m4a1[33], g_reload[33]

    #define M4A1_CLIP 50

    public plugin_init()
    {
        
    RegisterHam(Ham_Weapon_Reload"weapon_m4a1""ham_reload")
        
    RegisterHam(Ham_Weapon_Reload,  "weapon_m4a1""ham_reload_post"1)
            
    RegisterHam(Ham_Item_PostFrame"weapon_m4a1""ham_postframe")
    }

    public 
    ham_reload(ent)
    {
        if(!
    pev_valid(ent))
            return 
    HAM_IGNORED
        
        
    static id
        id 
    pev(entpev_owner)
        
        if(
    is_user_alive(id) && is_user_connected(id) && g_had_m4a1[id])
        {        
            
    g_m4a1_clip[id] = -1
            
            
    new bpammo
            bpammo 
    cs_get_user_bpammo(idCSW_M4A1)
            
            new 
    iClip get_pdata_int(ent514)
            
            if (
    bpammo <= 0)
                return 
    HAM_SUPERCEDE
            
            
    if(iClip >= M4A1_CLIP)
                return 
    HAM_SUPERCEDE        
            
            g_m4a1_clip
    [id] = iClip
            g_reload
    [id] = 1
        
    }
        
        return 
    HAM_IGNORED
    }

    public 
    ham_reload_post(ent)
    {
        if(!
    pev_valid(ent))
            return 
    HAM_IGNORED
        
        
    static id
        id 
    pev(entpev_owner)
        
        if(
    is_user_alive(id) && is_user_connected(id) && g_had_m4a1[id])
        {    
            if (
    g_m4a1_clip[id] == -1)
                return 
    HAM_IGNORED
            
                    
    /*
            static Float:reload_time
            if(g_skull3_mode[id] == 1)
                reload_time = 2.2
            else if(g_skull3_mode[id] == 2)
                reload_time = 3.4
            
                    set_pdata_float(ent, 48, reload_time, 4)
            set_pdata_float(id, 83, reload_time, 5)*/ // Cai nay de chinh time reload. Ko can thiet nen tat di

            
    set_pdata_int(ent51g_m4a1_clip[id], 4)
            
    set_pdata_int(ent5414)
            
            
    set_weapon_anim(id1// Anim 1 = Reload Anim
        
    }
        
        return 
    HAM_IGNORED
    }

    public 
    ham_postframe(ent)
    {
        if(!
    pev_valid(ent))
            return 
    HAM_IGNORED
        
        
    static id
        id 
    pev(entpev_owner)
        
        if(
    is_user_alive(id) && is_user_connected(id) && g_had_m4a1[id])
        {    
            new 
    Float:flNextAttack get_pdata_float(id835)
            
            new 
    bpammo
            bpammo 
    cs_get_user_bpammo(idCSW_M4A1)
            
            new 
    iClip get_pdata_int(ent514)
            new 
    fInReload get_pdata_int(ent544)
            
            if(
    fInReload && flNextAttack <= 0.0)
            {
                new 
    temp1
                temp1 
    min(M4A1_CLIP iClipbpammo)
                
                
    set_pdata_int(ent51iClip temp14)
                
                
    cs_set_user_bpammo(idCSW_M4A1bpammo-temp1)    
                
                
    set_pdata_int(ent5404)
                
                
    fInReload 0
                g_reload
    [id] = 0
            
    }        
        }
        
        return 
    HAM_IGNORED
    }

    stock set_weapon_anim(idanim)

        
    set_pev(idpev_weaponanimanim)
        
        
    message_begin(MSG_ONESVC_WEAPONANIM_id)
        
    write_byte(anim)
        
    write_byte(pev(idpev_body))
        
    message_end()
    }
     
  3. teobrvt1995

    teobrvt1995 T.E.T.Я.I.S

    Tham gia ngày:
    19/9/10
    Bài viết:
    691
    Ham reload chỉ dùg để set time reload th.
     
  4. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    - Thử chưa ? mà la to...................
     
  5. teobrvt1995

    teobrvt1995 T.E.T.Я.I.S

    Tham gia ngày:
    19/9/10
    Bài viết:
    691
    Rồi...........................................
     
  6. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    CSO Emotion
    - Author: Dias
    - Model: LuanKing

    [video=youtube;8ExnI0DO2K0]http://www.youtube.com/watch?v=8ExnI0DO2K0[/URL][/video]
     
  7. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257

    Vãi ông anh ........:)) :1cool_dribble:
     
  8. huucuong_2107198

    huucuong_2107198 Dragon Quest

    Tham gia ngày:
    29/12/09
    Bài viết:
    1,449
    Cái này hay nè ! Lúc win round mình sẽ làm cái này ! Kingler đâu có công việc rồi nè em ! Tha hồ sáng tạo nha !
     
  9. kungfulon

    kungfulon Fire in the hole! Lão Làng GVN Sorcerer

    Tham gia ngày:
    1/5/11
    Bài viết:
    2,535
    Có khó khăn gì đâu:|
     
  10. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Nó hài thôi :)) ... ĐÚng là ko khó lém :)

    Dias: Anh có code hand không cho em xin với :)
    Dùng cái WeaponSendAnim nó cứ nhảy loạn lên !
     
  11. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    - Code hand gì ?

    @Huucuong:
    - CF làm gì có cái này nhỉ :))
     
  12. teobrvt1995

    teobrvt1995 T.E.T.Я.I.S

    Tham gia ngày:
    19/9/10
    Bài viết:
    691
    Hajz,code súng của ôg dias làm toàn return handle...sửa lại nãn wá
     
  13. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Ví dụ như CT 1 hand, TER 1 hand đó anh... Skin sub 2 hand!

    PS: Mà sao để xem cái biến damge nó = bao nhiêu hả mấy anh
    PHP:
    /* Script generated by Pawn Studio */

    #include <amxmodx>
    #include <amxmisc>
    #include <hamsandwich>

    #define PLUGIN    "New Plugin"
    #define AUTHOR    "Unknown"
    #define VERSION    "1.0"


    public plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
    RegisterHam(Ham_TakeDamage"player""fw_takedamage")
    }



    public 
    fw_takedamage(victiminflictorattackerFloat:damage)
    {
        if (!
    is_user_connected(victim) || !is_user_connected(attacker))
            return 
    HAM_IGNORED


        
    new floatround(damage)
        
    client_print(attackerprint_chat"attack: %i",a)
        return 
    HAM_IGNORED
    }
     
  14. bienchuot

    bienchuot Mr & Ms Pac-Man

    Tham gia ngày:
    9/6/09
    Bài viết:
    159
    Nơi ở:
    IllusionaryWorld
    PHP:
    RegisterHam(Ham_TakeDamage"player""fw_Ham_TakeDamage_Post"1)

    public 
    fw_Ham_TakeDamage_Post(iVictimiInflictoriAttackerFloat:fDamageiDamageBits)
    {
        if (!
    is_user_connected(iVictim) || !is_user_alive(iAttacker))
            return;

        
    client_print(iAttackerprint_chat"Damage: %i"floatround(fDamage))
    }
    Còn cái hand thì hook Ham_Weapon_SendWeaponAnim, send SVC_WEAPONANIM rồi HAM_SUPERCEDE.
     
    Chỉnh sửa cuối: 15/4/12
  15. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257

    Có print chat được đâu "_" !
     
  16. kungfulon

    kungfulon Fire in the hole! Lão Làng GVN Sorcerer

    Tham gia ngày:
    1/5/11
    Bài viết:
    2,535
    Vậy chỉ ra xem tôi sai ở chỗ nào mà ko print đc:-?
    Ahhh, chắc cậu dùng ZBot:-j
     
  17. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    return HAM_IGNORED dùm con 1 cái. return chỉ dành cho engine thôi. amx thì return PLUGIN_...., ham thì HAM_... còn fakemeta thì FMRES_
    cứ thích đem râu ông này cắm cằm bà nọ. return 1 lần là nó tắt luôn cái Ham đấy =))
     
    Chỉnh sửa cuối: 15/4/12
  18. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    PHP:

    #include <amxmodx>
    #include <amxmisc>
    #include <hamsandwich>

    #define PLUGIN    "New Plugin"
    #define AUTHOR    "Unknown"
    #define VERSION    "1.0"


    public plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
    RegisterHam(Ham_TakeDamage"player""fw_takedamage")
    }



    public 
    fw_takedamage(victiminflictorattackerFloat:damage)
    {
        if (!
    is_user_connected(victim) || !is_user_connected(attacker))
            return 
    HAM_IGNORED


        
    new floatround(damage)
        
    client_print(attackerprint_chat"attack: %i",a)
        return 
    HAM_IGNORED
    }
    [/B]

    Nói về return thì cái này em return rồi cũng đâu được "_" :((

    Ukm... Dùng Zbot thì sao ?? Hay cái này cũng phải RegisterHam Cho bọn BOT *_* Để thử xem !!!!
     
  19. teobrvt1995

    teobrvt1995 T.E.T.Я.I.S

    Tham gia ngày:
    19/9/10
    Bài viết:
    691
    hmm...không hỉu tại sao cứ deploy/fire súng là hud message+hud sync nó nhảy dựng lên :))
     
  20. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Ùi được rồi.. Register Ham cho bọn bot nó mới chạy ... Khẩu AK47 shoot phát vào đầu được 140 cơ đấy :))



    P/S: Mọi người giúp em với.. Ngoài lúc reload và draw thì hand nó cứ nhảy loạn xạ

    PHP:
    /* Script generated by Pawn Studio */

    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <hamsandwich>


    #define PLUGIN    "New Plugin"
    #define AUTHOR    "Unknown"
    #define VERSION    "1.0"

    new hand[33]

    public 
    plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
    RegisterHam(Ham_Weapon_SendWeaponAnim"weapon_ak47""ak47_anim")
        
        
    register_concmd("change_hand","change_hand")
    }

    public 
    change_hand(id)
    {
        new 
    read[10]
        
    read_argv(idread9)
        
    hand[id] = str_to_num(read)
    }

    public 
    ak47_anim(entiAnimskiplocalbody)
    {
        new 
    id pev(entpev_owner)
        if (!
    is_user_connected(id)) return HAM_IGNORED
        SendAnim
    (idiAnimhand[id])
        
        return 
    HAM_IGNORED
    }

    SendAnim(idanimpody)
    {
        if (!
    is_user_alive(id)) return;
        
        
    set_pev(idpev_weaponanimanim)
        
    message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM_id)
        
    write_byte(anim)
        
    write_byte(pody)
        
    message_end()
    }
     
    Chỉnh sửa cuối: 15/4/12

Chia sẻ trang này