[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. Quest2

    Quest2 Youtube Master Race

    Tham gia ngày:
    23/8/03
    Bài viết:
    61
    Nơi ở:
    Tower
    bot_quota
    nhưng .... nếu loading bỏ qua phàn chọn như tôi nói, run = bat chạy thẳng vô game luôn...Zbot nó không nghe lời
     
  2. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    2pic này dùng để thảo luận về code AMX đc ko nhỉ.. bắt đầu cắm cọc để hỏi.. tự mình viết 1 cái plugins cho mình nào :)

    enum
    ~> nó làm j vậy.. chẳng thấy nói đến trong tài liệu.. toàn thấy ví dụ nó phang thôi :|
     
  3. My Own Way

    My Own Way S.V.E.N Commander Lão Làng GVN

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,231
    Nơi ở:
    Hải Phòng
    Lên AM forum, tìm box Code Snippet/ Tutorial có 1 bài viết về enum đó.
     
  4. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    Nó là newbie cho AMX Code. ông nói thế thằng nào hiểu dc :)). mà enum cũng chả quan trọng cho lắm.
    Đây thưa cha nội: http://forums.alliedmods.net/showthread.php?t=140103

    - enum cứ như là cái mảng ấy.

    Mã:
    tạo ra một khối dữ liệu và thiết lập giá trị khác nhau vào nó.
    tạo ra các hằng số của riêng bạn
    tạo các thẻ của riêng bạn cho các biến.
    
    EX:
    PHP:
    enum _:PlayerData // PlayerData is no longer a tag
    {
        
    Player_Kills,
        
    Player_Deaths,
        
    Float:Player_Speed
    }

    // ...

    new ePlayerDataPlayerData ]
    ePlayerDataPlayer_Kills ] = 0
    ePlayerData
    Player_Deaths ] = 0
    ePlayerData
    Player_Speed ] = 250.0

    // this line will work properly
    set_task1.0"TaskSetPlayerData"idePlayerDataPlayerData )
     
    Chỉnh sửa cuối: 22/2/11
  5. My Own Way

    My Own Way S.V.E.N Commander Lão Làng GVN

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,231
    Nơi ở:
    Hải Phòng
    Ta đã nói gì khó hiểu đâu, đơn giản chỉ bảo nó lên AlliedModder để tìm tutorial =)).. Chú có vấn đề đọc hiểu hay sao toàn thắc mắc vớ vẩn thế.
     
  6. Quest2

    Quest2 Youtube Master Race

    Tham gia ngày:
    23/8/03
    Bài viết:
    61
    Nơi ở:
    Tower
    hắn đưa cả VD dẫn chứng thế cho nhanh phải không chief , atick
     
  7. My Own Way

    My Own Way S.V.E.N Commander Lão Làng GVN

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,231
    Nơi ở:
    Hải Phòng
  8. Hoàng Phan

    Hoàng Phan Legend of Zelda

    Tham gia ngày:
    23/6/10
    Bài viết:
    919
    Các anh cho em hỏi làm sao để thêm zombie vào trong list chọn các loại Zombie Trong Zombie Plague thế ...?
    EM đã down xong 1 số file Zombie.sma ở trên mạng xuống nhưng ko biết làm thế nào để thêm nó vào trong list
    À mà cả Extra Item nữa...Làm như thế nào vậy?? ?
     
  9. My Own Way

    My Own Way S.V.E.N Commander Lão Làng GVN

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,231
    Nơi ở:
    Hải Phòng
    Add tên plugin vào plugin-zplague.ini. Đối với sma phải compile nó ra amxx thì mới dùng dc.
     
  10. Hoàng Phan

    Hoàng Phan Legend of Zelda

    Tham gia ngày:
    23/6/10
    Bài viết:
    919
    Anh có thể nói rõ hơn được không...?
    Em chẳng hiểu cái gì cả... Có hình minh họa thì tốt quá nhỉ ...:|
     
  11. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    cái symbols || này là sao nhỉ @@.. hoặc àh.. còn && thì và ??
     
  12. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    || và && thường được dùng trong câu lệnh if (Điều kiện)
    -------------------------------
    || -> hoặc
    && -> và
    -------------------------------

    Ví Dụ:
    PHP:
    if(is_user_alive(id) && is_user_zombie(id))
    => Nếu user còn sống user là zombie. Nếu cả 2 điều kiện hợp thì tiếp tục

    PHP:
    if(is_user_alive(id) || is_user_zombie(id))
    => Nếu user còn sống hoặc user là zombie. Nếu 1 trong 2 điều kiện hợp thì tiếp tục.

    - Bác cũng có tinh thần học đấy nhỉ ;))
     
    Chỉnh sửa cuối: 22/2/11
  13. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    cày đến khi nào giỏi thì thôi.. như học LUA ấy :-"....

    cơ mà lúc vọc mấy script của nst.. có vài chỗ chả hiểu nó ở đâu ra :|... coi bộ khó thở.. cái đùng nó xuất hiện 1 biến.. chưa thấy set biết thì đã thấy xài rồi :|

    PHP:
    load_config()
    {
        
    // Build customization file path
        
    new path[64]
        
    get_configsdir(pathcharsmax(path))
        
    format(pathcharsmax(path), "%s/%s"pathSETTING_FILE)
        
        
    // File not present
        
    if (!file_exists(path))
        {
            new 
    error[100]
            
    formatex(errorcharsmax(error), "Cannot load customization file %s!"path)
            
    set_fail_state(error)
            return;
        }
    cái patch đó ở đâu thế nhỉ :|...

    Có phải là từ đây ko
    PHP:
    new const SETTING_FILE[] = "nst_player.ini"
    ~> xem đi xem lại chẳng hiểu patch nó lấy ở đâu :|

    ^:)^... có j mọi người đừng cười... nói thật là mình chả bik cái j về amx =.='

    ---------- Post added at 18:31 ---------- Previous post was at 17:30 ----------

    return ~> nó trả lại cái j và vào đâu :|.. chẳng hạn như ex trong help

    PHP:
    //This defines a new function called "add_two_floats"
    // which takes two floating points and returns the sum
    Float:add_two_floats(Float:firstFloat:second)
    {
       new 
    Float:sum first second

       
    return sum
    }

    new 
    Float:a
    new Float:b
    5.0
    6.3
    new Float:c
    add_two_floatsa+)
    //c is now equal to 11.3

    //You can even pass arrays!  You do not have to specify the size of the array.
    //If you do, you must make sure you are calling the function with an array of equal size and type.
    add_two_from_array(array[], ab)
    {
       new 
    first = array[a]
       new 
    second = array[b]
       new 
    sum add_two_numbers(firstsecond)   //use our function from earlier
      
       
    return sum
    }
     
    Chỉnh sửa cuối: 22/2/11
  14. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    Tui cũng chưa rành vụ return cho lắm 8-}

    @All:
    - Tại sao mình set health của player trong Forward Touch mà nó ko hoạt động ?. Sài set_pev rồi set_health,... Nhưng chả có cái nào dc cả . COde vẫn chạy nhưng ko set dc health.

    PHP:
    public plasma_touch(plasmaid)
    {
        if(!
    pev_valid(plasma))
            return
        
        new 
    Float:fOrigin[3]
        new 
    iOrigin[3]
        
        
    entity_get_vector(plasmaEV_VEC_originfOrigin)
        
    FVecIVec(fOriginiOrigin)
        
        
    engfunc(EngFunc_RemoveEntityplasma)
        
        
    message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
    write_byte(TE_EXPLOSION)
        
    write_coord(iOrigin[0])
        
    write_coord(iOrigin[1])
        
    write_coord(iOrigin[2])
        
    write_short(g_explode)
        
    write_byte(25)
        
    write_byte(25)
        
    write_byte(0)
        
    message_end()
        
        for(new 
    1get_maxplayers(); i++)
        {
            if(
    is_user_alive(i) && !zp_get_user_zombie(i))
            {
                static 
    Float:origin[3]
                
    pev(plasmapev_originorigin)
                
                static 
    Float:origin2 [3]
                
    pev(ipev_originorigin2)
                
                static 
    Float:distance_float
                distance_float 
    get_distance_f(originorigin2)
                
                static 
    distance
                distance 
    floatround(distance_float)
                
                if (
    distance <= RADIUS)
                {
                    
    screen_effect(i)
                    
    set_user_health(idget_user_health(id) - get_pcvar_num(cvar_explosion_dmg))
                }
            }
        }
    }
     
  15. sontung0

    sontung0 Dragon Quest

    Tham gia ngày:
    27/5/09
    Bài viết:
    1,333
    @Atick hem:
    biến patch khai báo ngay ở đó đây thây
    PHP:
    new path[64]
    còn
    get_configsdir ==> lấy url của thư mục config
    format ==> dạng như set giá trị cho 1 biến dạng string
    Cậu nên đọc qua tí lý thuyết về biến (khai báo, set giá trị ...), vòng lặp, các phép toán (+, -, *, /) ....
    Còn các kiến thức về CS như:event, set_health .... thì học sau.cứ học các phép toán cơ bản trước rồi hẵng xem các code khác

    return ==> trả về 1 giá trị
    vào đâu thì tùy
    Nếu cậu có 1 function thì nó sẽ trả về giá trị mà cậu muốn gán cho 1 biến
    PHP:
    new num
    num 
    get_value() // biến num lúc này sẽ có giá trị là 1
    get_value()
    {
    return 
    1;
    }
    (chịu khó tìm tòi và Test trong Game thì biết hết ^^)
     
  16. My Own Way

    My Own Way S.V.E.N Commander Lão Làng GVN

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,231
    Nơi ở:
    Hải Phòng
    Ném file sma vào thư mục addons/amxmodx/scripting. Sau đó ấn compile và đợi nó compile xong thì sẽ ra thư mục compile. Vào thư mục đó tìm tên file vừa compile dưới định dạng amxx. Lấy file đó quăng vào thư mục plugins.
    Kế tiếp viết tên file đó thật đầy đủ cả phần mở rộng .amxx vào file plugin-zplague.ini. File .INI đó nằm ở thư mục addons/amxmodx/config.
    Vào game kiểm tra.
    P.s: Tốt nhất cậu nên về học lại cách sử dụng amxmodx và những thao tác cơ bản về plugin.
     
  17. Hoàng Phan

    Hoàng Phan Legend of Zelda

    Tham gia ngày:
    23/6/10
    Bài viết:
    919
    Cảm ơn anh nhé... Em làm được rùi...
     
  18. My Own Way

    My Own Way S.V.E.N Commander Lão Làng GVN

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,231
    Nơi ở:
    Hải Phòng
    Mọi người này, cái source sma anh Tùng share ra last version mà cũng đang include trong CSO-NST đúng không ?
     
  19. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    PHP:
    g_zombie[id] = cs_get_user_teamid ) == CS_TEAM_T true false;
    - Cái khúc mà ? true : false; là cái gì ấy nhỉ :|
     
  20. My Own Way

    My Own Way S.V.E.N Commander Lão Làng GVN

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,231
    Nơi ở:
    Hải Phòng
    PHP:
    true false
    Không hiểu cái này lắm 8-}
     

Chia sẻ trang này