[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
...
if (!g_m_canclick[id] && !g_m_ready[id] && !g_m_shoot[id] && szClip)
{
buttons &= ~IN_ATTACK
set_uc(uc_handle, UC_Buttons, buttons)​
...
Bỏ cái đúng đi chỉ vì nghĩ nó là sai
attachment.php
 

Attachments

  • facepalm.gif
    facepalm.gif
    1.2 KB · Đọc: 164
Mi sửa dùm ta đi, thực ra 2 dòng đó nó có rồi mà ta thử ko dc nên bỏ :(
 
Các bác xem dùm em đoạn code này,,.. rõ ràng đúng mà ko đọc được
PHP:
new bagID[980],len=100 , LINE = 1
	read_file("addons/amxmodx/configs/BDD_GamePlay/GameBag.ini", LINE, bagID,charsmax(bagID),len)
	client_print(id,print_chat,"Lenh la:  %s",bagID)
 
Các bác xem dùm em đoạn code này,,.. rõ ràng đúng mà ko đọc được
PHP:
new bagID[980],len=100 , LINE = 1
	read_file("addons/amxmodx/configs/BDD_GamePlay/GameBag.ini", LINE, bagID,charsmax(bagID),len)
	client_print(id,print_chat,"Lenh la:  %s",bagID)

các pro đi đâu hết ùi, giúp em cái.
 
có ai biết mấy cái lỗi invalid spectator mode là gì ko ?

test svdex+m134 mà toàn bị dính lỗi đó ko à :s
 
Các bác xem dùm em đoạn code này,,.. rõ ràng đúng mà ko đọc được
PHP:
new bagID[980],len=100 , LINE = 1
	read_file("addons/amxmodx/configs/BDD_GamePlay/GameBag.ini", LINE, bagID,charsmax(bagID),len)
	client_print(id,print_chat,"Lenh la:  %s",bagID)
Trong cái native này thì số dòng bắt đầu từ 0, vậy nên muốn đọc dòng 1 phải sửa như thế này:
PHP:
new bagID[980],len=100 , LINE = 0 
    read_file("addons/amxmodx/configs/BDD_GamePlay/GameBag.ini", LINE, bagID,charsmax(bagID),len) 
    client_print(id,print_chat,"Lenh la:  %s",bagID)
 
Ai xem dùm em cái code này... rõ ràng đúng mà vào game thì...TER mới 5 nó hiện 10....bắn chết thằng CT thì TER ko tăng mà CT giảm --> ÂM .. :))
PHP:
public event_DeathMsg()
{
for (new w = 1;w<33;w++)
{
	if (cs_get_user_team(w) == CS_TEAM_T) frags_T += get_user_frags(w)
	else frags_CT += get_user_frags(w)

	set_hudmessage(255,255,255,-1.0,0.01, 0, 6.0, 2.0, 0.0, 0.0, -1)
	ShowSyncHudMsg(w, g_FRAGS, "[TER]%d | [CT]%d", frags_T,frags_CT )
}
}
 
@Kungfulon:
- Ko giúp ta à :-?

@buiducduy:
- Để bị giết nhiều là âm điểm đấy :))
 
@Kungfulon:
- Ko giúp ta à :-?

@buiducduy:
- Để bị giết nhiều là âm điểm đấy :))

Anh sửa dùm em với.. mà sao TER mới kill được 5 mà nó hiện là 10 rùi..
 
@buiduchuy:
- Dễ lắm, vì cái này là nó cộng 1 lần rồi, khi tiếp nó sẽ cộng lần nữa nên suy ra nó bị gấp đôi hiểu ko ?
VD: thằng A nó kill 5, B nó ko kill. Thì nó sẽ cộng 5 vào. Sau khi thằng B kill dc 3 nữa thì nó sẽ cộng 3 vào. Nhưng lúc này không có điều kiện gì cả nó lại cộng tiếp thằng A mặc dù thằng A ko kill ai hết mà là thằng B

đây là code hoàn chỉnh đếm số kill \m/
PHP:
#include <amxmodx>
#include <cstrike>

#define PLUGIN "Dias"
#define VERSION "1.0"
#define AUTHOR "author"

new g_t, g_ct

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HTLV", "event_newround", "a", "1=0", "2=0")
	register_event("DeathMsg", "event_death", "a")
}

public client_putinserver(id)
{
	set_task(0.1, "show_hud", id, _, _, "b")
}

public event_newround()
{
	g_t = g_ct = 0
}

public show_hud(id)
{
	if(is_user_connected(id))
	{
		set_hudmessage(255, 255, 255, -1.0, 0.0, 0, 2.0, 2.0)
		show_hudmessage(id, "[T] ---- [CT]^n%i ---- %i", g_t, g_ct)
	} else {
		remove_task(id)
	}
}

public event_death()
{
	new attacker = read_data(1)
	
	if(cs_get_user_team(attacker) == CS_TEAM_T)
	{
		g_t++
	} else if(cs_get_user_team(attacker) == CS_TEAM_CT) {
		g_ct++
	}
}
 
Chỉnh sửa cuối:
@buiduchuy:
- Dễ lắm, vì cái này là nó cộng 1 lần rồi, khi tiếp nó sẽ cộng lần nữa nên suy ra nó bị gấp đôi hiểu ko ?
VD: thằng A nó kill 5, B nó ko kill. Thì nó sẽ cộng 5 vào. Sau khi thằng B kill dc 3 nữa thì nó sẽ cộng 3 vào. Nhưng lúc này không có điều kiện gì cả nó lại cộng tiếp thằng A mặc dù thằng A ko kill ai hết mà là thằng B

đây là code hoàn chỉnh đếm số kill \m/
PHP:
#include <amxmodx>
#include <cstrike>

#define PLUGIN "Dias"
#define VERSION "1.0"
#define AUTHOR "author"

new g_t, g_ct

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HTLV", "event_newround", "a", "1=0", "2=0")
	register_event("DeathMsg", "event_death", "a")
}

public client_putinserver(id)
{
	set_task(0.1, "show_hud", id, _, _, "b")
}

public event_newround()
{
	g_t = g_ct = 0
}

public show_hud(id)
{
	if(is_user_connected(id))
	{
		set_hudmessage(255, 255, 255, -1.0, 0.0, 0, 2.0, 2.0)
		show_hudmessage(id, "[T] ---- [CT]^n%i ---- %i", g_t, g_ct)
	} else {
		remove_task(id)
	}
}

public event_death()
{
	new attacker = read_data(1)
	
	if(cs_get_user_team(attacker) == CS_TEAM_T)
	{
		g_t++
	} else if(cs_get_user_team(attacker) == CS_TEAM_CT) {
		g_ct++
	}
}

Thế là thế nào nhỉ...Anh giải thích dùm em cái:
PHP:
public event_newround()
{
	g_t = g_ct = 0  ; cứ ván mới là mất hết kill à?
}

public event_death()
{
	new attacker = read_data(1)  ; data 1 là gì anh?
	
	if(cs_get_user_team(attacker) == CS_TEAM_T)
	{
		g_t++
	} else if(cs_get_user_team(attacker) == CS_TEAM_CT) {
		g_ct++
	}
}

Cả cái set_task(0.1, "show_hud", id, _, _, "b") em cũng chưa hiểu lắm... anh giải thích dùm :D (ko bít cứ dùng...vẫn ngon..nhưng nhanh quên lắm :D
 
Chỉnh sửa cuối:
set_task(Float:time, const task, id, param, sizeof param, flag)
- Set task dùng để hẹn giờ làm 1 việc gì đó
 
@Dias: Ý em là cái
set_task(0.1, "show_hud", id, _, _, "b") thì show_hud là func, 0.1 là time, id là id của task, còn cái , _,_,"b" là cái gì?

Em mới làm được cái code này (plugins đấu dao)
PHP:
public event_CurWeapon(id)
{
	if (is_user_alive(id))
	{
		new wpn, clip, ammo
		wpn = get_user_weapon(id,clip,ammo)
		if (wpn != CSW_KNIFE) 
		{
			strip_user_weapons(id)
			give_item(id,"weapon_knife")
		}
	}
}

Bây giờ em muốn làm plugins đấu sniper hay đấu lục thì làm thế nào ạ.... Ko thể dùng như trong được vì biết player muốn dùng gì đâu mà give_item ..:((
 
Tên Dias phụ trách thớt này kể từ bây h nhé:-hthấy mọi người hỏi mi nhiều hơn nên ta nghỉ hỏi đáp luôn:-h
 
Tên Dias phụ trách thớt này kể từ bây h nhé:-hthấy mọi người hỏi mi nhiều hơn nên ta nghỉ hỏi đáp luôn:-h
[TABLE="align:lèt"][TBODY][TR][TD="bgcolor:#000000"]Dỗi à =)) [/TD][/TR][/TBODY][/TABLE]
 
[TABLE="align:lèt"][TBODY][TR][TD="bgcolor:#000000"]Dỗi à =)) [/TD][/TR][/TBODY][/TABLE]
[TBODY] [TD="class:img"] Sự thật chứ dỗi cái gì:-? [/TD] [/TBODY]
 
Chỉnh sửa cuối:
[TBODY] [TD="class:img"] Sự thật chứ dỗi cái gì:-? [/TD] [/TBODY]

Cơ bản tại tui thấy bạn ít khi vô topic , còn bác dias thì hầu như ngày nào cũng lên nên tui hỏi bác ấy...
 
@pham.bien + ALL:
- Nguyên tắc hoạt động: Rảnh rỗi thì lên forum, trên forum thấy ai cần giúp đỡ thì sẽ giúp

@buiducduy:
1.
PHP:
public event_newround()
{
    g_t = g_ct = 0 // Qua ván mới reset kill nếu ko muốn reset kill thì bỏ dòng này đi
}

public event_death()
{
    new attacker = read_data(1) // Data 1: id của attacker, 2: id của victim, 3: trả về 1 nếu victim bị headshot
    
    if(cs_get_user_team(attacker) == CS_TEAM_T) // Coi xem thằng attacker thuộc team nào ?
    {
        g_t++ // nếu team Terrorist thì +1 kill cho team đó ?
    } else if(cs_get_user_team(attacker) == CS_TEAM_CT) {
        g_ct++ // Như trên nhưng với team Counter-Terrorists
    }
}

2. "b", "a", "c", .... gọi là flag, trong đây flag b là lặp lại liên tiếp để cái hud nó luôn luôn hiện, nếu không sau 2 ~ 3 giây nó sẽ biến mất
 
Chỉnh sửa cuối:
Back
Top