• [THÔNG BÁO] CẢNH BÁO LỪA ĐẢO MẠO DANH QUẢN TRỊ VIÊN
    Chào các thành viên GameVN,
    Dạo gần đây tình trạng lừa đảo scamming và phishing đang gia tăng. Ban quản trị GameVN xin lưu ý toàn bộ thành viên:
    KHÔNG/ ĐỪNG / CẤM cho bất kỳ ai tự xưng là quản trị viên của server vay tiền.
    Mọi hành vi lân la làm quen, tự tiện nhắn tin trên Discord, Facebook, Zalo hoặc các nền tảng mạng xã hội khác,
    núp bóng dưới danh nghĩa sinh hoạt của quản trị viên, đều có tỉ lệ rất, rất cao là lừa đảo.
    Nếu có tài khoản lạ add friend hoặc nhắn tin xin tiền dưới danh nghĩa admin:
    Block ngay
    Report ngay
    Không chuyển khoản, không cung cấp thông tin cá nhân


    Quản trị viên của forum và Discord server GameVN không có nhu cầu vay tiền thành viên.
    Không có lý do nào để admin chủ động kết bạn rồi xin tiền.
    Mọi thông báo chính thức chỉ được đăng trên kênh thông báo của server và topic chính thức trên forum.
    Tin nhắn riêng từ tài khoản lạ không phải thông báo của ban quản trị.
    Cảm ơn các bạn đã chú ý và cùng giữ cộng đồng an toàn.
    — Ban quản trị GameVN

    Tắt thông báo bằng nút X bên góc phải của bảng thông báo*

[AMX] Tổng hợp Code, Plug do Mem chế hoặc giới thiệu

  • Thread starter Thread starter Orpheus
  • Ngày gửi Ngày gửi
1: bạn nên tạo một var về id trong func win_lose() bằng cách"
PHP:
new id = read_data(2)
rồi xoắn típ.


2: param của hàm event_round_start là id
PHP:
public event_round_start(id)
rồi cứ thế mà xoắn

3: ko hỉu mấy cái lose , win trong write_string ở đâu ra cả...
 
1: bạn nên tạo một var về id trong func win_lose() bằng cách"
PHP:
new id = read_data(2)
rồi xoắn típ.


2: param của hàm event_round_start là id
PHP:
public event_round_start(id)
rồi cứ thế mà xoắn

3: ko hỉu mấy cái lose , win trong write_string ở đâu ra cả...
HLTV là Global Event, luôn đc send với MSG_ALL, lấy id ở đâu:-w
PHP:
    message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id)
    write_byte(0)
    write_string(lose) 
    write_string(win) 
    message_end()
Sai bét rồi, 2 cái write_string ở đâu ra:-wcái msg này có 1 và chỉ 1 cái arg string thôi, ở trên đúng mà dưới sai ntn à:-w
Thật đúng là
avatar836823_1.gif
 
Chỉnh sửa cuối:
Sao chả có ai chả lời câu hỏi của mình vậy :( Hay là Topic này không được hỏi đáp về AMX (đợt trước có mà giờ đóng rùi :(()
 
Mấy PRO có thể FIX giúp mình cái này không? Sửa cả tối qua vẫn ko complie được [\B]
PHP:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "Misson"
#define VERSION "1.0"
#define AUTHOR "Duc Duy"


new  my_team 
new players_t[32],players_ct[32], ict,ite

	
public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "win_lose", "a") 
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
}

public win_lose()
{
	get_players(players_t,ite,"ae","TERRORIST")
	get_players(players_ct,ict,"ae","CT")
	my_team = cs_get_user_team(id)
	
	if (my_team ==CS_TEAM_T){

	if (ite == 0 && ict!0){
		message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id)
		write_byte(1) // status: 0: off; 1: on; 2:flash
		write_string(lose)
		write_byte(255) // red
		write_byte(255) // green
		write_byte(255) // blue
		message_end()
		hide_spr()
		} else {
		message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id)
		write_byte(1) // status: 0: off; 1: on; 2:flash
		write_string(win)
		write_byte(255) // red
		write_byte(255) // green
		write_byte(255) // blue
		message_end()
		hide_spr()
		}
	}
	if (my_team ==CS_TEAM_CT){

	
	if (ite == 0 && ict!0){
		message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id)
		write_byte(1) // status: 0: off; 1: on; 2:flash
		write_string(win)
		write_byte(255) // red
		write_byte(255) // green
		write_byte(255) // blue
		message_end()
		hide_spr()
		} else {
		message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id)
		write_byte(1) // status: 0: off; 1: on; 2:flash
		write_string(lose)
		write_byte(255) // red
		write_byte(255) // green
		write_byte(255) // blue
		message_end()
		hide_spr()
		}
	}
}
	
public event_round_start()
{
	new iconstatus = get_user_msgid("StatusIcon")
	message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id)
	write_byte(0)
	write_string(lose) 
	write_string(win) 
	message_end()
}

À, em được biết có 2 cách add spr
+ Dùng nguyên file SPR , tọa độ được hiểu trong hud.txt
+ Lấy 1 phần của SPR (hud_kill chẳng hạn) tọa độ được quy định ở>??
Mấy anh chỉ em với..!


mình viết bừa mấy cái dòng code này, đừng chém nha, mới học code mà

PHP:
#include <amxmodx>
#include <cstrike>

new const g_szSpr[][] =
{
	"sprites/...", // Lose spr
	"sprites/..."  // Win spr
}

#define PLUGIN "Win - lose spr"
#define VERSION "1.0"
#define AUTHOR "Ryokin chicken"

new g_iMsgStatusIcon;
 
public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0");
	
	register_message(get_user_msgid("SendAudio"), "message_SendAudio");
	
	g_iMsgStatusIcon = get_user_msgid("StatusIcon");
} 

public message_SendAudio(msgid, dest, id)
{
	static i, szAudioCode[22], iPlayers[32], iNum, iPlayer, CsTeams:iTeam, iWin;
	get_players(iPlayers, iNum);
	
	if(!iNum) return;
	
	get_msg_arg_string(2, szAudioCode, 21);
	
	if(equal(szAudioCode[7], "terwin"))
		iWin = 1;
	else if(equal(szAudioCode[7], "ctwin"))
		iWin = 2;
	
	for(i = 0; i < iNum; i++)
	{
		iPlayer = iPlayers[i];
		
		iTeam = cs_get_user_team(iPlayer);
			
		if(iTeam == CS_TEAM_T)
			StatusIcon(iPlayer, 1, iWin == 1 ? 1 : 0);
		else if(iTeam == CS_TEAM_CT)
			StatusIcon(iPlayer, 1, iWin == 2 ? 1 : 0);
	}
}
    
public event_round_start()
{
	new iPlayers[32], iNum, iPlayer;
	get_players(iPlayers, iNum);
	
	if(!iNum) return;
	
	for(new i = 0; i < iNum; i++)
	{
		iPlayer = iPlayers[i];
		
		StatusIcon(iPlayer, 0, 0);
		StatusIcon(iPlayer, 0, 1);
	}
}  

StatusIcon(id, iStatus, iSprKind)
{
	message_begin(MSG_ONE, g_iMsgStatusIcon, {0,0,0}, id);
	write_byte(iStatus); // status: 0: off; 1: on; 2:flash
	write_string(g_szSpr[iSprKind]);
	write_byte(255); // red
	write_byte(255); // green
	write_byte(255); // blue
	message_end();
}
 
mình viết bừa mấy cái dòng code này, đừng chém nha, mới học code mà

PHP:
#include <amxmodx>
#include <cstrike>

new const g_szSpr[][] =
{
	"sprites/...", // Lose spr
	"sprites/..."  // Win spr
}

#define PLUGIN "Win - lose spr"
#define VERSION "1.0"
#define AUTHOR "Ryokin chicken"

new g_iMsgStatusIcon;
 
public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0");
	
	register_message(get_user_msgid("SendAudio"), "message_SendAudio");
	
	g_iMsgStatusIcon = get_user_msgid("StatusIcon");
} 

public message_SendAudio(msgid, dest, id)
{
	static i, szAudioCode[22], iPlayers[32], iNum, iPlayer, CsTeams:iTeam, iWin;
	get_players(iPlayers, iNum);
	
	if(!iNum) return;
	
	get_msg_arg_string(2, szAudioCode, 21);
	
	if(equal(szAudioCode[7], "terwin"))
		iWin = 1;
	else if(equal(szAudioCode[7], "ctwin"))
		iWin = 2;
	
	for(i = 0; i < iNum; i++)
	{
		iPlayer = iPlayers[i];
		
		iTeam = cs_get_user_team(iPlayer);
			
		if(iTeam == CS_TEAM_T)
			StatusIcon(iPlayer, 1, iWin == 1 ? 1 : 0);
		else if(iTeam == CS_TEAM_CT)
			StatusIcon(iPlayer, 1, iWin == 2 ? 1 : 0);
	}
}
    
public event_round_start()
{
	new iPlayers[32], iNum, iPlayer;
	get_players(iPlayers, iNum);
	
	if(!iNum) return;
	
	for(new i = 0; i < iNum; i++)
	{
		iPlayer = iPlayers[i];
		
		StatusIcon(iPlayer, 0, 0);
		StatusIcon(iPlayer, 0, 1);
	}
}  

StatusIcon(id, iStatus, iSprKind)
{
	message_begin(MSG_ONE, g_iMsgStatusIcon, {0,0,0}, id);
	write_byte(iStatus); // status: 0: off; 1: on; 2:flash
	write_string(g_szSpr[iSprKind]);
	write_byte(255); // red
	write_byte(255); // green
	write_byte(255); // blue
	message_end();
}
Pro thì nói thẳng ra đi, khiêm tôn làm gì=))
 
đến giờ ta cũng chưa biết dc cấu trúc này à nha =))
PHP:
a ? b : c
 
ai hiểu ko 8-|
PHP:
for x=1, 4 do
	Crypto.DecodeFromString(xpF.File[x], xpF_Path.."\\btn_xpF"..((x>1) and x or "")..".tmp");
end
 
ai hiểu ko 8-|
PHP:
for x=1, 4 do
	Crypto.DecodeFromString(xpF.File[x], xpF_Path.."\\btn_xpF"..((x>1) and x or "")..".tmp");
end
Dịch ra AMX ta có>:)
PHP:
for (new x=1;x<=4;x++)
{
          Crypto.DecodeFromString(xpF.File[x], xpF_Path.."\\btn_xpF"..((x>1) and x or "")..".tmp"); 
}
 
ta cần người dịch chỗ ((x>1) and x or "") này nè 8-|. mi hiểu ko ?

ôi trời. dùng debug chạy có mỗi đoạn scrip 1280 line mà mất 30' 8-|
 
Viết code mệt quá, sai lỗi tùm lum(tại cũng chưa hiểu biết nhiều).Thôi ai viết hộ cho luôn đi đem về học thì hơn.
@Dias : Có câu này quên chưa hỏi, bác xem lại cái plugin he_touch xem cái get maxplayers làm j` vậy ?, nghĩ mãi k hiểu
 
cái tên nói lên tất cả sao lại nghĩ mãi ko hiểu vậy ? hihi
 
ônG cường 8x rồi mà vẫn còn nhí nha nhí nhảnh ý nhỉ ;;)
Legiondog: Đúng roài đó. Hiểu ra nghĩa tiếng anh thì ý nghĩa của plugins đó chính là như vậy :))
 
Ờ thì là lấy số người chơi lớn nhất, nhưng mà cho vào plugin he_touch làm j` ??
P/s: Bác Cường bao nhiu tuổi zậy ? :D
@Kai ngu: sao lại sửa tên ta thành legion dog >:P
 
@legion:
- 1987
- Đưa plugin lên đây tôi xem cho, lười down quá :|.

@ALL:
- Các bác cho hỏi, tăng tốc độ bắn AWp thế nào vậy ?. Kiểu như bắn awp liên thanh ấy
 
Chỉnh sửa cuối:
@legionduck:
- Đưa plugin lên đây tôi xem cho, lười down quá :|.

@ALL:
- Các bác cho hỏi, tăng tốc độ bắn AWp thế nào vậy ?. Kiểu như bắn awp liên thanh ấy
Register cái Fm_CmdStart, check button là IN_ATTACK1, nếu đúng thì ExecuteHamB(Ham_Weapon_PrimaryAttack, get_weapon_ent(id))
 
ExecuteHamB với ExecuteHam có gì khác nhau vây :-?
 
@Dias: plugin chả paste code lên rồi còn j`, thôi paste lại
PHP:
#include <amxmodx> 
#include <amxmisc> 
#include <fakemeta> 
#include <fun> 
#include <cstrike> 
#include <hamsandwich> 
#include <zombieplague> 
#include <fakemeta_util> 
#include <engine> 

#define PLUGIN "He Touch" 
#define AUTHOR "Dias" 
#define VERSION "1.0" 
#define RADIUS        500.0 // Affect radius 
#define MAX_PLAYERS 32 

new cvar_impactexplode 
new g_MaxPlayers // --> là cái này

public plugin_init() 
{ 
    register_plugin( PLUGIN, VERSION, AUTHOR ) 
    cvar_impactexplode = register_cvar("he_impactexplode", "1") 
    RegisterHam(Ham_Touch, "grenade", "bacon_touch_grenade") 
    g_MaxPlayers = get_maxplayers ( ) // --> Và cái này nữa, dùng làm j`
} 

public bacon_touch_grenade(ent, world) 
{ 
    if(!get_pcvar_num(cvar_impactexplode)) 
        return HAM_IGNORED 
     
    static model[12] 
    pev(ent, pev_model, model, 11) 
     
    if(model[9] == 'h' && model[10] == 'e') 
    { 
        set_pev(ent, pev_dmgtime, 0.0) 
        return HAM_HANDLED 
    } 
    return HAM_IGNORED 
}
P/s: Lại thành legionduck X_X
Bác cường 87 à, hơn mềnh 10 tuổi =))
Chắc học xong AMX thì chắc ta trở thành coder trẻ nhất VN mất =))
 
Chỉnh sửa cuối:
ExecuteHamB với ExecuteHam có gì khác nhau vây :-?
ExecuteHamB nó khác ExecuteHam ở 1 chỗ là khi nó thực hiện thì nó call tất cả các func hook nó = RegisterHam nữa.
@Dias: plugin chả paste code lên rồi còn j`, thôi paste lại
PHP:
#include <amxmodx> 
#include <amxmisc> 
#include <fakemeta> 
#include <fun> 
#include <cstrike> 
#include <hamsandwich> 
#include <zombieplague> 
#include <fakemeta_util> 
#include <engine> 

#define PLUGIN "He Touch" 
#define AUTHOR "Dias" 
#define VERSION "1.0" 
#define RADIUS        500.0 // Affect radius 
#define MAX_PLAYERS 32 

new cvar_impactexplode 
new g_MaxPlayers // --> là cái này

public plugin_init() 
{ 
    register_plugin( PLUGIN, VERSION, AUTHOR ) 
    cvar_impactexplode = register_cvar("he_impactexplode", "1") 
    RegisterHam(Ham_Touch, "grenade", "bacon_touch_grenade") 
    g_MaxPlayers = get_maxplayers ( ) // --> Và cái này nữa, dùng làm j`
} 

public bacon_touch_grenade(ent, world) 
{ 
    if(!get_pcvar_num(cvar_impactexplode)) 
        return HAM_IGNORED 
     
    static model[12] 
    pev(ent, pev_model, model, 11) 
     
    if(model[9] == 'h' && model[10] == 'e') 
    { 
        set_pev(ent, pev_dmgtime, 0.0) 
        return HAM_HANDLED 
    } 
    return HAM_IGNORED 
}
P/s: Lại thành legionduck X_X
Bác cường 87 à, hơn mềnh 10 tuổi =))
Chắc học xong AMX thì chắc ta trở thành coder trẻ nhất VN mất =))
Mi cũng = tuổi ta thôi:-"

kungfulon wrote this post.
 
Back
Top