[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. 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
    equal dùng để so sánh 2 string.
    pev(iEnt, pev_classname, s_szClassName, 31) lưu classname của iEnt vào biến s_szClassName với độ dài tối đa 31 ký tự.
     
  2. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Bạn chỉ cụ thể dùm mình cái. Nếu làm đấu dao thì thế nào?
     
  3. teobrvt1995

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

    Tham gia ngày:
    19/9/10
    Bài viết:
    691
    PHP:
    new classname[32]
    pev(index,pev_classname,classname,31)
    If(
    equal(classname,"teo"))
    {
    //code here
    }
    dias có metahook thì up lên hộ nhé
     
    Chỉnh sửa cuối: 6/12/11
  4. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    - Vào CSO NST B3 mà lục =="
    ---
    cstrike/hl.exe
    cstrike/metahook.dll
    cstrike/hw.dll

    cstrike/addons/amxmodx/metahook_amxx.dll
    - vào metamod.ini thêm link metahook vô

    Nghe bảo MetaHook mới nó có thể replace hoàn toàn file sound
     
  5. teobrvt1995

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

    Tham gia ngày:
    19/9/10
    Bài viết:
    691
    Metamod thêm sao? Đưa vô thẻ code lun đi dias:)
     
  6. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Em cung co metahook nay, nhung em chang thich ti nao, dung openpg da giam 20 fps roi, lai con vu add tga nua, giam 30 fps la chac :(
     
  7. kakaan96

    kakaan96 Dragon Quest

    Tham gia ngày:
    29/1/10
    Bài viết:
    1,422
    check pm cái nào :|
    PS:metahook dùng cũng dc ^^
    nó giúp game sinh đông hơn
     
    teobrvt1995 thích bài này.
  8. teobrvt1995

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

    Tham gia ngày:
    19/9/10
    Bài viết:
    691
    Tui định vọc metahook cho cái hud hp, clip, bpa cho sv sắp tới thôi.
    Cái plug nst wpn cho zp của ôg share tui dc ko?
     
  9. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    @teo:
    - Metahook còn phải cài ở client nữa cơ, mình làm metahook ở dedicated sv mà client nó ko có metahook thì = 0
     
  10. redplane

    redplane Legend of Zelda

    Tham gia ngày:
    7/11/09
    Bài viết:
    1,195
    Lúc rảnh rỗi, làm plugin đơn giản nghịch chơi, tặng anh em plugin HEADSHOT MODE nè.

    http://www.mediafire.com/?9hcymjqygi3c4d6

    Plugin này có chức năng : Bật chế độ bắn Headshot, tránh tình trạng chích máu, nhằm luyện tay nghề cho pro. Khi plugin được bật, chỉ khi nào bắn vào đầu đối phương, thì đối phương mới chết, còn lại thì không mất máu :)


    Dùng lệnh cs_option/HeadShotMode để tắt / mở plugin, khi tắt hoặc mở plugin đều có dòng thông báo :)
     
  11. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Mấy bác cho em hỏi register_event vơi register_logevent khác nhau ở điêm nao a?
    Nhân tiên các bác cho em xin code kiểm tra xem user có bị dinh damge ko nhé (vân vụ nhiêm đôc zombie)
     
  12. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    - Nói hoài rồi... Ham_TakeDamage. Còn ko thì register_event("Damage",....

    @Redplane:
    - Ô :|... Rảnh mà ko làm cho e cái phun
     
    Chỉnh sửa cuối: 8/12/11
  13. Orpheus

    Orpheus ♥ ♡ ToMaTo TasTe Kiss ♡ ♥ Moderator

    Tham gia ngày:
    30/3/09
    Bài viết:
    4,066
    Nơi ở:
    Kingdom Hearts
    [​IMG]
    hay đấy ~
    lâu rồi mình không luyện tay nghề ~ thấy cái này lại nổi hứng lên rồi :D
     
  14. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Làm sao để làm cho thằng dính damage bi lùi vê sau hả mây bác. Di nhiên dung takedamage nhưng...
     
  15. MrKaii

    MrKaii The Warrior of Light

    Tham gia ngày:
    14/6/11
    Bài viết:
    2,208
    Nơi ở:
    Hà Nội
    set var knockback thôi....
    PHP:
    public plugin_init() 
    {
        
    register_plugin("Wp knockback","1.0","unknow")
        
    register_event("CurWeapon","client_WeapThink","be","1=1")

        
    register_cvar("amx_awp_force","200")
        
    register_cvar("amx_deagle_force","200")
        
    register_cvar("amx_g3sg1_force","200")
        
    register_cvar("amx_m3_force","200")
        
    register_cvar("amx_sg550_force","200")
        
    register_cvar("amx_xm1014_force","200")

        
    // Start knockback cvars for specific weaps
        
    register_cvar("amx_awp_kb","1")
        
    register_cvar("amx_deagle_kb","1")
        
    register_cvar("amx_g3sg1_kb","1")
        
    register_cvar("amx_m3_kb","1")
        
    register_cvar("amx_sg550_kb","1")
        
    register_cvar("amx_xm1014_kb","1")

        
    register_menucmd(register_menuid("\yKnockback Config Menu:"), 1023"cmd_config_menu")
        
    register_clcmd("amx_kbmenu","show_config_menu",ACCESS_LEVEL,"- Config Menu for knockback")
        
    register_clcmd("kbmodmenu","show_config_menu",ACCESS_LEVEL,"- Config Menu for knockback")
    }

    public 
    plugin_modules() require_module("Engine")

    public 
    client_WeapThink(id
    {
        new 
    temp[2]
        new 
    usersweapon get_user_weapon(idtemp[0], temp[1])

        if(
    is_user_alive(id))
        {
            if(
    get_user_button(id)&IN_ATTACK) {

                switch(
    usersweapon)
                {
                    case 
    CSW_AWP:
                    {
                        
    // Check if knockback is enabled for awp
                        
    if(get_cvar_num("amx_awp_kb"))
                        {
                            new 
    Float:PlayerVelocity[3]
                                   
    VelocityByAim(id, -get_cvar_num("amx_awp_force"), PlayerVelocity)
                                
    entity_set_vector(idEV_VEC_velocityPlayerVelocity)
                        }
                    }

                    case 
    CSW_DEAGLE:
                    {
                        
    // Check if knockback is enabled for deagle
                        
    if(get_cvar_num("amx_deagle_kb"))
                        {
                            new 
    Float:PlayerVelocity[3]
                                   
    VelocityByAim(id, -get_cvar_num("amx_deagle_force"), PlayerVelocity)
                                
    entity_set_vector(idEV_VEC_velocityPlayerVelocity)
                        }
                    }
                    
                    case 
    CSW_G3SG1:
                    {
                         
    // Check if knockback is enabled for g3sg1
                        
    if(get_cvar_num("amx_g3sg1_kb"))
                        {
                            new 
    Float:PlayerVelocity[3]
                                   
    VelocityByAim(id, -get_cvar_num("amx_g3sg1_force"), PlayerVelocity)
                                
    entity_set_vector(idEV_VEC_velocityPlayerVelocity)
                        }
                    }

                    case 
    CSW_M3:
                    {
                        
    // Check if knockback is enabled for m3
                        
    if(get_cvar_num("amx_m3_kb"))
                        {
                            new 
    Float:PlayerVelocity[3]
                                   
    VelocityByAim(id, -get_cvar_num("amx_m3_force"), PlayerVelocity)
                                
    entity_set_vector(idEV_VEC_velocityPlayerVelocity)
                        }
                    }

                    case 
    CSW_SG550:
                    {
                        
    // Check if knockback is enabled for sg550
                        
    if(get_cvar_num("amx_sg550_kb"))
                        {
                            new 
    Float:PlayerVelocity[3]
                                   
    VelocityByAim(id, -get_cvar_num("amx_sg550_force"), PlayerVelocity)
                                
    entity_set_vector(idEV_VEC_velocityPlayerVelocity)
                        }
                    }

                    case 
    CSW_XM1014:
                    {
                        
    // Check if knockback is enabled for xm1014
                        
    if(get_cvar_num("amx_xm1014_kb"))
                        {
                            new 
    Float:PlayerVelocity[3]
                                   
    VelocityByAim(id, -get_cvar_num("amx_xm1014_force"), PlayerVelocity)
                                
    entity_set_vector(idEV_VEC_velocityPlayerVelocity)
                        }
                    }
                }
            }
        }

        return 
    PLUGIN_CONTINUE
    }

    public 
    show_config_menu(id)
    {
        if(!(
    get_user_flags(id)&ACCESS_LEVEL))
            return 
    PLUGIN_HANDLED

        
    new szMenuBody[256]
        new 
    keys
        
        
    new len format(szMenuBody,255,"\yKnockback Config Menu:^n")
        
    len += format(szMenuBody[len],255-len,"^n\w1. AWP \R\r%s",(get_cvar_num("amx_awp_kb")==1) ? "ON" "OFF")
        
    len += format(szMenuBody[len],255-len,"^n\w2. Deagle \R\r%s",(get_cvar_num("amx_deagle_kb")==1) ? "ON" "OFF")
        
    len += format(szMenuBody[len],255-len,"^n\w3. G3SG1 \R\r%s",(get_cvar_num("amx_g3sg1_kb")==1) ? "ON" "OFF")
        
    len += format(szMenuBody[len],255-len,"^n\w4. M3 \R\r%s",(get_cvar_num("amx_m3_kb")==1) ? "ON" "OFF")
        
    len += format(szMenuBody[len],255-len,"^n\w5. SG550 \R\r%s",(get_cvar_num("amx_sg550_kb")==1) ? "ON" "OFF")
        
    len += format(szMenuBody[len],255-len,"^n\w6. XM1014 \R\r%s",(get_cvar_num("amx_xm1014_kb")==1) ? "ON" "OFF")
        
    len += format(szMenuBody[len],255-len,"^n^n\w0. Exit")
        
        
    keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<9)
        
        
    show_menu(id,keys,szMenuBody,-1)
        
        return 
    PLUGIN_HANDLED
    }

    public 
    cmd_config_menu(id,key)
    {
        switch(
    key)
        {
            case 
    0:
            {
                
    set_cvar_num("amx_awp_kb",(get_cvar_num("amx_awp_kb") == 1) ? 1)
                
    show_config_menu(id)
            }
            case 
    1:
            {
                
    set_cvar_num("amx_deagle_kb",(get_cvar_num("amx_deagle_kb") == 1) ? 1)
                
    show_config_menu(id)
            }
            case 
    2:
            {
                
    set_cvar_num("amx_g3sg1_kb",(get_cvar_num("amx_g3sg1_kb") == 1) ? 1)
                
    show_config_menu(id)
            }    
            case 
    3:
            {
                
    set_cvar_num("amx_m3_kb",(get_cvar_num("amx_m3_kb") == 1) ? 1)
                
    show_config_menu(id)
            }
            case 
    4:
            {
                
    set_cvar_num("amx_sg550_kb",(get_cvar_num("amx_sg550_kb") == 1) ? 1)
                
    show_config_menu(id)
            }
            case 
    5:
            {
                
    set_cvar_num("amx_xm1014_kb",(get_cvar_num("amx_xm1014_kb") == 1) ? 1)
                
    show_config_menu(id)
            }
        }

        return 
    PLUGIN_HANDLED
    }
     
    Chỉnh sửa cuối: 9/12/11
  16. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    ^
    - Chỉ 1 thứ đơn giản thôi... đó là velocity... nghĩa là vận tốc, khi set thì nó sẽ di chuyển player đi theo đó
    * Làm knockback:
    - VelocityByAim (get velocity)
    - set_pev(id, pev_velocity,...)
     
  17. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Thanks bac nhiêu nha! Thê thi lam class con ném bomb lun:)
     
  18. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Anh cho em hỏi làm sao để kiêm tra xem player co đang đưng im hay ko a?
     
  19. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    (:|... Mấy cái đơn giản thế này sao chú ko lên alliedmods ?
    Từ khóa đây:
    Mã:
    site:forums.alliedmods.net Detect Player Walking
    
    --- ngay cái kết quả đầu tiên luôn... https://forums.alliedmods.net/showthread.php?t=56872

    PHP:
    #include <engine>

    new bool:is_moving[33]

    public 
    plugin_init()
    {
            
    register_clcmd("say /what_are_you_doing""ask")
    }

    public 
    ask(id)
    {
           if(
    is_moving[id])
           {
                    
    client_print(idprint_chat"I am Moving")
           } else {
                    
    client_print(idprint_chat"I am scare and i wanna stay here")
           }
    }

    public 
    client_PostThink(id)
    {
          static 
    CurButton
          CurButton 
    get_user_button(id)

          if((
    CurButton IN_FORWARD) || (CurButton IN_BACK) || (CurButton IN_MOVELEFT) || (CurButton IN_MOVERIGHT))
          {
                  
    is_moving[id] = true
          
    } else { 
                  
    is_moving[id] = false
          
    }
    }
     
    Chỉnh sửa cuối: 10/12/11
  20. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    Tên plugin: Deadly Shot Item
    - Description: Bắn vào bất cứ đâu trên người victim cũng là bắn vào đầu (headshot)
    - Author: Dias
    - Cvar:

    PHP:
    ds_cost // Giá tiền mua | Mặc Định :5000 ($)
    ds_time // Hiệu lực | Mặc Định 5.0 (giây)
    - Note: [Mua] Gõ: /buy_ds | [Sử Dụng]: Ấn (E)

    Plugin / Source Code:
    PHP:
    #include <amxmodx>
    #include <engine>
    #include <fakemeta>
    #include <hamsandwich>
    #include <cstrike>

    #define TASK_HUD 5345634
    #define TASK_REMOVE 2423423

    new bool:has_item[33]
    new 
    bool:using_item[33]

    new 
    sync_hud1
    new cvar_headshotmode_cost
    new cvar_headshotmode_time

    public plugin_init()
    {
        
    register_plugin("Deadly Shot""1.0""Dias")
        
        
    register_clcmd("say /buy_ds""buy_ds")
        
    RegisterHam(Ham_TraceAttack"player""fw_traceattack")
        
        
    cvar_headshotmode_cost register_cvar("ds_cost""5000")
        
    cvar_headshotmode_time register_cvar("ds_time""5.0")
        
        
    sync_hud1 CreateHudSyncObj(random_num(110))
    }

    public 
    buy_ds(id)
    {
        if(!
    has_item[id] || using_item[id])
        {
            if(
    cs_get_user_money(id) >= get_pcvar_num(cvar_headshotmode_cost))
            {
                
    client_print(idprint_chat"You bought Deadly Shot !!!")
                
                
    has_item[id] = true
                using_item
    [id] = false
                
                set_task
    (0.1"show_hud"id+TASK_HUD__"b")
                
                
    cs_set_user_money(idcs_get_user_money(id) - get_pcvar_num(cvar_headshotmode_cost))
            } else {
                
    client_print(idprint_chat"Sorry madam... But you don't have enought money !!!")
            }
        } else {
            
    client_print(idprint_chat"You can't buy Deadly Shot at this time...")
        }
    }

    public 
    show_hud(id)
    {
        
    id -= TASK_HUD

        set_hudmessage
    (02550, -1.00.8802.02.0)    
        
        if(
    has_item[id])
        {
            
    ShowSyncHudMsg(idsync_hud1"[E] -> Active Deadly Shot")
        } else if(
    using_item[id]) {
            
    ShowSyncHudMsg(idsync_hud1"Deadly Shot - Actived")        
        } else {
            
    ShowSyncHudMsg(idsync_hud1"Deadly Shot - Not Active")
            if(
    task_exists(id+TASK_HUD)) remove_task(id+TASK_HUD)
        }
    }

    public 
    client_PostThink(id)
    {
        static 
    Button
        Button 
    get_user_button(id)
        
        if(
    Button IN_USE)
        {
            if(
    has_item[id] && !using_item[id])
            {
                
    has_item[id] = false
                using_item
    [id] = true
                
                set_task
    (get_pcvar_float(cvar_headshotmode_time), "remove_headshot_mode"id+TASK_REMOVE)
            }
        }
    }

    public 
    fw_traceattack(victimattackerFloat:damagedirection[3], traceresultdmgbits)
    {
        if(
    using_item[attacker])
        {
            
    set_tr2(traceresultTR_iHitgroupHIT_HEAD)
        }
    }

    public 
    remove_headshot_mode(id)
    {
        
    id -= TASK_REMOVE
        
        has_item
    [id] = false
        using_item
    [id] = false
        
        
    if(task_exists(id+TASK_HUD)) remove_task(id+TASK_HUD)
    }
     

Chia sẻ trang này