[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. N?K

    N?K C O N T R A

    Tham gia ngày:
    23/7/03
    Bài viết:
    1,814
    Hình như bạn làm hơi ngược, theo mình hiểu thì phải như thế này
    1/ "Nếu người chơi dùng Metahook thì" "Hiện chữ/hiện hình"
    2/ Tiếp theo, các id channel nên khác nhau , không nó lại đè lên nhau kể cả những thứ ngoài mh
    3/ Cuối cùng, thêm cái client_putinserver sẽ tốt hơn 1 chút
     
  2. 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
    ^
    ^: Để ý chỗ in đậm là sẽ thấy=))
     
  3. N?K

    N?K C O N T R A

    Tham gia ngày:
    23/7/03
    Bài viết:
    1,814
    @buiducduy111
    Sau khi mình test thử thì thấy do bạn khai báo sai với inc
    đây là đoạn mẫu mình đã test
     
  4. huucuong_2107198

    huucuong_2107198 Dragon Quest

    Tham gia ngày:
    29/12/09
    Bài viết:
    1,449

    Bạn nên logic một chút xíu.
    1. Hàm drawtext được thực hiện khi gõ lệnh drawtext chứ ko phài testmh.
    2. Bạn phải gõ drawtext thì mới hiện được.
    3. Cho dù có gõ drawtext theo mình cũng ko hiện được vì tọa độ là -0.1, -0.1:)
     
  5. sezenx2

    sezenx2 Mr & Ms Pac-Man

    Tham gia ngày:
    8/7/10
    Bài viết:
    115
    Nơi ở:
    Heaven Capital
    Ai giúp tui chỉnh cái phần hiện XP của BF 2 rank xuống cái chỗ trong hình không ạ :-(||>
    NOTE:
    Nhân tiện cho tui xin cái plugin hiện Hud của cây súng kế bên phần hiện băng đạn luôn được không. Thank a lot:))
     
  6. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    trong AMX Studio có cái Create HudMessage đó. Lợi dụng nó là lấy tọa độ. Vào tool đó là nó giả ra 1 cái màn hình cS lúc đó cầm chuột kéo text đi đâu thì đi rồi dưới có hiện tọa độ rồi copy
     
  7. sezenx2

    sezenx2 Mr & Ms Pac-Man

    Tham gia ngày:
    8/7/10
    Bài viết:
    115
    Nơi ở:
    Heaven Capital
    UI ui hôm qua quên lấy hình <Nhờ mấy anh chỉ giúp như đã nói ở trên :))>
    [​IMG]
    NOTE:Tui gà mấy cai AMX MOD lắm ựa
     

    Các file đính kèm:

  8. 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
    ^: Options->Multiplayer->Advanced->Bỏ check Center Player Names.
     
  9. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    Ta nhớ trong console có cái cvar là center_hud hay centerhud gì ấy. set nó về 0
     
  10. sezenx2

    sezenx2 Mr & Ms Pac-Man

    Tham gia ngày:
    8/7/10
    Bài viết:
    115
    Nơi ở:
    Heaven Capital
    Cảm ơn kungfulon nhé <&[]>.............
     
  11. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    @All : Bác nào biết code set tầm xa cho dao & time gây damage chỉ dùm em với...
    Cái set time thì chắc dùng set_task cũng được nhưng em không biết check xem thằng nào đứng trong vòng gây damage của nó
     
  12. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
  13. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    HAPPY NEW YEAR
    Chúc các bác 1 năm mới an lành, học giỏi ! ?@_@? Chúc Gia đình các bác khỏe mạnh...làm ăn phát đạt ~^o^~
     
  14. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    - Nhầm chỗ rồi. khuyến mãi cho vài POINT
     
  15. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    1/ @DIAS: Cái plugins đó không phải thứ em cần... Em cần nó gây damage trong 1 khoảng thời gian xác định cơ
    Ví dụ : Ấn chuột phải thì 2 s sau nó mới đâm thực sự. (Giống CSO NST)
    2 PS: Bác nào xem dùm em cái plugins này
    Sound - Tốt
    Spr - Nó draw 1 lúc 4 spr giống nhau chồng chất :(

    PHP:
    /* Script generated by Pawn Studio */

    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <metahook>

    #define PLUGIN    "Kill Effect For Sinh Tu"
    #define AUTHOR    "Bui Duc Duy"
    #define VERSION    "1.0"
    #define timekill_default 5.0
    #define MAX_KILL 8


    new user_total_killFloat:timekill
    new sound_kill[3][9][64], sound_headshot[3][64],sound_bomb[3][64],sound_knife[3][64]
    new 
    spr_kill[9][64],spr_headshot[64],spr_bomb[64], spr_knife[64]
    public 
    plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
    register_event("DeathMsg""event_DeathMsg""a")
    }

    public 
    plugin_precache()
    {
        for (new 
    <= i++)
        {
            for (new 
    1<=p++)
            {
                
    format(sound_kill[i][p],63,"bdd_kill/%i/%i.wav",i,p)
                
    precache_sound(sound_kill[i][p])
                
    format(spr_kill[p],63,"bdd_kill/%i",p)
            }
            
    format(sound_headshot[i],63,"bdd_kill/%i/Headshot.wav",i)
            
    format(sound_bomb[i],63,"bdd_kill/%i/Bomb.wav",i)
            
    format(sound_knife[i],63,"bdd_kill/%i/Knife.wav",i)
        }
        
    format(spr_headshot,63,"bdd_kill/Headshot")
        
    format(spr_bomb,63,"bdd_kill/Bomb")
        
    format(spr_knife,63,"bdd_kill/Knife")
        

    }

    public 
    event_DeathMsg()
    {
        static 
    killerheadshotvictim ,wpnidteam
        killer 
    read_data(1)
        
    victim read_data(2)
        
    headshot read_data(3)
        
        if (!
    is_user_connected(killer) || !is_user_connected(victim) || killer==victim) return;
        if (
    get_user_team(killer)==get_user_team(victim) && !get_cvar_num("mp_friendlyfire")) return;
        if (
    is_user_bot(killer)) return
        
        
    team get_user_team(killer)
        
    wpnid get_user_weapon(killer)
        
        new 
    Float:timeleft get_gametime()-timekill
        
    if (timeleft <= timekill_defaultuser_total_kill += 1
        
    else user_total_kill 1
        
    if (user_total_kill>MAX_KILLuser_total_kill 1
        timekill 
    get_gametime()
        
        
    //
        
    if (user_total_kill == 1
        {
            if (
    headshot
            {
                
    PlaySound(killersound_headshot[team])
                
    Show_hud(killerspr_headshot1)
                return
            }
            else if (
    wpnid == CSW_KNIFE
            {
                
    PlaySound(killersound_knife[team])
                
    Show_hud(killerspr_knife1)
                return
            }
            else if (
    wpnid == CSW_HEGRENADE
            {
                
    PlaySound(killersound_bomb[team])
                
    Show_hud(killerspr_bomb1)
                return
            }
            else 
            {
                
    PlaySound(killersound_kill[team][1])
                
    Show_hud(killerspr_kill[1], 1)
                return
            }
        }
        else
        {
            for (new 
    2<= 8i++)
            {
                if (
    user_total_kill == i)
                {
                    
    PlaySound(killersound_kill[team][i])
                    
    Show_hud(killerspr_kill[i], 1)
                    return
                }
            }
        }
    }

    PlaySound(id, const sound[])
    {
        
    client_cmd(id"spk ^"%s^""sound)
    }

    Show_hud(id, const spr[], channel)
    {
        
    MH_DrawAdditiveImage(id00spr0.40.725525525533.0channel1)
    }
    //Code càng tối ưu thì càng đểu mới đau ............
     
    Chỉnh sửa cuối: 23/1/12
  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
    ^ Lạm dụng return và return sai chỗ luôn.
     
  17. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    không để return nó vân thế :( thế mình thử để return xem có khác gì không. Thế mà vẫn vậy.
     
  18. 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
    Phết pam.
     
  19. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    - Chính chú đòi cả Delay attack và attack distance còn gì ?. Ta hướng dẫn cho cái attack distance đơn giản rồi chú lại bảo ko cần
    - Muốn delay attack thì đây:

    PHP:
    RegisterHam(Ham_Weapon_PrimaryAttack"weapon_knife""fw_PriAttack")

    public 
    fw_SecAttack(ent)
    {
        if(!
    pev_valid(ent))
            return 
    HAM_IGNORED        

        
    static id
        id 
    pev(entpev_owner)        

        if(!
    g_hidden[id])
            return 
    FMRES_IGNORED    
        
        g_attacking
    [id] = 2    
     
        set_pev
    (idpev_weaponanim3)
        
        
    message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM_id)
        
    write_byte(3)
        
    write_byte(pev(idpev_body))
        
    message_end()
     
        
    set_pdata_float(id83get_gametime(), 5)
        
    set_task(0.5"Exec_SecAttack"ent)
     
        return 
    HAM_SUPERCEDE    
    }

    public 
    Exec_SecAttack(ent)
    {
        
    set_pdata_float(pev(entpev_owner), 830.05)
        
    ExecuteHam(Ham_Weapon_SecondaryAttackent)    
    }
    Cho chú code của ta đó =)). Mỗi tội nếu sài cách này thì ko chỉnh dc knife_distance

    @KFL:
    - return và return PLUGIN_HANDLED khác nhau ở chỗ nào nhỉ :-?. return là của hệ thống còn return PLUGIN là của amx chăng
     
    Chỉnh sửa cuối: 23/1/12
  20. 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
    return; = return 0; = return PLUGIN_CONTINUE;
     

Chia sẻ trang này