[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
PHP:
#include <amxmodx>
#include <fun>
public plugin_init()
{
register_plugin("Set Health", "1.0", "blabla")
register_clcmd("full_health","cmd_set_health")
} 
public cmd_set_health(id) 
{
client_print(id, print_chat, "Ban da set mau thanh 500")    
set_user_health(id, 500)    
}

Chú ý khi compile có đc file <gì đó>.amxx thì phải điền vào file plugins .ini chỗ <gì đó> chứ ko phải chỗ tên plugin :D:D.

Không, phải kèm thêm .amxx ở sau mới được chứ. Test với plugin khác thì ok, chắc cái plugin của mình bị gì rồi
 
Không, phải kèm thêm .amxx ở sau mới được chứ. Test với plugin khác thì ok, chắc cái plugin của mình bị gì rồi

trời ạ, ý mình là phải ghi đúng tên file chứ k phải tên của plugin -.-
Thế bạn test cái kia chưa -.-
 
trời ạ, ý mình là phải ghi đúng tên file chứ k phải tên của plugin -.-
Thế bạn test cái kia chưa -.-
Compile ra file set_health.amxx
Sau đó vào plugins.ini ghi set_health.amxx :)
--> Kết quả vẫn như không
Bạn chụp cho mình cái hình bạn set máu thành công được không :D
 
uYMEuwZ.png
 
engine HL mặc định máu max là 255, muốn hơn thì phải làm vài thủ tục khác. ví dụ:
cộng trừ thêm bớt vô số máu hiện tại: nếu máu x < z, lấy trong kho ra số y máu cộng cho số x và trừ đi số y lượng máu trong kho
hoặc sửa lại engine HL...
 
engine HL mặc định máu max là 255, muốn hơn thì phải làm vài thủ tục khác. ví dụ:
cộng trừ thêm bớt vô số máu hiện tại: nếu máu x < z, lấy trong kho ra số y máu cộng cho số x và trừ đi số y lượng máu trong kho
hoặc sửa lại engine HL...

Ko phải đâu bác; Nó cho phép set bao nhiêu cũng được nhưng chỉ hiển thị được 255; bác cứ set lên 5000 rồi cho bọn bot bắn xem :)

- - - Updated - - -

Có đoạn code AMX này: register_concmd(”full_health”,”cmd_set_health”)
Cho hỏi cái dấu nháy trong đó câu lệnh gõ thế nào, trong khi cái dấu nháy trên bàn phím thì không phải

Thêm 1 câu nữa, các loại lệnh dạng như: cmd_set_health và set_user_health thì tìm ở đâu (trong folder nào)
Nói cách khác là các lệnh dùng để thêm tính năng cho game (ví dụ trên đây là cmd_set_health là đường dẫn tới func public và set_user_public dùng để set máu cho player)

Mới viết 1 cái plugin set health cho player nó thế này
PHP:
#include <amxmodx>
#include <fun>
public plugin_init()
{
register_concmd("full_health","cmd_set_health")
} 
public cmd_set_health(id) 
{
client_print(id, print_chat, "Ban da set mau thanh 500")    
set_user_health(id, 500)    
}
Sau khi compile ra .amxx rồi đem bỏ vào folder plugins, thêm tên set health.amxx vào plugins.ini (CS Cataclysm)
Vào game mở console gõ full_health thì chả ra cái gì @@
PS: Mọi người có thể copy đoạn code trên rồi compile ra .amxx, xong cho vào game để test giúp. Thank trước :D
PS2: Cái này mà thành công thì viết thêm vài plugin vặt nữa cho vui ;))

1. Tìm function trong thư viện của nó
Ví dụ em khai báo thư viện fun để dùng function "set_user_health" (include/fun.inc)

2. cmd_set_health là do mình tự đặt do register_concmd("full_health","cmd_set_health")
 
Ko phải đâu bác; Nó cho phép set bao nhiêu cũng được nhưng chỉ hiển thị được 255; bác cứ set lên 5000 rồi cho bọn bot bắn xem :)
Thế thì không biết thật, vì cũng chưa thử bao giờ
btw, nếu mình nhớ không lầm thì register_concmd có tác dụng tác động lên mục tiêu chỉ định, vì thế bạn cần target mục tiêu bằng userid. Ví dụ: full_health #123
nếu vậy mình thử edit lại cho bạn kia 1 chút xem sao, chưa test
#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "Bom mau"
#define VERSION "1.0"
#define AUTHOR "abcxyz"


public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("full_health", "cmd_set_health", ADMIN_ADMIN, "Admin bom may cho player")
}

public cmd_set_health(id,level,cid)
{
if (!cmd_access(id,level,cid, 3))
return PLUGIN_HANDLED

new arg[32]
read_argv(1,arg,31)
new target=cmd_target(id,arg,4)
if(!target)
{
client_print(id,print_console,"Khong tim thay muc tieu hoac muc tieu khong con song")
return PLUGIN_HANDLED
}

set_user_health(target,500)
return PLUGIN_HANDLED
}
 
Tất cả sai hết. :))

register_clcmd - Nghĩa là Register Client Command (lệnh có thể sài cho Client)
registr_concmd - Nghĩa là Register Console Command (lệnh có thể sài cho Admin/Server Console)
 
Thế thì không biết thật, vì cũng chưa thử bao giờ
btw, nếu mình nhớ không lầm thì register_concmd có tác dụng tác động lên mục tiêu chỉ định, vì thế bạn cần target mục tiêu bằng userid. Ví dụ: full_health #123
nếu vậy mình thử edit lại cho bạn kia 1 chút xem sao, chưa test
Thank bác nhiều nhé, test thành công :)
Bác có thể giải thích ý nghĩa của đoạn code sau được không:
public cmd_set_health(id,level,cid)
{
if (!cmd_access(id,level,cid, 3))
return PLUGIN_HANDLED

new arg[32]
read_argv(1,arg,31)
new target=cmd_target(id,arg,4)
if(!target)
{
client_print(id,print_console,"Khong tim thay muc tieu hoac muc tieu khong con song")
return PLUGIN_HANDLED
}

set_user_health(target,500)
return PLUGIN_HANDLED
}
và lệnh ADMIN_ADMIN nữa :)
 
here:
public cmd_set_health(id,level,cid)
{
if (!cmd_access(id,level,cid, 3))
return PLUGIN_HANDLED
//Kiểm tra quyền Admin, nếu không phải là Admin thì kết thúc

new arg[32]
read_argv(1,arg,31)
new target=cmd_target(id,arg,4)
if(!target)
{
client_print(id,print_console,"Khong tim thay muc tieu hoac muc tieu khong con song")
return PLUGIN_HANDLED
}
//Kiểm tra player có tồn tại và còn sống không, nếu không thì kết thúc

set_user_health(target,500)
return PLUGIN_HANDLED
}
// set máu cho mục tiêu xong kết thúc

ADMIN_ADMIN là bất cứ quyền Admin gì ngoại trừ quyền USER (hoặc z)

- - - Updated - - -

Tất cả sai hết. :))

register_clcmd - Nghĩa là Register Client Command (lệnh có thể sài cho Client)
registr_concmd - Nghĩa là Register Console Command (lệnh có thể sài cho Admin/Server Console)


register_concmd("full_health","cmd_set_health") hoặc register_concmd("full_health","cmd_set_health,0") thì không cần quyền Admin gì cả, quan trọng là phải chỉ ra mục tiêu cần làm
 
Cần giúp đỡ.
Mình chơi half life rất gà. Lên mạng chơi online thì bắn ko lại ai lên rủ một số bạn bắn gà như mình cùng chơi và tập.
Trong LAN thì chơi được rồi nhưng cho mình hỏi là làm sao máy chủ trong LAN chỉnh thế nào để có thể khi chơi xong 1 round thì nó hiện lên mình đã tấn công ai, trúng bao nhiêu đạn và máu bao nhiêu và ngược lại như trong mấy sever online ấy để mình biết mình bắn có đựoc ko.
Mình đã lên mạng search thì nghe nói cái amx mod x . Mình đã làm theo nhưng khi mình gõ amx_help thì sao nó chỉ có 9 entries (những sever online có đến mấy chục cái lận). Và theo mình thấy thì khi chơi sever online thì cái tính năng mình nói là entries : say /switch (nhưng máy server trong LAN của mình thì ko có lệnh đó)
Mình đã bật amx_statscfg on nhưng vẫn ko được. Mình ko biết là cần những plugins nào
Mong các bạn chỉ giúp là làm sao để server trong LAN của mình có thể hiện thống kê của cá nhân trong từng round
Cảm ơn nhiều
 
here:


ADMIN_ADMIN là bất cứ quyền Admin gì ngoại trừ quyền USER (hoặc z)

- - - Updated - - -




register_concmd("full_health","cmd_set_health") hoặc register_concmd("full_health","cmd_set_health,0") thì không cần quyền Admin gì cả, quan trọng là phải chỉ ra mục tiêu cần làm
Có thể dùng cấu trúc code kiểu như bác để viết vài plugin khác không (edit armor, origin, blah blah)
 
Bác nào có cái plugin Jailbreak bên server Sorpack.com ko @[email protected]à cho em hỏi, làm thế nào để:
A attack B, B nhận effect như lắc, rung màn hình, đi chậm lại nhưng ko nhận dam. và A attack B, B ko nhận effect, ko bị slow nhưng nhận dam.
 
1. Có nhưng ko share dc, vì là hàng để server kiếm khách
[SPOIL]
[video=youtube;BBZ8ZSixUJg]https://www.youtube.com/watch?v=BBZ8ZSixUJg[/video]
[/SPOIL]
2. Tóm lại là làm JailBreak giống Sorpack chứ gì -.-... mấy vụ này thì tìm hiểu về Ham_TakeDamage và pev_punchangles
 
1. Có nhưng ko share dc, vì là hàng để server kiếm khách
[SPOIL]
[video=youtube;BBZ8ZSixUJg]https://www.youtube.com/watch?v=BBZ8ZSixUJg[/video]
[/SPOIL]
2. Tóm lại là làm JailBreak giống Sorpack chứ gì -.-... mấy vụ này thì tìm hiểu về Ham_TakeDamage và pev_punchangles

Bác code cho server à -.-.
Hướng dẫn cái pev_punchangles đi bác.
 
pev_punchangle cũng giống như Angles nó điều chỉnh độ giật của súng (nói khác là điều khiển màn hình + nòng giật giật).
 
Có nên viết hướng dẫn tạo signature cho Orpheu và cách sử dụng ko nhỉ:-?
 
Bác cứ thử đi rồi hỏi -.-
Để thử xem
Quái lạ cái plugin set health mình viết mà không dùng được, người khác dùng được :|
PS: Có ai tình nguyện viết thêm tutorial không :7cool_feel_good:
 
Mà bác share cái khung đc ko, cái time ý :-?.
 
Back
Top