[AMX][Plugins]Hướng dẫn làm plugin thêm súng mới

Status
Không mở trả lời sau này.

sontung0

Dragon Quest
27 11 2009 UPDATE
Hướng dẫn làm plugin thêm súng mới

Hôm nay mình sẽ hướng dẫn các bạn làm 1 plugin thêm súng mới từ source của plugin NST_Wpn_CV47Zp_Extra_NST_CV47
với cách làm sau đây thì các bạn có thể thêm bất kì khẩu gì các bạn thích chỉ trong vòng 5 giây ^^ mà không cần biết gì về amx coder
(với diều kiện là models của súng mới thêm vào phải phù hợp với súng định thay trong CS)

Bài viết này chỉ áp dụng để thêm các súng to (súng ak)súng lục
còn về BomDao thì sẽ có hướng dẫn sau ^^

Chú ý
Nếu bạn thêm súng cho chế độ thường thì lấy file NST_Wpn_CV47 làm mẫu
Còn nếu làm cho chế độ zombie plague thì lấy file Zp_Extra_NST_CV47 làm mẫu

Trong hướng dẫn này mình sẽ hướng dẫn các bạn thêm khẩu Anaconda - Black (trong CSO) cho chế độ thường
Súng dùng để thay thế trong CS là DEAGLE (vì models khẩu anaconda này phù hợp khi thay thế cho DEAGLE)
Vì mình làm cho chế độ thường nên file mẫu sẽ là NST_Wpn_CV47
còn bây giờ là công việc

Nguyên liệu
0. Cài đặt AMXX Studio (nếu chưa có thì nên google tìm ^^
1. Models+ Sound của anacoda: http://www.mediafire.com/download.php?nckzjnjmeym
2. File mẫu:http://www.mediafire.com/download.php?2zt1mg2ziia
3. Download 2 link trên -- giải nén -- copy vào folder tương ứng
4. Bảng Tên súng trong CS (cái này để láy tên súng dùng trong bước "+ Ghi tên súng thay thế:"
CSW_P228
CSW_SCOUT
CSW_HEGRENADE
CSW_XM1014
CSW_C4
CSW_MAC10
CSW_AUG
CSW_SMOKEGRENADE
CSW_ELITE
CSW_FIVESEVEN
CSW_UMP45
CSW_SG550
CSW_GALI
CSW_GALIL
CSW_FAMAS
CSW_USP
CSW_GLOCK18
CSW_AWP
CSW_MP5NAVY
CSW_M249
CSW_M3
CSW_M4A1
CSW_TMP
CSW_G3SG1
CSW_FLASHBANG
CSW_DEAGLE
CSW_SG552
CSW_AK47
CSW_KNIFE
CSW_P90
CSW_VEST
CSW_VESTHELM
73981259217183.JPG



Cách làm
1. Tạo 1 Plugin mới:
Vào addons\amxmodx\scripting Rename file NST_Wpn_CV47 thành NST_Wpn_Anaconda (bạn có thể đổi thành tên gì bạn muốn)
96901259217184.JPG


2. Replace các thông số
Mở file NST_Wpn_Anaconda mà bạn vừa rename bằng AMXX Studio rồi tìm đến đoạn
27771259334178.JPG


+ Replace tên súng
Trong VD này thì
Tên súng cũ là: CV-47
Tên súng mới là: Anaconda - Black
Tìm
PHP:
new name_weapon[64] = "CV-47"
Thay thành
PHP:
new name_weapon[64] = "Anaconda - Black"


+ Replace tên models
Vì bạn dùng file models: v_anaconda.mdl
Nên tên models mới là: anaconda
Tìm
PHP:
new models_weapon[64] = "cv47"
Và thay tên models mới vào
PHP:
new models_weapon[64] = "anaconda"

+ Ghi tên súng thay thế:
Vì models của khẩu anaconda này thích hợp khi thay cho khẩu Deagle nên ta sẽ thay nó cho khẩu Deagle
Các bạn lên trên xem Tên của khẩu Deagle trong Bảng Tên Súng thì ta tìm thấy tên của khẩu này là : CSW_DEAGLE

Trong file NST_Wpn_Anaconda.sma
Tìm
PHP:
#define CURENT_WEAPON CSW_AK47
Thay tên bằng
PHP:
#define CURENT_WEAPON CSW_DEAGLE

+ Điều chỉnh các thông số của súng
Về cơ bản thì đã xong.Bây giờ là bước thiết lập các thông số cho Anaconda
Các bạn tìm đên đoạn
PHP:
// Reg Cvar
	cvar_dmgmultiplier = register_cvar(cvar_dmg_name, "1")
	cvar_uclip = register_cvar(cvar_uclip_name, "0")
	cvar_speed = register_cvar(cvar_speed_name,"1")
	cvar_zoom = register_cvar(cvar_zoom_name,"1")
	cvar_clip = register_cvar(cvar_clip_name,"60")
	cvar_ammo = register_cvar(cvar_ammo_name,"180")
	cvar_recoil = register_cvar(cvar_recoil_name,"0.4")
	cvar_cost = register_cvar(cvar_cost_name,"4000")
Ý nghĩa của chúng như sau:
cvar_dmg_name: Uy lực của súng mới mạnh gấp bao nhiêu lần súng thay thế trong CS
Trong trường hợp này thì tớ sẽ thiết lập Uy lực của anaconda bằng với Deagle
(nếu muốn mạnh gấp 2 thì để là 2, còn mún mạnh bằng 1/2 thì để 0.5)
PHP:
cvar_dmgmultiplier = register_cvar(cvar_dmg_name, "1")

cvar_uclip_name: Súng bắn không hết đạn (đạn vô hạn)
1: băng đạn vô hạn
0: như bình thường
Mình sẽ để khẩu anaconda này như bình thường:
PHP:
cvar_uclip = register_cvar(cvar_uclip_name, "0")

cvar_speed_name: Tốc độ bắn của súng mới so với súng thay thế
Nếu để <1 thì tốc đọ bắn nhanh hơn
Còn >=1 thì là bằng hc chậm hơn
Mình sẽ để tốc độ bắn của anaconda nhanh bằng với Deagle
PHP:
cvar_speed = register_cvar(cvar_speed_name,"1")

cvar_zoom_name: Cho phép zoom súng hay không
1: là không
0: súng có thể zoom đc
Anaconda thì tất nhiên không zoom đc rùi ^^
PHP:
cvar_zoom = register_cvar(cvar_zoom_name,"0")

cvar_clip_name: Số đạn trong 1 băng
mình muốn khẩu anaconda có 15 viên trong 1 băng
PHP:
cvar_clip = register_cvar(cvar_clip_name,"15")

cvar_ammo_name: Tổng số đạn của súng
Mình muốn khẩu này có 45 viên
PHP:
cvar_ammo = register_cvar(cvar_ammo_name,"45")

cvar_recoil_name: Độ giật của súng so với súng thay thế
Nếu < 1 thì độ giật ít hơn
Nếu > 1 thì giật lớn hơn
Nếu = 1 thì độ giật bằng nhau
mình sẽ cho khẩu anaconda có độ giật bằng 0.4 khẩu Deagle
PHP:
cvar_recoil = register_cvar(cvar_recoil_name,"0.4")

cvar_cost_name: Giá tiền của súng
mình sẽ để giá khẩu này là 2000$ ^^
PHP:
cvar_cost = register_cvar(cvar_cost_name,"2000")

Kết quả là
PHP:
	// Reg Cvar
	cvar_dmgmultiplier = register_cvar(cvar_dmg_name, "1")
	cvar_uclip = register_cvar(cvar_uclip_name, "0")
	cvar_speed = register_cvar(cvar_speed_name,"1")
	cvar_zoom = register_cvar(cvar_zoom_name,"0")
	cvar_clip = register_cvar(cvar_clip_name,"15")
	cvar_ammo = register_cvar(cvar_ammo_name,"45")
	cvar_recoil = register_cvar(cvar_recoil_name,"0.4")
	cvar_cost = register_cvar(cvar_cost_name,"2000")

Đã xong phần Replace

3. Compile file sma
13191259217188.jpg

Sau khi đã compile xong thì các bạn vào addons\amxmodx\scripting\compiled copy file NST_Wpn_Anaconda.amxx và pase vào folder addons\amxmodx\plugins
16461259217189.JPG

97211259217189.jpg


4. Tìm command để mua súng
(bước này chỉ thực hiện khi ban thêm súng cho chế độ thường.còn khi thêm cho chế độ zombie thì bạn mua trong trong game mục Extra item và không cần thực hiện bước này)
Như phần trên thì ta đã có
Nên tên models mới là: anaconda
thì command để mua súng là nst_anaconda

đơn giản vậy thôi ^^
vậy là bạn đã hoành thành công việc rồi
Giờ thì xem kết quả thôi. chờ gì nữa ^^


Kết quả
47001259217190.JPG

77161259217190.jpg



những điều cần chú ý khi làm:
models của súng mới thêm vào phải phù hợp với súng định thay trong CS
Nếu bạn thêm súng cho chế độ thường thì lấy file NST_Wpn_CV47 làm mẫu
Còn nếu làm cho chế độ zombie plague thì lấy file Zp_Extra_NST_CV47 làm mẫu


Những lỗi hiện tại của plugin:
1. Không thay đổi được sound khi bắn (khi bắn thì vẫn chay sound shot của súng cũ)
2. Lỗi chút về số đạn của súng
những lỗi này mình đã cố gắng FIX nhưng chưa fix đc ^^

Vấn đề cuối cùng là Xin để lại Nguồn ^^



Thông tin Update:
27 11 2009 Update
Update File mẫu mới và Hướng dẫn mới !
28 11 2009 Update File mẫu mới
+ Fix lỗi zoom súng
+ Fix: Khi 1 player bị chết nếu player đó có súng mới thêm thì súng sẽ rơi ra
+ Fix lỗi súng rơi trên mặt đất không bị mất đi khi sang ván mới
Mới Fix được các lỗi đó thui ^^
30 11 2009: Thêm chức năng hiện bảng mua những súng mà bạn đã thêm
+ Thêm chức năng hiện bảng mua những súng mà bạn đã thêm với plugin NST_Wpn.amxx
Để hiển thị bảng mua thì gõ lệnh: nst_wpn
các bạn trở lên trên đểdown lại file mẫu và plugin
(giải nén và pase toàn bộ vào folder tướng ứng)

chú ý: để đơn giản trong việc mua thì bạn có thể gán lệnh này vào 1 nút nào đó
VD gán cho nút T thì gõ : bind t nst_wpn
sau khi gán chỉ cần ấn nút T thì nó sẽ ra bảng mua luốn (không phải gõ lệnh nữa ^^)
đang nghĩ cách làm 1 plugin gốc để khỏi phải chạy nhiều plugin như này (khó đấy) ^^
1 11 2009: Update Fix lỗi menu mua súng
Fix lỗi không hiển thị bảng mua súng khi thêm từ 8 súng trở lên
trở lên trên để down lại file mẫu

Ai làm đc plugin nào thì Show hàng đê ^^
 
Chỉnh sửa cuối:
nếu làm như thế này có thể thay bất cứ cái gì vào cũng đc hả "pợn", nhưng kiếm mấy cái NST_*** ở đâu ra ^^! hay tự convert
 
cây araconda nhìn đã nhỉ :-*

............................
 
Rất cảm ơn vì hướng dẫn bổ ích của bạn:-*. Khi về chắc chắn mình phải thử làm ngay :)
 
Quá Pro....Nhưng Về Vấn Đề Hud Kill Thì Sao Bạn....hay để hud kill của nó là đầu lâu xương chéo như plugins cây súng phun lữa trong zombie plague đê chứ bắn anacoda mà hiện hud desert eagle thì=))=))=))
 
ôi thank1 bác :P tui ước mơ làm cái này lâu lắm rồi thank sontung0 nha tui + rep cho ông đây :D
à ông có yahoo ko ? nick yahoo của ông ko có online nên ông cho tui xin nick khác mà ông online đc ko sontung?
 
ôi thank1 bác :P tui ước mơ làm cái này lâu lắm rồi thank sontung0 nha tui + rep cho ông đây :D
à ông có yahoo ko ? nick yahoo của ông ko có online nên ông cho tui xin nick khác mà ông online đc ko sontung?
Làm Thế Nào Để +Rep cho người khác ta:((:((
 
Nhấn vào hình cái cân
reputation.gif
để Thanks hoặc chê bai! Chủ topic nhớ phát huy tiếp nhé, bài viết này khá hay đấy!
 
Đã test
- Hoạt động tốt trên CS 1.6, còn CSCZKE thì khi gõ command thì bị văng ra ngoài, sontung0 thấy ông cũng xài CSCZ mà sao vẫn bt hay vậy ? :(
- Còn về phần này
Mã:
- nst_anaconda_dmg <3> - Uy luc cua sung
- nst_anaconda_uclip <1|0> - Bang dan vo han ?
- nst_anaconda_speed <1> - Toc do ban cua sung (cang nho thi cang ban nhanh)
- nst_anaconda_zoom <1|0> - Zoom Anaconda - Black ?
- nst_anaconda_clip <50> - So dan trong 1 bang
- nst_anaconda_ammo <200> - Tong so dan cua sung
- nst_anaconda_recoil <0> - Do giat cua sung
- nst_anaconda_cost <4000> - Gia cua sung
dòng
- nst_anaconda_dmg <3> cái số 3 ấy là bao nhiu damages ?
2 dòng
- nst_anaconda_clip <50> hình như đạn cao nhất chỉ có 60 à :|
- nst_anaconda_ammo <200> cao nhất chỉ 180
dòng
- nst_anaconda_recoil <0> có thể chỉnh từ bao nhiu đến bao nhiu là vừa ?

Mới làm dc 1 tác phẩm đầu tay nhưng chưa hoàn chỉnh :P
 
Bác ơi !! Có thể nào thêm nó vào cửa hàng mua đồ hay ko !! Hay cái này chỉ dùng lệnh mà lấy cây Anconda ra thUi !!! Trả lời dùm em nhá
 
chả biết kiểu gì em làm xong vào game cứ mua cái súng thêm vào đấy 1 phát là game bay luôn (bật ra desktop) lần trc dùng cái NST_Wpn_CV47 của bác cũng bị thế
 
chả biết kiểu gì em làm xong vào game cứ mua cái súng thêm vào đấy 1 phát là game bay luôn (bật ra desktop) lần trc dùng cái NST_Wpn_CV47 của bác cũng bị thế

Há há,lần trước xài silver weapon vừa mua 1 cái là bị đá tung đít ra ngoài=))
Chắc lỗi này cũng vậy(dùng bản 1.6 thì chạy tốt còn czero thì bị phân biệt chủng tộc á=))=))=)))
 
Há há,lần trước xài silver weapon vừa mua 1 cái là bị đá tung đít ra ngoài=))
Chắc lỗi này cũng vậy(dùng bản 1.6 thì chạy tốt còn czero thì bị phân biệt chủng tộc á=))=))=)))

tớ dùng cái silver weapon cho vào cs1.6 thì ngon nhưng mà cái này lại ko đc thế mới đau:((:((:((:((
.
___________Auto Merge________________

.
nhân đây bác sontung0 viết hộ em cái plugin để tăng damage của con Scout đc hem, em thay cái skin TRG vào mà bắn 1 phát nó ko chết ===> bực mình
định dùng cái plugin này để sửa mà cũng ko đc
 
Lần sau hướng dẫn thì ông đừng edit ở file notepad mà nên hướng dẫn trên nền của soft AMXX. Trên đó minh họa code và có cây cấu trúc plug-in. Còn cái code zoom thì cần thiết cho 1 số súng thôi nên edit bài trên là nếu cây súng đó có scope. Tôi góp ý vậy. Cám ơn vì code của ông =))
 
tớ dùng cái silver weapon cho vào cs1.6 thì ngon nhưng mà cái này lại ko đc thế mới đau:((:((:((:((
.
___________Auto Merge________________

.
nhân đây bác sontung0 viết hộ em cái plugin để tăng damage của con Scout đc hem, em thay cái skin TRG vào mà bắn 1 phát nó ko chết ===> bực mình
định dùng cái plugin này để sửa mà cũng ko đc
Có plugin damage gì đó trên alliedmod ấy,lên đó mòa tìm:D:D
nếu ko dc thì khi nào rãnh tớ úp
 
tớ dùng cái silver weapon cho vào cs1.6 thì ngon nhưng mà cái này lại ko đc thế mới đau:((:((:((:((
.
___________Auto Merge________________

.
nhân đây bác sontung0 viết hộ em cái plugin để tăng damage của con Scout đc hem, em thay cái skin TRG vào mà bắn 1 phát nó ko chết ===> bực mình
định dùng cái plugin này để sửa mà cũng ko đc

Sao không làm cái plugin TRG luôn đi. Có cvar damage chỉnh nó cao vào :-"
 
Sao không làm cái plugin TRG luôn đi. Có cvar damage chỉnh nó cao vào :-"

Ờ hớ,góp ý thêm 1 thủ thuật nè,khi đã add vũ khí mới từ plugins trên ta có thể gán đoạn mã vào file config.cfg cho 1 nút nào đó bằng cách
bind "<nút bấm>" "<đoạn mã>"
Vd gán anacoda cho nút f1
bind "f1" "nst_anaconda"

rồi save config.cfg đặt thuộc tính read-only cho nó
Vào game chỉ cần ấn f1 là game sẽ tự động mua ana cho mình,khỏi tốn thời gian ngồi gõ :))
 
Status
Không mở trả lời sau này.
Back
Top