[AMX][Codes] Hỏi đáp về các code của AMX ...

Thảo luận trong 'Counter Strike' bắt đầu bởi sontung0, 6/8/09.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. Ryokin

    Ryokin Mr & Ms Pac-Man

    Tham gia ngày:
    4/9/10
    Bài viết:
    106
    câu nên dùng event death như mình đã nói , vao` scripting/include/zombieplague.inc để xem các native
    PHP:
    zp_get_user_nemesis(id//nemesis


    ---------- Post added at 09:29 ---------- Previous post was at 09:27 ----------

    ah quên , ở plugin_precache ko can` return gì đâu, bỏ include fakemeta đi , ko dùng đến. .
     
  2. mrkun

    mrkun T.E.T.Я.I.S

    Tham gia ngày:
    4/4/10
    Bài viết:
    544
    register_event("DeathMsg", "event_death_msg", "a") << dùng cái nì hả bạn , nhưng dùng cái nì mình ko bít làm sao lấy id của victim và killer :|

    à thấy bài dưới của bạn rùi , để mình thử :D
     
  3. sontung0

    sontung0 Dragon Quest

    Tham gia ngày:
    27/5/09
    Bài viết:
    1,333
    thì ngoài cách vọc plugin có sẵn ra thì còn cách nào đâu ^^
    còn về cái sight thì nó là như này (nhà ko có mạng nên ko có code ở đây.Đang ở NET ^^)
    + thứ nhất là tạo biến g_hasZoom, nếu player click attack2 thì gán = true rồi set zoom cho player (dạng như plugin zoom mọi loại súng ấy).nói chung là cần biến g_hasZoom để biết player có đang zoom ko
    + reg event current_weapon rồi kiểm tra nếu đang zoom thì set modelweapon là cái model sight
    còn không thì set model như bt ^^
    cơ bản là thế thôi ^^ (với những bạn mới học plugin thì cũng hơi khó hiểu thật ^^.nhưng cũng chả bít nói ntn khác.để mai post code lên ^^)

    PHP:
    new attacker read_data(1)
    new 
    victim read_data(2)
     
  4. mrkun

    mrkun T.E.T.Я.I.S

    Tham gia ngày:
    4/4/10
    Bài viết:
    544
    ớ cho mình hỏi : rds = random(2) nghĩa là rds = 0,1,2 hay 1,2 hay 0,1

    ối mai bác sontung post code sight ạ ? ối hay wa :x , chờ tới ngày mai @@

    WAITING FOR TOMORROW !!!!!!!!!!!!!!
     
    Chỉnh sửa cuối: 7/9/10
  5. Ryokin

    Ryokin Mr & Ms Pac-Man

    Tham gia ngày:
    4/9/10
    Bài viết:
    106
    PHP:
    switch (random_num(12))
        {
        case 
    1: ...
        case 
    2:...
        }
     
  6. mrkun

    mrkun T.E.T.Я.I.S

    Tham gia ngày:
    4/4/10
    Bài viết:
    544
    thanks bạn

    làm sao để bít headshot hay ko nhỉ ? :|
     
    Chỉnh sửa cuối: 7/9/10
  7. traibacninha

    traibacninha Youtube Master Race

    Tham gia ngày:
    17/7/10
    Bài viết:
    28
    Em có file backweapon đeo vũ khí sau lưng khi ko sử dụng.down về rồi nhưng ko biết làm thế nào, ai biết chỉ dùm
    http://forum.gamevn.com/showthread.php?735616-Xin-file&p=16218653#post16218653

    Em lập cái topic http://forum.gamevn.com/showthread.php?735616-Xin-file&p=16218653#post16218653, mấy bác ko biết j cũng vào spam. tự nhiên bị mấy bác mod mắng, em có câu hỏi ở amxx này lâu rồi mà có ai giúp đâu, cần gấp quá mới lập topic mới. chán
     
  8. mrkun

    mrkun T.E.T.Я.I.S

    Tham gia ngày:
    4/4/10
    Bài viết:
    544
    bạn chép cái backweapon.amxx vào thư mục plugin, vào file plugin.ini trong thư mục config , thêm dòng này vào "backweapon.amxx" , model bw thì wăng vào thư mục models
     
  9. My Own Way

    My Own Way S.V.E.N Commander

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,221
    Nơi ở:
    Hải Phòng
    Các ông muốn giúp nhanh mà cứ post code như post bài copy ấy X_X, để trong thẻ php để còn nhìn rõ màu của biến, hàm chữ.
     
  10. mrkun

    mrkun T.E.T.Я.I.S

    Tham gia ngày:
    4/4/10
    Bài viết:
    544
    PHP:
    #include <amxmodx>
    #include <amxmisc>
    #include <zombieplague>

    static const PLUGIN_NAME[] = "Kill Sound"
    static const PLUGIN_VERSION[] = "1.0"
    static const PLUGIN_AUTHOR[] = "Kun"


    public plugin_init()
    {
        
    register_plugin(PLUGIN_NAMEPLUGIN_VERSIONPLUGIN_AUTHOR)
    }

    public 
    plugin_precache()
    {
        
    precache_sound("misc/nemesiskill.wav")
        
    precache_sound("misc/zombiekill.wav")
        
    precache_sound("misc/zombiekill2.wav")
    }

    public 
    client_death(killervictim)
    {    
        if (!
    zp_get_user_zombie(killer) && zp_get_user_zombie(victim))
        {
            if(
    zp_get_user_nemesis(victim))
                
    client_cmd(killer,"spk misc/nemesiskill")
            else
            {
                switch (
    random_num(1,2))
                {
                    case 
    1client_cmd(killer,"spk misc/zombiekill")
                    case 
    2client_cmd(killer,"spk misc/zombiekill2")    
                }
            }
        }
        
        
        return 
    PLUGIN_CONTINUE
    }
    giờ mình mún nếu headshot thì ko fát âm thanh thì làm ntn dzị ?
     
  11. My Own Way

    My Own Way S.V.E.N Commander

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,221
    Nơi ở:
    Hải Phòng
    Âm thanh gì ? :-/ Hú lên như kiểu CF á :|.
     
  12. mrkun

    mrkun T.E.T.Я.I.S

    Tham gia ngày:
    4/4/10
    Bài viết:
    544
    :)) nó kêu "yeah" , nhưng âm thanh mình làm đc rùi , chưa làm đc zụ nếu HS thì ko fát ra âm thanh thui
     
  13. My Own Way

    My Own Way S.V.E.N Commander

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,221
    Nơi ở:
    Hải Phòng
    Ặc.. =)). Ngươi dùng chung với cái nst_effect_kill à =)), thế thì tìm cái code có headshot trong đó rồi del đi :|
     
  14. mrkun

    mrkun T.E.T.Я.I.S

    Tham gia ngày:
    4/4/10
    Bài viết:
    544
    ko đâu có dùng nst_effect_kill đâu :| . tui dùng cái đó bị hư mấy cái hud kill súng , chả bít sửa
     
  15. My Own Way

    My Own Way S.V.E.N Commander

    Tham gia ngày:
    30/7/09
    Bài viết:
    12,221
    Nơi ở:
    Hải Phòng
    Ơ, sao không add gì nó lại kêu lên yeah là sao =)). Cái vụ hud kill súng thì dễ sửa thôi, thôi có gì ra add YM tôi : daolinh2006@yahoo.com



    @5c0r-3|0:
    Hình như cái dòng hiện Rank, HP, AP ở trong BF2 là cái này. Nó ở trong inl file của BF2 Rank chứ trong main plugin của BF2 Rank thì chỉ có register_event,clcmd và các cvar thôi. Nói chung là cái chữ ông muốn hiện thuộc dang hudmessage.
    PHP:
    set_hudmessage(color150color2, -1.0height10.013.00.010.01);

                if (
    flags TEAMRANK)
                {
                    if (
    flags STATS)
                        
    ShowSyncHudMsg(idgHudSyncAimInfo"%s : %s^n%d HP / %d AP / %s"namegRankName[pidrank], get_user_health(pid), get_user_armor(pid), wpnname);
                    else
                        
    ShowSyncHudMsg(idgHudSyncAimInfo"%s : %s"namegRankName[pidrank]);
                }
                else
                {
                    if (
    flags STATS)
                        
    ShowSyncHudMsg(idgHudSyncAimInfo"%s^n%d HP / %d AP / %s"nameget_user_health(pid), get_user_armor(pid), wpnname);
                    else
                        
    ShowSyncHudMsg(idgHudSyncAimInfo"%s"name);
                }
     
  16. mrkun

    mrkun T.E.T.Я.I.S

    Tham gia ngày:
    4/4/10
    Bài viết:
    544
    bác sontung0 cái combo zombie hiện sprite 100damge 500damge 1000damge là chính xác số damge ko ? tại vào game mình chỉnh 500 dmg thì đc 1 ammo , nhưng mình thấy ammo +1 rùi 1 hồi mới thấy hiện sprite 500 damge
     
  17. rocxman800

    rocxman800 Dragon Quest

    Tham gia ngày:
    7/11/05
    Bài viết:
    1,215
    Nơi ở:
    trên Trển áh
    Anh Tùng có thể chỉnh lại cách hiển thị của Nst_ek hiện tại đc ko, cụ thể là chỉ hiển thị 1 Sprite thui ấy, làm dùm em nha ^^!
     
  18. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    Cho vào Thẻ PHP roài đó :|. ANh nào rảnh làm giúp mình đê
     
  19. 5c0r-|3i0

    5c0r-|3i0 Donkey Kong

    Tham gia ngày:
    6/8/09
    Bài viết:
    387
    1) Sau này chèn vô thẻ php cho dễ nhìn
    @dias:
    PHP:
    /*================================================================================
        
    Poison Zombie

        
    ================================================================================*/

    #include <amxmodx>
    #include <fakemeta>
    #include <zombieplague>

    #define RADIUS

    new g_zclasspoison
    new g_iExplo
    new cvar_speed
    new g_MaxPlayers

    new const g_SoundBombExplode [ ] [ ] = { "biohazard/zombi_bomb_exp.wav" }

    // Zombie Attributes
    new const zclass_name[] = "Poison Zombie" // name
    new const zclass_info[] = "Khi Chet Se Lam Human Vang Xa" // description
    new const zclass_model[] = "bio_poison2" // model
    new const zclass_clawmodel[] = "v_poison.mdl" // claw model
    const zclass_health 1000 // health
    const zclass_speed 230 // speed
    const Float:zclass_gravity 1.0 // gravity
    const Float:zclass_knockback 1.0 // knockback


    public plugin_init() {         
        
    register_plugin("[ZP] Class: Poison Zombie","1.0","Sophia - Dias")
        
    zp_get_user_first_zombie(id) ? plugin_init2() : pause("ad")
    }

    public 
    plugin_precache()
    {
        
    // Register the new class and store ID for reference
        
    g_zclasspoison zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)    
        
    g_iExplo precache_model "sprites/zombiebomb_exp.spr")
            new 
    i
        
    for ( 0sizeof g_SoundBombExplodei++ )
            
    precache_sound g_SoundBombExplode ] )
        
        }

    public 
    plugin_init2() 
    {
        
    cvar_speed register_cvar "zp_class_poison_kb""5000" )
        
    g_MaxPlayers get_maxplayers ( )
    }    
        
    public 
    bacon_zombie_killed(victim)
    {
        if (!
    zp_user_infected_post(victim) || zp_set_user_zombie_class(victim) != g_zclass)
            return 
    HAM_IGNORED;
        if(
    zp_get_user_zombie_class(victim) == g_zclass)
            
    jumping_explode (victim)
    }
        
    public 
    jumping_explode victim )
    {
        if ( 
    victim )
            return
        
        static 
    Float:flOrigin ]
        
    pev victimpev_originflOrigin )
        
        
    engfunc EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYflOrigin)
        
    write_byte TE_SPRITE 
        
    engfunc EngFunc_WriteCoordflOrigin ] )
        
    engfunc EngFunc_WriteCoordflOrigin ] )
        
    engfunc EngFunc_WriteCoordflOrigin ] + 45.0 )
        
    write_short g_iExplo )
        
    write_byte 35 )
        
    write_byte 186 )
        
    message_end ( )
           
        
    emit_sound victimCHAN_WEAPONg_SoundBombExplode[random_num(0sizeof g_SoundBombExplode-1)], VOL_NORMATTN_NORM0PITCH_NORM )
        
        for ( new 
    1g_MaxPlayersi++ )
        {
            if ( !
    is_user_alive  ) )
                continue
            
            
    // bugfix!!!!    
            
    if ( zp_user_infected_post ) )
                continue
          
            
    // Debug!
            //client_print ( iOwner, print_chat, "Owner of Smoke Grenade!" )    
            
            
    new Float:flVictimOrigin ]
            
    pev ipev_originflVictimOrigin )
            
            new 
    Float:flDistance get_distance_f flOriginflVictimOrigin )    
            
            if ( 
    flDistance <= RADIUS )
            {
                static 
    Float:flSpeed
                flSpeed 
    get_pcvar_float cvar_speed )
                
                static 
    Float:flNewSpeed
                flNewSpeed 
    flSpeed * ( 1.0 - ( flDistance RADIUS ) )
                
                static 
    Float:flVelocity ]
                
    get_speed_vector flOriginflVictimOriginflNewSpeedflVelocity )
                
                
    set_pev ipev_velocity,flVelocity )
            }
        }
        
    }

    1)
    PHP:
    zp_get_user_first_zombie(id) ? plugin_init2() : pause("ad")
    ???
    2) Gộp lại 2 cái plugin_init đi , có sao đâu ?
    3)
    PHP:
    public bacon_zombie_killed(victim)
    {
        if (!
    zp_user_infected_post(victim) || zp_[COLOR="Red"]Get[/COLOR]_user_zombie_class(victim) != g_zclass)  // g_zclass ?? 
            
    return HAM_IGNORED;
        if(
    zp_get_user_zombie_class(victim) == g_zclass)  // Làm gì có g_zclass ? 
            
    {
              
    jumping_explode (victim)
             }
             return 
    HAM_IGNORED;
    }
    4)
    PHP:
    zp_user_infected_post
    Đây là 1 forward , ko phải native :|
    Sửa lại những chỗ đã nói rồi ném lại lên đây . Ko nhận giúp qua PM . Hết

    Sau đây là link source của server Biohazard của TheBest một thời sóng gió ...:> Có khá nhiều code để xem , chủ yếu gameplay trong đây hết , quên mất mấy file configs ...:D . Cóa j cho a e học hỏi
     
    Chỉnh sửa cuối: 7/9/10
  20. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    nếu ko phải forward thì native nằm chỗ nào. có thấy is_user_zombie đâu. Đọc file zombieplague.inc rồi
    cái khúc RegisterHam nữa. compile bị lỗi

    Change zp_user_infected_post thành cái gì nhỉ

    ---------- Post added at 19:41 ---------- Previous post was at 19:34 ----------

    Sửa thế này dc chửa ?

    PHP:
    /*================================================================================
        
    Poison Zombie

        
    ================================================================================*/

    #include <amxmodx>
    #include <fakemeta>
    #include <zombieplague>

    #define RADIUS

    new g_zclasspoison
    new g_iExplo
    new cvar_speed
    new g_MaxPlayers

    new const g_SoundBombExplode [ ] [ ] = { "biohazard/zombi_bomb_exp.wav" }

    // Zombie Attributes
    new const zclass_name[] = "Poison Zombie" // name
    new const zclass_info[] = "Khi Chet Se Lam Human Vang Xa" // description
    new const zclass_model[] = "bio_poison2" // model
    new const zclass_clawmodel[] = "v_poison.mdl" // claw model
    const zclass_health 1000 // health
    const zclass_speed 230 // speed
    const Float:zclass_gravity 1.0 // gravity
    const Float:zclass_knockback 1.0 // knockback


    public plugin_init() {         
        
    register_plugin("[ZP] Class: Poison Zombie","1.0","Sophia - Dias")
            
    cvar_speed register_cvar "zp_class_poison_kb""5000" )
        
    g_MaxPlayers get_maxplayers ( )
    }

    public 
    plugin_precache()
    {
        
    // Register the new class and store ID for reference
        
    g_zclasspoison zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)    
        
    g_iExplo precache_model "sprites/zombiebomb_exp.spr")
            new 
    i
        
    for ( 0sizeof g_SoundBombExplodei++ )
            
    precache_sound g_SoundBombExplode ] )
        
        }
    public 
    bacon_zombie_killed(victim)
    {
        if (!
    zp_get_user_zombie(victim) || zp_set_user_zombie_class(victim) != g_class)
            return 
    HAM_IGNORED;
        if(
    zp_get_user_zombie_class(victim) == g_class)
            
    jumping_explode (victim)
    }
        
    public 
    jumping_explode victim )
    {
        if ( 
    victim )
            return
        
        static 
    Float:flOrigin ]
        
    pev victimpev_originflOrigin )
        
        
    engfunc EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYflOrigin)
        
    write_byte TE_SPRITE 
        
    engfunc EngFunc_WriteCoordflOrigin ] )
        
    engfunc EngFunc_WriteCoordflOrigin ] )
        
    engfunc EngFunc_WriteCoordflOrigin ] + 45.0 )
        
    write_short g_iExplo )
        
    write_byte 35 )
        
    write_byte 186 )
        
    message_end ( )
           
        
    emit_sound victimCHAN_WEAPONg_SoundBombExplode[random_num(0sizeof g_SoundBombExplode-1)], VOL_NORMATTN_NORM0PITCH_NORM )
        
        for ( new 
    1g_MaxPlayersi++ )
        {
            if ( !
    is_user_alive  ) )
                continue
            
            
    // bugfix!!!!    
            
    if ( zp_user_infected_post ) )
                continue
          
            
    // Debug!
            //client_print ( iOwner, print_chat, "Owner of Smoke Grenade!" )    
            
            
    new Float:flVictimOrigin ]
            
    pev ipev_originflVictimOrigin )
            
            new 
    Float:flDistance get_distance_f flOriginflVictimOrigin )    
            
            if ( 
    flDistance <= RADIUS )
            {
                static 
    Float:flSpeed
                flSpeed 
    get_pcvar_float cvar_speed )
                
                static 
    Float:flNewSpeed
                flNewSpeed 
    flSpeed * ( 1.0 - ( flDistance RADIUS ) )
                
                static 
    Float:flVelocity ]
                
    get_speed_vector flOriginflVictimOriginflNewSpeedflVelocity )
                
                
    set_pev ipev_velocity,flVelocity )
            }
        }
        
    }  
    Khúc
    PHP:
            // bugfix!!!!    
            
    if ( zp_user_infected_post ) )
                continue
    sửa luôn ko
     
    Chỉnh sửa cuối: 7/9/10
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này