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

  • Thread starter Thread starter sontung0
  • Ngày gửi Ngày gửi
Status
Không mở trả lời sau này.
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. .
 
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
 
@sontung0 : Ông cũng đi sưu tầm rồi vọc àh , giống tôi thế :P . Cứu tôi đoạn trên nào , cho tôi biết cách làm cũng được :D .
@kakaan : Ông có cơ bản j về cái này chưa, chỉ cho dễ....:D
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 ^^)

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 :|
PHP:
new attacker = read_data(1)
new victim = read_data(2)
 
ớ 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:
thanks bạn

làm sao để bít headshot hay ko nhỉ ? :|
 
Chỉnh sửa cuối:
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
 
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
 
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ữ.
 
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_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
}

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

public client_death(killer, victim)
{	
	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 1: client_cmd(killer,"spk misc/zombiekill")
				case 2: client_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ị ?
 
:)) 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
 
Ặ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 :|
 
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
 
Ơ, 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 : [email protected]



@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(color1, 50, color2, -1.0, height, 1, 0.01, 3.0, 0.01, 0.01);

			if (flags & TEAMRANK)
			{
				if (flags & STATS)
					ShowSyncHudMsg(id, gHudSyncAimInfo, "%s : %s^n%d HP / %d AP / %s", name, gRankName[pidrank], get_user_health(pid), get_user_armor(pid), wpnname);
				else
					ShowSyncHudMsg(id, gHudSyncAimInfo, "%s : %s", name, gRankName[pidrank]);
			}
			else
			{
				if (flags & STATS)
					ShowSyncHudMsg(id, gHudSyncAimInfo, "%s^n%d HP / %d AP / %s", name, get_user_health(pid), get_user_armor(pid), wpnname);
				else
					ShowSyncHudMsg(id, gHudSyncAimInfo, "%s", name);
			}
 
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
 
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 ^^!
 
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_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)    
    g_iExplo = precache_model ( "sprites/zombiebomb_exp.spr")
        new i
    for ( i = 0; i < sizeof g_SoundBombExplode; i++ )
        precache_sound ( g_SoundBombExplode [ i ] )
    
    }

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 < 0 )
        return
    
    static Float:flOrigin [ 3 ]
    pev ( victim, pev_origin, flOrigin )
    
    engfunc ( EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, flOrigin, 0 )
    write_byte ( TE_SPRITE ) 
    engfunc ( EngFunc_WriteCoord, flOrigin [ 0 ] )
    engfunc ( EngFunc_WriteCoord, flOrigin [ 1 ] )
    engfunc ( EngFunc_WriteCoord, flOrigin [ 2 ] + 45.0 )
    write_short ( g_iExplo )
    write_byte ( 35 )
    write_byte ( 186 )
    message_end ( )
       
    emit_sound ( victim, CHAN_WEAPON, g_SoundBombExplode[random_num(0, sizeof g_SoundBombExplode-1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM )
    
    for ( new i = 1; i < g_MaxPlayers; i++ )
    {
        if ( !is_user_alive  ( i ) )
            continue
        
        // bugfix!!!!    
        if ( zp_user_infected_post ( i ) )
            continue
      
        // Debug!
        //client_print ( iOwner, print_chat, "Owner of Smoke Grenade!" )    
        
        new Float:flVictimOrigin [ 3 ]
        pev ( i, pev_origin, flVictimOrigin )
        
        new Float:flDistance = get_distance_f ( flOrigin, flVictimOrigin )    
        
        if ( flDistance <= RADIUS )
        {
            static Float:flSpeed
            flSpeed = get_pcvar_float ( cvar_speed )
            
            static Float:flNewSpeed
            flNewSpeed = flSpeed * ( 1.0 - ( flDistance / RADIUS ) )
            
            static Float:flVelocity [ 3 ]
            get_speed_vector ( flOrigin, flVictimOrigin, flNewSpeed, flVelocity )
            
            set_pev ( i, pev_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:
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_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)    
    g_iExplo = precache_model ( "sprites/zombiebomb_exp.spr")
        new i
    for ( i = 0; i < sizeof g_SoundBombExplode; i++ )
        precache_sound ( g_SoundBombExplode [ i ] )
    
    }
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 < 0 )
        return
    
    static Float:flOrigin [ 3 ]
    pev ( victim, pev_origin, flOrigin )
    
    engfunc ( EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, flOrigin, 0 )
    write_byte ( TE_SPRITE ) 
    engfunc ( EngFunc_WriteCoord, flOrigin [ 0 ] )
    engfunc ( EngFunc_WriteCoord, flOrigin [ 1 ] )
    engfunc ( EngFunc_WriteCoord, flOrigin [ 2 ] + 45.0 )
    write_short ( g_iExplo )
    write_byte ( 35 )
    write_byte ( 186 )
    message_end ( )
       
    emit_sound ( victim, CHAN_WEAPON, g_SoundBombExplode[random_num(0, sizeof g_SoundBombExplode-1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM )
    
    for ( new i = 1; i < g_MaxPlayers; i++ )
    {
        if ( !is_user_alive  ( i ) )
            continue
        
        // bugfix!!!!    
        if ( zp_user_infected_post ( i ) )
            continue
      
        // Debug!
        //client_print ( iOwner, print_chat, "Owner of Smoke Grenade!" )    
        
        new Float:flVictimOrigin [ 3 ]
        pev ( i, pev_origin, flVictimOrigin )
        
        new Float:flDistance = get_distance_f ( flOrigin, flVictimOrigin )    
        
        if ( flDistance <= RADIUS )
        {
            static Float:flSpeed
            flSpeed = get_pcvar_float ( cvar_speed )
            
            static Float:flNewSpeed
            flNewSpeed = flSpeed * ( 1.0 - ( flDistance / RADIUS ) )
            
            static Float:flVelocity [ 3 ]
            get_speed_vector ( flOrigin, flVictimOrigin, flNewSpeed, flVelocity )
            
            set_pev ( i, pev_velocity,flVelocity )
        }
    }
    
}

Khúc
PHP:
        // bugfix!!!!    
        if ( zp_user_infected_post ( i ) )
            continue

sửa luôn ko
 
Chỉnh sửa cuối:
Status
Không mở trả lời sau này.
Back
Top