[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. entity_set_vector(ent, EV_VEC_origin, Float:Origin[3])
2. HLMV là set góc nhìn, cái này thì là entity_set_vector(ent, EV_VEC_angles, Float:Angles[3])
 
Sao lại set origin cho model player nhỉ @@ ?
 
PHP:
#include <amxmodx>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1) // Sự kiện đc gọi khi 1 player hồi sinh
}

public fw_PlayerSpawn_Post(id)
{
	give_weapon_bag(id) // Nó ở dưới kia kìa:|
}

public give_weapon_bag(id) 
{
	new wpn1_1[1024], wpn1_2[1024], txtlen
	read_file("addons\amxmodx\configs\BDD_bag.cfg", 1, linedata, charsmax(linedata), txtlen)
	read_file("addons\amxmodx\configs\BDD_bag.cfg", 2, linedata, charsmax(linedata), txtlen)
	client_cmd(id, wpn1_1)
	client_cmd(id, wpn1_2)
}
. .
 
@lambien12345: ơ sao lại là public ạ?
Theo em được biết thì:
PHP:
public xxxx
{
     inra(id,3,"hello..")
}

inra(id,type,noidung) //đâu cần public đâu ạ
{
       if (type == 3) client_print(id,print_console,noidung)
       if (type == 2) client_print(id,print_center,noidung)
       if (type == 1) client_print(id,print_chat,noidung)
}

À, các bác có thể cho em xin hướng dẫn cách dùng: register_logevent , register_clcmd,register_comcmd....(khi nào thì dùng cái này với cả cách dùng ấy)
Ví dụ
PHP:
 register_event("Sự kiện","public","trạng thái",v.v...) 
//trong đó trạng thái 
+ a là toàn bộ 
+ b là...
+c là...
Các bác giúp em với :((
 
Chỉnh sửa cuối:
@lambien12345: ơ sao lại là public ạ?
Theo em được biết thì:
PHP:
public xxxx
{
     inra(id,3,"hello..")
}

inra(id,type,noidung) //đâu cần public đâu ạ
{
       if (type == 3) client_print(id,print_console,noidung)
       if (type == 2) client_print(id,print_center,noidung)
       if (type == 1) client_print(id,print_chat,noidung)
}

À, các bác có thể cho em xin hướng dẫn cách dùng: register_logevent , register_clcmd,register_comcmd....(khi nào thì dùng cái này với cả cách dùng ấy)
Ví dụ
PHP:
 register_event("Sự kiện","public","trạng thái",v.v...) 
//trong đó trạng thái 
+ a là toàn bộ 
+ b là...
+c là...
Các bác giúp em với :((
Thích public hay ko là việc của tôi:-"nó vẫn là func:-"
Còn mấy cái event flags thì lục lại đi, tôi nói từ lâu rồi mà:|
 
=.='... tên KFC lộng quyền nhể. BDH hơn mi gần 4 tuổi đấy =.='..........

@BDH: gắng học eng và mày mò đi. mấy cái vụ đó nhớ là manual có nói hết mà =.='
 
=.='... tên KFC lộng quyền nhể. BDH hơn mi gần 4 tuổi đấy =.='..........

@BDH: gắng học eng và mày mò đi. mấy cái vụ đó nhớ là manual có nói hết mà =.='
Cũng lạ là vì sao tên Duy hơn KFC 4 tuổi mà lại kém anh hơn KFC :|
 
=.='... tên KFC lộng quyền nhể. BDH hơn mi gần 4 tuổi đấy =.='..........

@BDH: gắng học eng và mày mò đi. mấy cái vụ đó nhớ là manual có nói hết mà =.='
Ta lộng quyền CÁI GÌ:|
Cũng lạ là vì sao tên Duy hơn KFC 4 tuổi mà lại kém anh hơn KFC :|
Vì ta thông minh mà:-"
 
Học sinh giỏi lớp 9 thì phải ngang ngửa Học sinh trung bình lớp 10 chứ :|
 
Cũng lạ là vì sao tên Duy hơn KFC 4 tuổi mà lại kém anh hơn KFC :|

Ta lộng quyền CÁI GÌ:|

Vì ta thông minh mà:-"

Học sinh giỏi lớp 9 thì phải ngang ngửa Học sinh trung bình lớp 10 chứ :|
Ai cũng có những cái riêng, cái hay của mình.
Về mặt IT thì có rất nhiều lĩnh vực riêng, 1 học sinh lớp 6 nếu chăm chỉ nghiên cứu cũng có thể hơn 1 học sinh lớp 10 và ngược lại 1 học sinh lớp 10 của có thể ăn 1 học sinh lớp 6 ở một lĩnh vực nào đó. Trong thế giới mạng này, điều gì cũng có thể xảy ra, việc hơn kém nhau ở lĩnh vực này, thắng nhau ở lĩnh vực khác là chuyện bình thường, nhưng ở dù bạn ở đâu trên trái đất này thì cũng phải nhớ
"Bạn chỉ là hạt cát ở giữa sa mạc rộng lớn, chỉ đáng là một giọt nước biển giữa đại dương mênh mông, bởi vậy chớ vội nhìn xuống, hãy nhìn bên trên của bạn - một bầu trời bát ngát"
 
Vậy mi ko có hứng thú chứ gì:-"
Hứng thú làm j`, ta chỉ thích viết code thôi chứ ngại đọc lắm. Decom ra mà k đọc thì còn nói làm cái j` nữa
@NgọcVinh: Ở đây đang nói về trình độ Tiếng Anh, vì tên duy sinh 95, cơ bản là cũng đã lên lớp 11, làm j` có chuyện lại kém 1 đứa lớp 9 đc (trừ khi KFC thi amsterdam hoặc là trong đội tuyển TA) =))
 
Hứng thú làm j`, ta chỉ thích viết code thôi chứ ngại đọc lắm. Decom ra mà k đọc thì còn nói làm cái j` nữa
@NgọcVinh: Ở đây đang nói về trình độ Tiếng Anh, vì tên duy sinh 95, cơ bản là cũng đã lên lớp 11, làm j` có chuyện lại kém 1 đứa lớp 9 đc (trừ khi KFC thi amsterdam hoặc là trong đội tuyển TA) =))
Ta chuyên toán mà[-x
 
Vậy thì thử decompile câu lệnh đơn giản nhất: register_plugin;))
À mà lưu ý 1 điều là param nó đi từ dưới lên nhé;))
Giả sử ta có đoạn code sau (sẽ giải thích từng dòng):

Mã:
 0xA8        PUSH.C                 0x8C   ; AUTHORS // param 3
 0xB0        PUSH.C                 0x74   ; VERSION //param 2
 0xB8        PUSH.C                 0x38   ; PLUGINNAME // param 1
 0xC0        PUSH.C                  0xC // nạp param vào STACK, 0xC là tổng số byte nạp vào STACK
 0xC8        SYSREQ.C      register_plugin // nạp tên lệnh vào STACK
 0xD0        STACK                  0x10 // thực hiện lệnh với param đã đc nạp vô STACK
 0xD8        BREAK     // kết thúc lệnh
Dịch ra sẽ được:
PHP:
register_plugin(PLUGINNAME, VERSION, AUTHORS)
Lưu ý là khi decompile mà gặp mấy cái str_xxx thì coi ở data section nhé (khung trên bên phải ấy;)))
 
Đơn giản là từ trước đến nay tui chưa hề động đến Eng quá 1h / tháng :D
Tại ông thầy Eng ở lớp toàn cho chơi thôi, học hay ko thì tùy :D

---------- Post added at 17:18 ---------- Previous post was at 17:17 ----------

Vậy thì thử decompile câu lệnh đơn giản nhất: register_plugin;))
À mà lưu ý 1 điều là param nó đi từ dưới lên nhé;))
Giả sử ta có đoạn code sau (sẽ giải thích từng dòng):

Mã:
 0xA8        PUSH.C                 0x8C   ; AUTHORS // param 3
 0xB0        PUSH.C                 0x74   ; VERSION //param 2
 0xB8        PUSH.C                 0x38   ; PLUGINNAME // param 1
 0xC0        PUSH.C                  0xC // nạp param vào STACK, 0xC là tổng số byte nạp vào STACK
 0xC8        SYSREQ.C      register_plugin // nạp tên lệnh vào STACK
 0xD0        STACK                  0x10 // thực hiện lệnh với param đã đc nạp vô STACK
 0xD8        BREAK     // kết thúc lệnh
Dịch ra sẽ được:
PHP:
register_plugin(PLUGINNAME, VERSION, AUTHORS)
Lưu ý là khi decompile mà gặp mấy cái str_xxx thì coi ở data section nhé (khung trên bên phải ấy;)))

Decomple thế này ko toét mắt mới lại =))
Tốt nhất là đi xin SMA cho nhanh

---------- Post added at 17:28 ---------- Previous post was at 17:18 ----------

Hì, nhớ hồi cấp 2 toán lúc nào cũng trên 9,5 Anh lúc nào cũng trên 8,0 mà giờ đây.. :( Anh gần như ko bít cái gì... :(( Quên hết sạch từ mới, chắc nhớ được mấy từ hay dùng như hello,hi,good ... =)) ko bằng đứa lớp 8 là chắc..
 
@lambien12345:
- Hãy đào tạo những con người mới trở thành 1 coder amx thật pro, hãy đào tạo họ trở thành Decompiler pro,... và cứ thế :)) :))
- Cho hỏi: Đoạn này
Mã:
 0xA8        PUSH.C                 0x8C   ; AUTHORS // param 3
 0xB0        PUSH.C                 0x74   ; VERSION //param 2
 0xB8        PUSH.C                 0x38   ; PLUGINNAME // param 1
> sao mi biết nó là param vậy, ta đọc trong tut thấy nó chia gì ấy, chỉ ta khúc đó

@For Who Want to Decompile amxx:
- All you must learn how to code first.
 
Chỉnh sửa cuối:
@lambien12345:
nghe chừng có vẻ đau đầu đấy
Em thạo rồi thì dịch cho anh những fun mới trong MTH cái :)
 
Back
Top