[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
@dias: Dead + Frag thì có thể tìm cách xác định được nó nhưng Ping nó là cái số liên quan đường truyền rồi..

Bằng chứng ví dụ của Frag + dead có thể can thiệp được đó là plugin thay đổi Frag thành số HP ( hoặc armor ) và Dead có thể thay thành số Kill cũng được.
 
Vậy thế bây giờ get số death thế nào :-?.
 
Có bạn nào có plugin tắt đèn zombie trong zombie-mod3 không?
Mình sử dụng plugin của china nhưng không tắt được đèn zombie bằng Cvar!
Cám ơn!
 
@Dias: Xem thêm ở đây rồi có thể làm tương tự:
tim.gif

http://forums.alliedmods.net/showthread.php?p=1047760
 
^
=)), đâu, e edit trc khi thấy post anh mà
@All: Mình có đặt đc tọa độ spr thay đổi theo plugin đc k, nếu cứ đặt theo hud.txt thì mất công nhỉ.
Còn nữa: Ai giải thích hộ ý nghĩa của mấy con số này với (thường thì tọa độ chỉ có 2 số thôi, sao lắm thế nhỉ )

Phải đặt trong hud.txt chứ..
Giải thích cho nè:

320 320hud4 224 0 32 32

==> Sai bét (à cũng ko biết)

Ví dụ:
Trong plugins: write_string("ldk")
Trong hud.txt như sau:

ldk 320 mod\pro 34 24 12 14

Thì
ldk: là tên spr sẽ load
320: mặc định (ko bit)
mod\pro : đường dẫn tới file spr
34 : tạo độ x
24 : tọa độ y
12 : chiều rộng
14 : chiều cao

==> Cái này dùng để load nhiều spr trong 1 file.spr duy nhất.. ^^ Ví dụ như cái hud kill ấy.. 1 file.spr làm tẹt..

Nhưng thêm bằng plugins theo cách trên thì mỗi SPR thì phải có 1 file.spr riêng ...^^
 
Éc, mấy người hiểu nhầm ý r`, e đang làm cái ScoreBoard bên trên giống của CSO ý.Việc cần làm là tổng hợp số kill của 1 team lại(cái này chắc cũng dễ thôi)
@Duy: mỗi spr phải cho vào file riêng à, thế thì chết quá. Mà cái hud.txt nó xác định tọa độ ở file .spr thì trong game xác định như nào ?
 
Chỉnh sửa cuối:
đây là vd lấy số kill của team ts vào 1 thời điểm
PHP:
stock get_ts_team_kills()
{
	new i, iKill;

	for(i = 0; i < Max_player; i++)
	{
		if(is_user_connected(i) && cs_get_user_team(i) == CS_TEAM_T)
		{
			iKill += get_user_frags(i);
		}
	}

	return iKill;
}
 
@Ryokin + kungfulon:
- mình sài set_task(0.1, "func", id , _, _, "b")
để get liên tục thì có bị lag lag ko ? :-?. Trước tui sài set_task(0.1 set model liên tục = cs_set_user_model, nó output như phim thế là crash luôn. Cho hỏi 1 câu là mình set_task(0.1 để write message liên tục thì có bị lag ko :-?
 
Chỉnh sửa cuối:
Xin hỏi stock với static là cái gì vậy các đại ka??
 
Xin hỏi stock với static là cái gì vậy các đại ka??
static = new có điều static chỉ dùng trong public khai báo nó, ra ngoài là mất luôn
còn stock hình như = public, cũng chưa hiểu rõ cái này lắm .

---------- Post added at 08:11 ---------- Previous post was at 07:56 ----------

đây là vd lấy số kill của team ts vào 1 thời điểm
PHP:
stock get_ts_team_kills()
{
	new i, iKill;

	for(i = 0; i < Max_player; i++)
	{
		if(is_user_connected(i) && cs_get_user_team(i) == CS_TEAM_T)
		{
			iKill += get_user_frags(i);
		}
	}

	return iKill;
}
Cái này mình cũng nghĩ ra r`, nhưng mà làm thế nào để mỗi lần 1 người kill là nó tự động + thêm vào kill của cả đội nhể
 
static = new có điều static chỉ dùng trong public khai báo nó, ra ngoài là mất luôn
còn stock hình như = public, cũng chưa hiểu rõ cái này lắm .

---------- Post added at 08:11 ---------- Previous post was at 07:56 ----------


Cái này mình cũng nghĩ ra r`, nhưng mà làm thế nào để mỗi lần 1 người kill là nó tự động + thêm vào kill của cả đội nhể
Ta giải thích stock từ hồi lâu rồi còn gì:|
PHP:
#include <amxmodx>
#include <fakemeta>

const OFFSET_CSTEAMS = 114

enum
{
	CSTEAM_UNASSIGNED = 0,
	CSTEAM_TE,
	CSTEAM_CT,
	CSTEAM_SPECTATOR
}

new iTRKill, iCTKill

public plugin_init()
{
register_plugin("...", "0.1", "...")
register_event("DeathMsg", "event_DeathMsg", "a")
}

public event_DeathMsg()
{
static id
static victim
static teamk
static teamv

id = read_data(1)
victim = read_data(2)
teamk = get_pdata_int(id, OFFSET_CSTEAMS)
teamv = get_pdata_int(victim, OFFSET_CSTEAMS)

if (id == victim || !teamk || !teamv || !is_user_connected(victim) || !is_user_connected(id)) return;

if (teamk == CSTEAM_TE) iTRKill++
else if (teamk == CSTEAM_CT) iCTKill++
}
 
Chỉnh sửa cuối:
Ta giải thích stock từ hồi lâu rồi còn gì:|
PHP:
#include <amxmodx>
#include <fakemeta>

const OFFSET_CSTEAMS = 114

enum
{
	CSTEAM_UNASSIGNED = 0,
	CSTEAM_TE,
	CSTEAM_CT,
	CSTEAM_SPECTATOR
}

new iTRKill, iCTKill

public plugin_init()
{
register_plugin("...", "0.1", "...")
register_event("DeathMsg", "event_DeathMsg", "a")
}

public event_DeathMsg()
{
static id
static victim
static teamk
static teamv

id = read_data(1)
victim = read_data(2)
teamk = get_pdata_int(id, OFFSET_CSTEAMS)
teamv = get_pdata_int(victim, OFFSET_CSTEAMS)

if (id == victim || !teamk || !teamv || !is_user_connected(victim) || !is_user_connected(id)) return;

if (team == CSTEAM_TE) iTRKill++
else if (team == CSTEAM_CT) iCTKill++
}
Thông minh đấy, dùng DeathMSG à. Để ta thử xem đã
 
Ai cho mình 1 ví dụ dễ hiểu về:
set_task
remove_task
change_task
...
với.. :((

Với cả is_user_connected nghĩa là gì thế?


---------- Post added at 16:44 ---------- Previous post was at 16:41 ----------

PHP:
#include <amxmodx>
#include <fakemeta>

const OFFSET_CSTEAMS = 114

enum
{
    CSTEAM_UNASSIGNED = 0,
    CSTEAM_TE,
    CSTEAM_CT,
    CSTEAM_SPECTATOR
}

new iTRKill, iCTKill

public plugin_init()
{
register_plugin("...", "0.1", "...")
register_event("DeathMsg", "event_DeathMsg", "a")
}

public event_DeathMsg()
{
static id
static victim
static teamk
static teamv

id = read_data(1)
victim = read_data(2)
teamk = get_pdata_int(id, OFFSET_CSTEAMS)
teamv = get_pdata_int(victim, OFFSET_CSTEAMS)

if (id == victim || !teamk || !teamv || !is_user_connected(victim) || !is_user_connected(id)) return;

if (team == CSTEAM_TE) iTRKill++
else if (team == CSTEAM_CT) iCTKill++
}

Ai giải thích dùm mình từng dòng được ko? Toàn hàm chưa học .. :((
 
Ai cho mình 1 ví dụ dễ hiểu về:
set_task
remove_task
change_task
...
với.. :((

Với cả is_user_connected nghĩa là gì thế?
Mong là từ nay về sau bạn hãy đọc kỹ INC:|
PHP:
set_task(1.0, "task_test", 1234) // sau 1.0 giây, plugin thực hiện func task_test (task_test bắt buộc phải là public) với id = 1234
change_task(1234, 0.5) // chỉnh thời gian của task có id = 1234 về 0.5 giây
remove_task(1234) // gỡ bỏ task có id = 1234

is_user_connected(id) // kiểm tra xem id đã kết nối đến server chưa
P/s: chưa học thì hãy cố gắng đọc INC để hiểu:|
 
Chỉnh sửa cuối:
@Làm Biếng:
- Tôi hỏi ở trang 139, post cuối sao ko trả lời :))
 
^
^
ngồi nhai hết cái đống đó chắc cũng mất tầm 1 năm mới lão luyện...mình cứ tập trung chuyên môn của mình:))
 
Back
Top