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

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Topic chìm thật rồi :( ai biết hàm nào tách string chỉ e phát ví dụ 'a,b,cde' tách ra được 'a' , 'b', 'cde' (function nhé chứ thuật toán hôm qua viết rồi nhưng ko được tổng quát lắm)
     
  2. Giazzrian

    Giazzrian C O N T R A

    Tham gia ngày:
    6/1/11
    Bài viết:
    1,880
    Nơi ở:
    BMT/HCM
    string.split( 'a,b,cde',",") chẳng hạn :| nếu nhớ ko nhầm array tự split string mà @@
     
  3. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    cái này tui cũng biết, autoit cũng có. Cơ mờ trong amx thì không thấy....@@
     
  4. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    replace_all ( "," -> " " )
    sài parse để tách ra
     
  5. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    thế thi 'a,b,cde' sẽ thành 'abcde' ấ.... :/? Thuật toán của e là: cho i chạy tới strlen, gặp dấu ',' thì lại chạy từ đầu tới đó để lấy giá trị vào mảng mới, rồi lại xoá cái đoạn lúc đầu.... Cứ thế tới hết dấu ','. . . Lâu vãi!
     
  6. Giazzrian

    Giazzrian C O N T R A

    Tham gia ngày:
    6/1/11
    Bài viết:
    1,880
    Nơi ở:
    BMT/HCM
    REG để làm j :|
     
  7. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Pawm bị điên hay người bị dở đây :4cool_confuse:

    PHP:
    enum
    {
        
    line_info,
        
    line_rifles1,
        
    line_rifles2,
        
    line_rifles3,
        
    line_rifles4,
        
    line_sniper1,
        
    line_sniper2,
        
    line_sniper3,
        
    line_sniper4,
        
    line_point1,
        
    line_point2,
        
    line_point3,
        
    line_point4
    }


    enum
    {
        
    ID_NONE,
        
    ID_RIFLES_MAN_EU,
        
    ID_SNIPER_MAN_EU,
        
    ID_POINT_MAN_EU,
        
    ID_RIFLES_MAN_NRF,
        
    ID_SNIPER_MAN_NRF,
        
    ID_POINT_MAN_NRF
    }
    => nó báo là đã khai báo line_rifles1 rồi trong khi toàn code vẫn chưa sử dụng no @@

    Cụ thể là :


    PHP:
    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <hamsandwich>
    #include <cstrike>
    #include <fun>

    #include <ava_weapon>


    #define PLUGIN    "AVA character"
    #define AUTHOR    "Bui Duc Duy"
    #define VERSION    "1.0"
    #define g_option_foder "addons/ava_mod/user"

    enum
    {
        
    line_info,
        
    line_rifles1,
        
    line_rifles2,
        
    line_rifles3,
        
    line_rifles4,
        
    line_sniper1,
        
    line_sniper2,
        
    line_sniper3,
        
    line_sniper4,
        
    line_point1,
        
    line_point2,
        
    line_point3,
        
    line_point4
    }


    enum
    {
        
    ID_NONE,
        
    ID_RIFLES_MAN_EU,
        
    ID_SNIPER_MAN_EU,
        
    ID_POINT_MAN_EU,
        
    ID_RIFLES_MAN_NRF,
        
    ID_SNIPER_MAN_NRF,
        
    ID_POINT_MAN_NRF
    }

    new const 
    g_model[][] = {"","Rifles_Man_EU","Sniper_Man_EU","Point_Man_EU","Rifles_Man_NRF","Sniper_Man_NRF","Point_Man_NRF"}

    new 
    bool:g_hamczbotscvar_botquota
    new bool:g_is_get_data_wpn[33]
    new 
    g_user_rifles_man[33][5][128], g_user_sniper_man[33][5][128], g_user_point_man[33][5][128]
    new 
    g_user_classid[33]

    public 
    plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
    RegisterHam(Ham_Respawn"player""Ham_respawm_post"1)
        
        
    cvar_botquota get_cvar_pointer("bot_quota")
    }

    /* MAIN FUNCTIOn   -------------------------------------------------------------------------------------


    * -------------------------------------------------------------------------------------------------------*/
    public Ham_respawm_post(id)
    {
        if (!
    is_user_connected(id))
            return;
        
        if (!
    g_is_get_data_wpn[id]) func_read_data_wpn(id)
        
        
    strip_user_weapons(id)
        
    give_item(id"weapon_knife")
        
        
    func_set_player_model(id)
        
        if (
    task_exists(id)) remove_task(id)
        
    set_task(1.0"task_give_weapon"id)
    }

    public 
    task_give_weapon(id)
    {
        new 
    classid g_user_classid[id]
        
        if (
    classid == ID_RIFLES_MAN_EU || classid == ID_RIFLES_MAN_NRF)
        {
            for (new 
    1<= 4++)
            {
                if (!
    equal(g_user_rifles_man[id][i], "")) ava_give_weapon(idg_user_rifles_man[id][i])
            }
        }
        else if (
    classid == ID_SNIPER_MAN_EU || classid == ID_SNIPER_MAN_NRF)
        {
            for (new 
    1<= 4++)
            {
                if (!
    equal(g_user_sniper_man[id][i], "")) ava_give_weapon(idg_user_sniper_man[id][i])
            }
        }
        else if (
    classid == ID_POINT_MAN_EU || classid == ID_POINT_MAN_NRF)
        {
            for (new 
    1<= 4++)
            {
                if (!
    equal(g_user_point_man[id][i], "")) ava_give_weapon(idg_user_point_man[id][i])
            }
        }
    }

    /* Function Useful -------------------------------------------------------------------------------------


    * -------------------------------------------------------------------------------------------------------*/
    func_set_player_model(id)
    {
        if (!
    g_user_classid[id])
        {
            if (
    cs_get_user_team(id) == CS_TEAM_CTg_user_classid[id] = random_num(ID_RIFLES_MAN_NRFID_POINT_MAN_NRF)
            else if (
    cs_get_user_team(id) == CS_TEAM_Tg_user_classid[id] = random_num(ID_RIFLES_MAN_EUID_POINT_MAN_EU)
        }
        
        new 
    classid g_user_classid[id]
        
    cs_set_user_model(idg_model[classid])
    }


    func_read_data_wpn(id)
    {
        new 
    file[128], name[64], len
        get_user_name
    (idname63)
        
    format(file127"%s/%s.txt"g_option_fodername)
        
        
    read_file(fileline_rifles1g_user_rifles_man[id][1], 127len)
        
    replace(g_user_rifles_man[id][1], 127"rifles_man1=""")
        
    read_file(fileline_rifles2g_user_rifles_man[id][2], 127len)
        
    replace(g_user_rifles_man[id][2], 127"rifles_man2=""")
        
    read_file(fileline_rifles3g_user_rifles_man[id][3], 127len)
        
    replace(g_user_rifles_man[id][3], 127"rifles_man3=""")
        
    read_file(fileline_rifles4g_user_rifles_man[id][4], 127len)
        
    replace(g_user_rifles_man[id][4], 127"rifles_man4=""")
        
        
    read_file(fileline_sniper1g_user_sniper_man[id][1], 127len)
        
    replace(g_user_sniper_man[id][1], 127"sniper_man1=""")
        
    read_file(fileline_sniper2g_user_sniper_man[id][2], 127len)
        
    replace(g_user_sniper_man[id][2], 127"sniper_man2=""")
        
    read_file(fileline_sniper3g_user_sniper_man[id][3], 127len)
        
    replace(g_user_sniper_man[id][3], 127"sniper_man3=""")
        
    read_file(fileline_sniper4g_user_sniper_man[id][4], 127len)
        
    replace(g_user_sniper_man[id][4], 127"sniper_man4=""")
        
        
    read_file(fileline_point1g_user_point_man[id][1], 127len)
        
    replace(g_user_point_man[id][1], 127"point_man1=""")
        
    read_file(fileline_point2g_user_point_man[id][2], 127len)
        
    replace(g_user_point_man[id][2], 127"point_man2=""")
        
    read_file(fileline_point3g_user_point_man[id][3], 127len)
        
    replace(g_user_point_man[id][3], 127"point_man3=""")
        
    read_file(fileline_point4g_user_point_man[id][4], 127len)
        
    replace(g_user_point_man[id][4], 127"point_man4=""")
        
        
    g_is_get_data_wpn[id] = true
        
    }


    /* Precache Model -------------------------------------------------------------------------------------


    * -------------------------------------------------------------------------------------------------------*/

    public client_putinserver(id)
    {
        if (
    is_user_bot(id) && !g_hamczbots && cvar_botquota)
        {
            
    set_task(0.1"register_ham_czbots"id)
        }
    }

    public 
    register_ham_czbots(id)
    {
        if (
    g_hamczbots || !is_user_connected(id) || !get_pcvar_num(cvar_botquota)) return;
            
        
    RegisterHamFromEntity(Ham_Spawnid"Ham_respawm_post"1)
        
    g_hamczbots true
        
        
    if (is_user_alive(id)) Ham_respawm_post(id)
    }
     
  8. Giazzrian

    Giazzrian C O N T R A

    Tham gia ngày:
    6/1/11
    Bài viết:
    1,880
    Nơi ở:
    BMT/HCM
    check lại mấy cái include coi :2cool_go:
     
  9. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    @buiducduy:
    - Chú có biết replace "," sang " " và parse có nghĩa là gì ko mà bảo nó lấy hết abcde ?
    "a,b,cde" sau khi replace là "a b cde", cái parse là để tách ra string phụ, ranh giới là cái dấu cách đó ^:)^
    - Chú mà post code đó ở đây, thằng KFL nó lên ném gạch cho rớt răng =))
     
    Chỉnh sửa cuối: 24/7/12
  10. ra_dao_choi

    ra_dao_choi Youtube Master Race

    Tham gia ngày:
    24/7/12
    Bài viết:
    30
    Yeah sửa được rồi.........Cái "ava_weapon.inc" thiếu cái "native" thế là nó báo lỗi linh ta linh tinh

    @Dias: Em hem biết hihi :D


    ---------- Post added at 11:18 ---------- Previous post was at 11:16 ----------

    ÔI ko sửa được bài................. :5onion50::5onion50::5onion50:
     
  11. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    Tên: Zombie: The Hero
    Loại: Chế độ chơi
    Phiên Bản: 1.0
    Dành cho: HLDS
    Tác giả:
    - Written by Kungfulon & Sontung0
    - Recode, Remaker, add more stuff, opt by Dias Leon

    - Đoán xem cây súng máy đầu tiên dias mua tên gì =))
    [video=youtube;nmk7L3CDEuY]http://www.youtube.com/watch?v=nmk7L3CDEuY[/URL][/video]
     
    Chỉnh sửa cuối: 24/7/12
  12. hiroshi_dinh

    hiroshi_dinh The Warrior of Light

    Tham gia ngày:
    6/4/07
    Bài viết:
    2,043
    @dias: cool, cây đầu là alvatache gì nhỉ, ko chơi cso nên ko rành lắm :-?
     
  13. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    Avalanche đấy :-", cầm cây này thể hiện thì hết nói :-".
    cái vụ tính số máu cho zombie thằng kungfulon làm bậy bạ, nên zombie ít máu, thành ra vừa vào ván làm 1 phát deadly shot chết hơn 5 con zombie =))
     
  14. hiroshi_dinh

    hiroshi_dinh The Warrior of Light

    Tham gia ngày:
    6/4/07
    Bài viết:
    2,043
    Hèn j mới vô mp5 kill dc 1 con, con kế bắn vô người mấy phát xong ngủm :))
    À mà cho hỏi có cách nào làm mesh to hơn trong trận đấu dc ko, giống bighead mode của SA ấy :-?
     
    Chỉnh sửa cuối: 24/7/12
  15. ra_dao_choi

    ra_dao_choi Youtube Master Race

    Tham gia ngày:
    24/7/12
    Bài viết:
    30
    Như điên đấy.... Ai thấy func Ham_Respawm hoạt động trên BOT mà ko chạy trên người chơi không....... :4cool_oh::4cool_oh::3onion24::3onion24::3onion24:

    ---------- Post added at 14:03 ---------- Previous post was at 14:01 ----------

    PHP:
    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <hamsandwich>
    #include <cstrike>
    #include <fun>

    #include <ava_weapon>


    #define PLUGIN    "AVA character"
    #define AUTHOR    "Bui Duc Duy"
    #define VERSION    "1.0"
    #define g_option_foder "addons/ava_mod/user"

    enum
    {
        
    line_info,
        
    line_rifles1,
        
    line_rifles2,
        
    line_rifles3,
        
    line_rifles4,
        
    line_sniper1,
        
    line_sniper2,
        
    line_sniper3,
        
    line_sniper4,
        
    line_point1,
        
    line_point2,
        
    line_point3,
        
    line_point4
    }


    enum
    {
        
    ID_NONE,
        
    ID_RIFLES_MAN_EU,
        
    ID_SNIPER_MAN_EU,
        
    ID_POINT_MAN_EU,
        
    ID_RIFLES_MAN_NRF,
        
    ID_SNIPER_MAN_NRF,
        
    ID_POINT_MAN_NRF
    }

    new const 
    g_model[][] = {"","Rifles_Man_EU","Sniper_Man_EU","Point_Man_EU","Rifles_Man_NRF","Sniper_Man_NRF","Point_Man_NRF"}

    new 
    bool:g_hamczbotscvar_botquota
    new bool:g_is_get_data_wpn[33]
    new 
    g_user_rifles_man[33][5][128], g_user_sniper_man[33][5][128], g_user_point_man[33][5][128]
    new 
    g_user_classid[33]

    public 
    plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
    RegisterHam(Ham_Respawn"player""Ham_respawm_post"1)
        
        
    cvar_botquota get_cvar_pointer("bot_quota")
    }

    /* MAIN FUNCTIOn   -------------------------------------------------------------------------------------


    * -------------------------------------------------------------------------------------------------------*/
    public Ham_respawm_post(id)
    {
        if (!
    is_user_connected(id))
            return;
        
            
    client_print(idprint_chat"It is RUN"// --> No message
        
    strip_user_weapons(id// No strip Weapon
        
    give_item(id"weapon_knife")
        
        
    func_set_player_model(id// Chỉ chạy với BOT mới nhục !!!!
        
        
    if (task_exists(id+2000)) remove_task(id+2000)
        
    set_task(1.0"task_give_weapon"id+2000)
    }

    public 
    task_give_weapon(taskid)
    {
        new 
    id taskid 2000
        
        
    if (!g_is_get_data_wpn[id]) func_read_data_wpn(id)
        
        new 
    classid g_user_classid[id]
        
        if (
    classid == ID_RIFLES_MAN_EU || classid == ID_RIFLES_MAN_NRF)
        {
            for (new 
    1<= 4++)
            {
                if (!
    equal(g_user_rifles_man[id][i], "")) ava_give_weapon(idg_user_rifles_man[id][i])
            }
        }
        else if (
    classid == ID_SNIPER_MAN_EU || classid == ID_SNIPER_MAN_NRF)
        {
            for (new 
    1<= 4++)
            {
                if (!
    equal(g_user_sniper_man[id][i], "")) ava_give_weapon(idg_user_sniper_man[id][i])
            }
        }
        else if (
    classid == ID_POINT_MAN_EU || classid == ID_POINT_MAN_NRF)
        {
            for (new 
    1<= 4++)
            {
                if (!
    equal(g_user_point_man[id][i], "")) ava_give_weapon(idg_user_point_man[id][i])
            }
        }
    }

    /* Function Useful -------------------------------------------------------------------------------------


    * -------------------------------------------------------------------------------------------------------*/
    func_set_player_model(id)
    {
        if (!
    g_user_classid[id])
        {
            if (
    cs_get_user_team(id) == CS_TEAM_CTg_user_classid[id] = random_num(ID_RIFLES_MAN_NRFID_POINT_MAN_NRF)
            else if (
    cs_get_user_team(id) == CS_TEAM_Tg_user_classid[id] = random_num(ID_RIFLES_MAN_EUID_POINT_MAN_EU)
        }
        
        new 
    classid g_user_classid[id]
        
    cs_set_user_model(idg_model[classid])
    }


    func_read_data_wpn(id)
    {
        new 
    file[128], name[64], len
        get_user_name
    (idname63)
        
    format(file127"%s/%s.txt"g_option_fodername)
        
        if (!
    file_exists(file))
        {
            
    g_is_get_data_wpn[id] = true
            
    return;
        }
        
        
    read_file(fileline_rifles1g_user_rifles_man[id][1], 127len)
        
    replace(g_user_rifles_man[id][1], 127"rifles_man1=""")
        
    read_file(fileline_rifles2g_user_rifles_man[id][2], 127len)
        
    replace(g_user_rifles_man[id][2], 127"rifles_man2=""")
        
    read_file(fileline_rifles3g_user_rifles_man[id][3], 127len)
        
    replace(g_user_rifles_man[id][3], 127"rifles_man3=""")
        
    read_file(fileline_rifles4g_user_rifles_man[id][4], 127len)
        
    replace(g_user_rifles_man[id][4], 127"rifles_man4=""")
        
        
    read_file(fileline_sniper1g_user_sniper_man[id][1], 127len)
        
    replace(g_user_sniper_man[id][1], 127"sniper_man1=""")
        
    read_file(fileline_sniper2g_user_sniper_man[id][2], 127len)
        
    replace(g_user_sniper_man[id][2], 127"sniper_man2=""")
        
    read_file(fileline_sniper3g_user_sniper_man[id][3], 127len)
        
    replace(g_user_sniper_man[id][3], 127"sniper_man3=""")
        
    read_file(fileline_sniper4g_user_sniper_man[id][4], 127len)
        
    replace(g_user_sniper_man[id][4], 127"sniper_man4=""")
        
        
    read_file(fileline_point1g_user_point_man[id][1], 127len)
        
    replace(g_user_point_man[id][1], 127"point_man1=""")
        
    read_file(fileline_point2g_user_point_man[id][2], 127len)
        
    replace(g_user_point_man[id][2], 127"point_man2=""")
        
    read_file(fileline_point3g_user_point_man[id][3], 127len)
        
    replace(g_user_point_man[id][3], 127"point_man3=""")
        
    read_file(fileline_point4g_user_point_man[id][4], 127len)
        
    replace(g_user_point_man[id][4], 127"point_man4=""")
        
        
    g_is_get_data_wpn[id] = true
    }


    /* Precache Model -------------------------------------------------------------------------------------


    * -------------------------------------------------------------------------------------------------------*/

    public client_putinserver(id)
    {
        if (
    is_user_bot(id) && !g_hamczbots && cvar_botquota)
        {
            
    set_task(0.1"register_ham_czbots"id)
        }
    }

    public 
    register_ham_czbots(id)
    {
        if (
    g_hamczbots || !is_user_connected(id) || !get_pcvar_num(cvar_botquota)) return;
            
        
    RegisterHamFromEntity(Ham_Spawnid"Ham_respawm_post"1)
        
    g_hamczbots true
        
        
    if (is_user_alive(id)) Ham_respawm_post(id)
    }
     
  16. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    @buiducduy:
    - Đừng registerham "player" là xong =))

    @hiroshi
    - ủa tui cầm mp5 hồi nào ta
    - ko làm mesh to hơn dc
     
  17. hiroshi_dinh

    hiroshi_dinh The Warrior of Light

    Tham gia ngày:
    6/4/07
    Bài viết:
    2,043
    cái thằng cầm mp5, ko phải ông
    vậy là phải có nhiều model với kích cỡ khác nhau à
     
  18. ra_dao_choi

    ra_dao_choi Youtube Master Race

    Tham gia ngày:
    24/7/12
    Bài viết:
    30
    thế thì nói làm gì....!.........
     
  19. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    @buiducduy:
    - không thì is_user_bot thẳng tiến

    @hiroshi_dinh:
    - Ko có cách nào đâu
     
  20. ra_dao_choi

    ra_dao_choi Youtube Master Race

    Tham gia ngày:
    24/7/12
    Bài viết:
    30
    thôi viết lại cho lành... Mà sao không khai báo được dư này nhỉ...
    PHP:
    new g_data[33][4][5][128]
    cái nì tương đương với 33.4.5.128 biến
     

Chia sẻ trang này