[GUI] Hướng dẫn tạo Menu nhân vật CSO-NST- JLR

Thảo luận trong 'Counter Strike' bắt đầu bởi Atick hem, 30/10/10.

?

Bạn có áp dụng nó vào phiên bản bạn đang xài không ?

  1. Chẳng đc j cả :|

    7 phiếu
    16.7%
  2. Lúc đc lúc ko :|

    10 phiếu
    23.8%
  3. Đc chứ :)).. tốt là đằng khác

    25 phiếu
    59.5%
  1. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    [TuT] - [HD] Thêm Char và Buy Menu - Độc quyền ở GVN b-)


    Chú ý quan trọng: RES là 1 file text (file văn bản) nên các bạn có thể dùng bất cứ trình j đọc đc văn bản.. Thông dụng nhất là Notepad.. phiên bản cài đặt sẵn trong máy..
    Nếu ko mở đc file RES, thì các bạn hãy:
    1. Nhấp chuột phải.
    2. Chọn Propertiers
    3. Dòng "Open Withs" nhấn "Change..."
    4. Trong cửa sổ mới tìm soft tên là Notepad. nhấn ok. ok hoặc apply
    [​IMG]
    Hãy cố gắng tìm các bản mod do các pro mod CS làm.. trong đó sẽ có các file mẫu cho các bạn học hỏi
    p/s: tốt nhất ko nên tự làm 1 file res mak hãy edit lại file đã có sẵn ^^
    Sẽ còn tiếp phần 2... Buy Menu...
    Mã:
    "classes/choijiyoon.res"
    {
    	"classimage"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"classimage"
    		"xpos"			"0"
    		"ypos"			"0"
    		"wide"			"256"
    		"tall"			"196"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"west"
    		"image"			"gfx/vgui/choijiyoon"
    		"scaleImage"		"1"
    		"zpos"			"1"
    	}
    	"className"
    	{
    		"ControlName"		"Label"
    		"fieldName"		"infolabel"
    		"xpos"			"0"
    		"ypos"			"204"
    		"wide"			"256"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"labelText"		"#csonst_choijiyoon_Name"
    		"textAlignment"		"west"
    		"dulltext"		"1"
    		"brighttext"		"0"
    	}
    }
    Nếu muốn tạo 1 classe mới.. ở đây mình chỉ tạo nhân vật thôi, súng thì tương tự ^^.
    Thì chỉ cần quan trọng 2 điều..
    1. Copy bất kỳ 1 classe char cũ nào đó đã có sẵn (Tùy theo bản CS mà bạn đang xài)
    2. Chỉ sửa 2 phần trên thôi.. ngoài ra còn 1 phần nữa nhưng ko quan trọng =))

    Mã:
    [B][U][COLOR="#006400"]classimage[/COLOR][/U][/B]: Chỉ cần chú ý thay link ảnh (ko thay thì 10 thằng nhân vật đều chung 1 hình)
    
    [​IMG]

    Mã:
    [B][U][COLOR="#006400"]className[/COLOR][/U][/B]: Thay phần chú thích của nhân vật...
    
    Muốn tạo 1 nhân vật mới trong Character Menu thì tất nhiên không cần đụng đến mấy cái file này cũng đc.. vì không cần thiết ^^... chỉ tạo để hiện thị hình ảnh và chú thích ở dưới thui =))
    ...

    Giờ là sẽ tạo trong Menu...
    Mình chia làm 2 dạng... 1 là theo classic và 2 là theo mod...

    1. Classic:
    Đối với cả 2 dạng thì đều phải chỉnh sửa cả 2 file: Classmenu_CT.resClassmenu_TER

    Đối với dạng này thì khỏi cần bàn nhiều, vì cực kỳ đơn giản ^^

    [spoil]
    Mã:
    "Resource/UI/ClassMenu_CT.res"
    {
    	"ClassMenu"
    	{
    		"ControlName"		"Frame"
    		"fieldName"		"ClassMenu"
    		"xpos"			"76"
    		"ypos"			"0"
    		"wide"			"552"
    		"tall"			"448"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    	}
    
    	"SysMenu"
    	{
    		"ControlName"		"Menu"
    		"fieldName"		"SysMenu"
    		"xpos"			"0"
    		"ypos"			"0"
    		"wide"			"64"
    		"tall"			"24"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"0"
    		"enabled"		"0"
    		"tabPosition"		"0"
    	}
    
    	"joinClass"
    	{
    		"ControlName"		"Label"
    		"fieldName"		"joinClass"
    		"xpos"		"0"
    		"ypos"		"22"
    		"wide"		"500"
    		"tall"		"48"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Join_Class"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"font"		"Title"
    		"wrap"		"0"
    	}
    
    	"classInfoLabel"
    	{
    		"ControlName"		"Label"
    		"fieldName"		"classInfoLabel"
    		"xpos"			"168"
    		"ypos"			"72"
    		"wide"			"180"
    		"tall"			"24"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"0"
    		"enabled"		"1"
    		"labelText"		"#Cstrike_Class_Info"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"1"
    	}
    
    	"ClassInfo"
    	{
    		"ControlName"		"Panel"
    		"fieldName"		"ClassInfo"
    		"xpos"			"168"
    		"ypos"			"116"
    		"wide"			"400"
    		"tall"			"380"
    		"autoResize"		"3"
    		"pinCorner"		"0"
    		"visible"		"0"
    		"enabled"		"0"
    		"tabPosition"		"0"
    	}
    	"urban"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"urban"
    		"xpos"			"0"
    		"ypos"			"116"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Urban"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"joinclass 1"
    	}	
    	"gsg9"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"gsg9"
    		"xpos"			"0"
    		"ypos"			"148"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		""
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"joinclass 2"
    		"labelText"		"#Cstrike_GSG9"
    	}		
    	"sas"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"sas"
    		"xpos"			"0"
    		"ypos"			"180"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		""
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"joinclass 3"
    		"labelText"		"#Cstrike_SAS"	
    	}		
    	"gign"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"gign"
    		"xpos"			"0"
    		"ypos"			"212"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		""
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"joinclass 4"
    		"labelText"		"#Cstrike_GIGN"
    	}
    	"autoselect_ct"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"autoselect_ct"
    		"xpos"			"0"
    		"ypos"			"276"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"1"
    		"labelText"		""
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"joinclass 6"
    		"labelText"		"#Cstrike_Auto_Select"
    	}
    
    	"CancelButton"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"CancelButton"
    		"xpos"			"0"
    		"ypos"			"308"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Cancel"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"vguicancel"
    		"Default"		"1"
    	}
    }
    [/spoil]

    Mã:
    Để làm tốt và đỡ mất công test, các bạn nên làm theo mình..
    hơi rắc rối 1 tí vì khá dài nhưng bảo đảm là 80% làm xong
    paste vô game thì ko lỗi 
    
    [​IMG]

    Mã:
    Luôn copy đủ 4 char liên tiếp để xét.... ở trên là Urban, GsG9, GiGn, SAS ra 1 cái notepad...
    Mở thêm 1 cái notepad nữa để chỉnh sửa.
    Các bạn copy đại 1 cái phần nào đó (của 1 trong 4 nhân vật trên) tốt nhất là thằng cuối. 
    Ra cái notepad vừa mở để tiện chỉnh sửa.
    Bật cái calculator của Windows lên để tính toán cho đỡ sai ^^
    
    Mã:
    Khi bắt tay vào làm chỉ nên chú ý tới những phần này:
    [code]	"gign"
    {		"fieldName"		"gign"
    		"xpos"			"0"
    		"ypos"			"212"
    		"command"		"joinclass 4"
    		"labelText"		"#Cstrike_GIGN"
    }
    
    Giải thích sơ bộ một tí:

    gign: nên đặt tên nhân vật của mình cho dễ nhớ.. để an toàn thì đặt trùng với file res


    fieldName: Đối với classe Menu Character thì cái này chính là tên của file res trong Cstrike\Classes, còn với Buy Menu hay sao đó thì tùy... đặt sao cũng đc =))

    xpos; ypos: Quy định căn chỉnh vị trí.. trong hiển thị. (Đang tìm cách xác định vị trí.. Cái này chủ yếu là phải mò =.=')

    command: lệnh trong console để gia nhập đội nào đó. Sẽ nói sau

    labelText: Tên hiện trong cái khung đó (Tùy thuộc vào ControleName)
    Có thể hiện tên trong file Cstrike_English.txt


    VD: Trong file Cstrike_English.txt có dòng
    Mã:
    "Atickhem_GVN"	"NickName JLR"
    
    thì đặt trong file res
    Mã:
    "labelText"		"#Atickhem_GVN"
    
    Thêm # vào trước tên trong Cstike_English.txt
    Ko cần dùng có thể đặt tên trực tiếp cũng đc =]].. nhưng như thế thì khỏi làm = tiếng việt =]]

    [/code]

    Command trong Mod và Classic sẽ khác nhau... Ví dụ như Classic có 6 thằng thì cứ theo
    thứ tự từ trên xuống để tính gia nhập
    Ví dụ thằng thứ 6 là Homet thì lệnh sẽ là (cái này thì có bản đc bản ko.. ko chắc :|)
    Mã:
    "command"		"joinclass 6"
    
    .. đã hiểu rồi chứ.


    Trong Mod thì nên xem các command của từng mod thế nào rồi từ đó phát triển ra.
    Ví dụ CSO-NST thì có lệnh của anh Tùng là :
    Mã:
    "command"		"joinclass 1;nst_choose_player <Tên model khai báo, đã khai báo trong nst_player.ini>"
    

    Cái này mình ko nói nữa.. nếu muốn tìm hiểu kỹ hơn thì cmt nhé

    Nói loanh quanh về giới thiệu mệt zầu, giờ vô việc chính: Xét tọa độ
    Xem bức ảnh sau:
    [​IMG]
    Ta thấy các classe đều xếp theo 1 hàng.. nếu thế này sẽ đơn giản hơn vì tọa độ của nó sẽ cùng 1 tọa độ và cách nhau đều.. chỉ phải sửa 1 cái =))
    Xét:
    Mã:
    	"urban"
    	{
    		"fieldName"		"urban"
    		"xpos"			"0"
    		"ypos"			"116"
    	}
    
    Mã:
    	"gsg9"
    	{
    		"fieldName"		"gsg9"
    		"xpos"			"0"
    		"ypos"			"148"
    	}
    
    Ta thấy Xpos không đổi mà Ypos lại tăng lên. Lấy Ypos của classe phía dưới là 148 trừ đi Ypos phía trên là 116 thì có kết quả 32. Vậy khoảng cách giữa các class này đều là 32. Để an toàn ta xét tiếp cái thứ 3
    Mã:
    	"sas"
    	{
    		"fieldName"		"sas"
    		"xpos"			"0"
    		"ypos"			"180"
    	}		
    
    Lấy Ypos là 180 trừ đi clas 2 thì có 180-148=32.. vậy là ta đã có kết quả chắc chắn là 32. Giờ thì thêm class mới thôi ^^... Từ đó mình lấy cái class cuối cùng để làm chuẩn tạo thêm ^^
    Mã:
    	"gign"
    	{
    		"fieldName"		"gign"
    		"xpos"			"0"
    		"ypos"			"212"
    	}
    
    để tạo ra classe mới... lấy Ypos cộng thêm 32 là 212+32=244
    Mã:
    	"JLR"
    	{
    		"fieldName"		"JLR" (Chỗ này chú ý phải có file JLR.res trong thư mục classes)
    		"xpos"			"0"
    		"ypos"			"244"
    		"command"		"joinclass 5"
    		"labelText"		"#Cstrike_JLR"
    	}
    
    Chính xác là
    [spoil]
    Mã:
     	"JLR"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"JLR"
    		"xpos"			"0"
    		"ypos"			"244"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		""
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"joinclass 5"
    		"labelText"		"#Cstrike_JLR"
    	}
    
    [/spoil]
    Để an toàn thì copy vào giữa cái GIGN và AUTOSELCT. Vào game sẽ có ngay kết quả [​IMG]

    Còn với MOD thì cũng tương tự nhưng bạn lại phải làm thêm hình ảnh nền nữa.. tức là dài hơn =))

    Chú ý: Thường thì các bản CS ko thể thêm quá 5 char.. nên khuyến cáo các bạn hãy cài AMX và Plugins NST_Player của sontung0



    theo ta.. Atick Hem - FindTeam | JLR - [KrKz]
    =.='.. tên dài quá...


    Tạm thời thế.. lọ mò, loay quay 3 ngày nay mới post đc cái bài này :|.. mệt quá.. tối viết lại cái kia :|

    +REP nhiệt tình nhé :))...
     
    Chỉnh sửa cuối: 31/10/10
    dark_one and protossscout like this.
  2. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    Nào tiếp tục... Về Buy Menu cực kỳ phức tạp để làm 1 Buy Menu đẹp cũng như tiện lợi... Mình chỉ nói về Classic thôi, các bản MOD cũng có thể dựa trên cơ sở này để tạo thêm.

    Để tạo 1 Buy Menu thì chỉ cần 2 thứ như tạo classe char
    Tất nhiên là các file này phải ở trong
    Mã:
    Cstrike\Resource\UI
    Gồm:
    Mã:
    1. File MainBuyMenu.res
    2. Các file classe tạo thêm.
    Buy Menu quan trọng và phức tạp ở chỗ là phải tạo thêm file classe chứ ko dùng file classes có sẵn đc.
    Các file classes tạo ra phải có đuôi .res và phải có đặc điểm như classes khác
    Dạng mẫu:
    Mã:
    
    
    Mã:
    "Resource/UI/BuyPistols_CT.res" (Khai báo tên đường dẫn file classes)
    {
    Các lệnh khác (có thể lồng các lệnh vào nhau)
    }
    Luôn luôn phải mở đầu (hơi khó nói) một cái thân thì phải là { và kết thúc là }

    Các bạn chỉ nên chú ý vào phần sau:
    Mã:
    "Resource/UI/BuyPistols_CT.res"
    {
    [code]
    [spoil]
    "BuyPistols_CT"
    	{
    		"ControlName"		"WizardSubPanel"
    		"fieldName"		"BuyPistols_CT"
    		"xpos"			"50"
    		"ypos"			"10"
    		"wide"			"552"
    		"tall"			"448"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    	}
    	"Title"
    	{
    		"ControlName"		"Label"
    		"fieldName"		"Title"
    		"xpos"		"76"
    		"ypos"		"22"
    		"wide"		"500"
    		"tall"		"48"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_PistolsLabel"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"font"		"Title"
    		"wrap"		"0"
    	}
    	"ItemInfo"
    	{
    		"ControlName"		"Panel"
    		"fieldName"		"ItemInfo"
    		"xpos"		"244"
    		"ypos"		"116"
    		"wide"		"400"
    		"tall"		"380"
    		"autoResize"		"3"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    	}
    
    [/spoil]
    "Glock18"
    {
    "ControlName" "MouseOverPanelButton"
    "fieldName" "Glock18"
    "xpos" "76"
    "ypos" "116"
    "labelText" "#Cstrike_Glock18"
    "command" "glock"
    "cost" "400"
    }
    [spoil]
    Mã:
    	"USP45"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"USP45"
    			"xpos"			"76"
    		"ypos"			"148"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"	"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"	"0"
    		"labelText"		"#Cstrike_USP45"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"usp"
    		"cost"			"500"
    	}
    	"P228"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"P228"
    			"xpos"			"76"
    		"ypos"			"180"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"	"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"	"0"
    		"labelText"		"#Cstrike_P228"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"p228"
    		"cost"			"600"
    	}
    	"DesertEagle"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"DesertEagle"
    		"xpos"			"76"
    		"ypos"			"212"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"	"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"	"0"
    		"labelText"		"#Cstrike_DesertEagle"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"command"		"deagle"
    		"cost"			"650"
    	}
    	"CancelButton"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"CancelButton"
    		"xpos"			"76"
    		"ypos"			"380"
    		"wide"			"148"
    		"tall"			"20"
    		"autoResize"	"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"	"0"
    		"labelText"		"#Cstrike_Cancel"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"vguicancel"
    		"Default"		"1"
    	}
    
    [/spoil]
    }
    [/code]

    Chú ý các phần trên
    Đến đây coi như là đủ để các bạn sửa (và tạo thêm) file classe mới.. giờ mình ko đề cập đến nữa.. sẽ nói rõ hơn nếu ko ai hiểu =))

    Giờ là chỉnh sửa file MainBuyMenu.res
    [spoil]
    Mã:
    "Resource/UI/MainBuyMenu.res"
    {
    	"ItemInfo"
    	{
    		"ControlName"		"Panel"
    		"fieldName"		"ItemInfo"
    		"xpos"		"1680"
    		"ypos"		"1160"
    		"wide"		"400"
    		"tall"		"380"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    	}
    	"Title"
    	{
    		"ControlName"		"Label"
    		"fieldName"		"Title"
    		"xpos"		"76"
    		"ypos"		"22"
    		"wide"		"500"
    		"tall"		"48"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Buy_Menu"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"font"		"Title"
    		"wrap"		"0"
    	}
    	"selectCategory"
    	{
    		"ControlName"		"Label"
    		"fieldName"		"selectCategory"
    		"xpos"		"84"
    		"ypos"		"87"
    		"wide"		"160"
    		"tall"		"24"
    		"autoResize"	"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"labelText"		"#Cstrike_Select_Category"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"	"1"
    	}
    	"pistols"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"pistols"
    		"xpos"		"76"
    		"ypos"		"116"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Pistols"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/BuyPistols.res"
    		"Default"		"0"
    	}
    	"shotguns"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"shotguns"
    		"xpos"		"76"
    		"ypos"		"148"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Shotguns"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/BuyShotguns.res"
    		"Default"		"0"
    	}
    	"submachineguns"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"submachineguns"
    		"xpos"		"76"
    		"ypos"		"180"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_SubMachineGuns"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/BuySubMachineGuns.res"
    		"Default"		"0"
    	}
    	"rifles"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"rifles"
    		"xpos"		"76"
    		"ypos"		"212"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Rifles"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/BuyRifles.res"
    		"Default"		"0"
    	}
    
    	"machineguns"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"machineguns"
    		"xpos"		"76"
    		"ypos"		"244"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_MachineGuns"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/BuyMachineGuns.res"
    		"Default"		"0"
    	}
    	"primaryammo"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"primaryammo"
    		"xpos"		"76"
    		"ypos"		"276"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Prim_Ammo"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"primammo"
    		"Default"		"0"
    	}
    	"secammo"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"secammo"
    		"xpos"		"76"
    		"ypos"		"308"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Sec_Ammo"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"secammo"
    		"Default"		"0"
    	}
    	"equipment"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"equipment"
    		"xpos"		"76"
    		"ypos"		"340"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Equipment"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/BuyEquipment.res"
    		"Default"		"0"
    	}
    	"CancelButton"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"CancelButton"
    		"xpos"		"76"
    		"ypos"		"380"
    		"wide"		"148"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_Cancel"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"vguicancel"
    		"Default"		"1"
    	}
    	"AutobuyButton"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"AutobuyButton"
    		"xpos"		"249"
    		"ypos"		"116"
    		"wide"		"160"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_BuyMenuAutobuy"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"autobuy"
    		"Default"		"0"
    	}
    	"RebuyButton"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"RebuyButton"
    		"xpos"		"249"
    		"ypos"		"148"
    		"wide"		"160"
    		"tall"		"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#Cstrike_BuyMenuRebuy"
    		"textAlignment"		"west"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"rebuy"
    		"Default"		"0"
    	}
    	"Divider1"
    	{
    		"ControlName"		"Divider"
    		"fieldName"		"Divider1"
    		"xpos"		"236"
    		"ypos"		"116"
    		"wide"		"2"
    		"tall"		"284"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    	}
    }
    
    [/spoil]
    Chú ý:
    Mã:
    	"pistols"
    	{
    		"ControlName"		"MouseOverPanelButton"
    		"fieldName"		"pistols"
    		"xpos"		"76"
    		"ypos"		"116"
    		"labelText"		"#Cstrike_Pistols"
    		"Command"		"Resource/UI/BuyPistols.res"
    		"Default"		"0"
    	}
    
    Ở đây, command sẽ gọi tên file classes... cái này là mặt hiển thị sau khi mình nhấn ^^. Mấy cái khác tương tự...
    Default: Cái này ko quan trọng.. có thể xóa nếu cần :|.. nên để là 0.. vì chuyển thành 1 có thể sẽ xung đột khi ingame...
    Được rồi.. bắt đầu vào việc thêm súng...

    Trước hết.. Phần Buy Menu của hầu hết mọi người đã đến page thứ 3.. và đã gần hết. Vậy mình sẽ hướng dẫn các bạn các thêm Page của Rifle (các cái khác tương tự)

    CSO-NST có các file cần thiết sau:
    Mã:
    MainBuyMenu.res
    NSTWpn_Hegrenade_1_CT.res
    NSTWpn_Hegrenade_1_TER.res
    NSTWpn_Knife_1_CT.res
    NSTWpn_Knife_1_TER.res
    NSTWpn_Pistols_1_CT.res
    NSTWpn_Pistols_1_TER.res
    NSTWpn_Rifles_1_CT.res
    NSTWpn_Rifles_1_TER.res
    NSTWpn_Rifles_2_CT.res
    NSTWpn_Rifles_2_TER.res
    NSTWpn_Rifles_3_backup_newWpn.res
    NSTWpn_Rifles_3_CT.res
    NSTWpn_Rifles_3_TER.res
    
    Tên của Page thì các bạn thích đặt tên là j cũng đc nhưng phải chú ý 2 điều:
    Mã:
    1. Phải có dạng "<tên file>_CT.res" và "<tên file>_TER.res"
    2. Phải có phần khai báo "Command" trong file như đã nói ở trên...
    
    Giờ thì mình sẽ tạo thêm các file mới là:
    Mã:
    NSTWpn_Rifles_4_CT.res
    NSTWpn_Rifles_4_TER.res
    NSTWpn_Rifles_5_CT.res
    NSTWpn_Rifles_5_TER.res
    
    Và tất nhiên là tạo luôn 5 Pages... ;))

    Như phía trên đã nói.. các bạn khai báo ở phần "Command" thì nó sẽ gọi file đó hiển thị ra bên ngoài. Vậy thì ta sẽ dùng các file cũ...

    Và mỗi page các bạn phải có phần này là phần hiển thị phía trên (tên page)

    [spoil]
    // #####################################################
    // ----------------------- PAGES -----------------------
    // #####################################################

    "page-1-bg"
    {
    "ControlName" "ImagePanel"
    "fieldName" "page-1-bg"
    "xpos" "325"
    "ypos" "46"
    "wide" "25"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "0"
    "visible" "1"
    "enabled" "1"
    "textAlignment" "center"
    "image" "resource/control/page"
    "scaleImage" "1"
    }
    "page-1-cmd"
    {
    "ControlName" "Button"
    "fieldName" "page-1-cmd"
    "xpos" "325"
    "ypos" "46"
    "wide" "20"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "2"
    "visible" "1"
    "enabled" "1"
    "tabPosition" "0"
    "labelText" "#csonst_page1"
    "textAlignment" "center"
    "dulltext" "0"
    "brighttext" "0"
    "Command" "Resource/UI/NSTWpn_Rifles_1.res"
    "Default" "1"
    }

    "page-2-bg"
    {
    "ControlName" "ImagePanel"
    "fieldName" "page-2-bg"
    "xpos" "360"
    "ypos" "46"
    "wide" "25"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "0"
    "visible" "1"
    "enabled" "1"
    "textAlignment" "center"
    "image" "resource/control/page"
    "scaleImage" "1"
    }
    "page-2-cmd"
    {
    "ControlName" "Button"
    "fieldName" "page-2-cmd"
    "xpos" "360"
    "ypos" "46"
    "wide" "20"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "2"
    "visible" "1"
    "enabled" "1"
    "tabPosition" "0"
    "labelText" "#csonst_page2"
    "textAlignment" "center"
    "dulltext" "0"
    "brighttext" "0"
    "Command" "Resource/UI/NSTWpn_Rifles_2.res"
    "Default" "1"
    }
    "page-3-bg"
    {
    "ControlName" "ImagePanel"
    "fieldName" "page-3-bg"
    "xpos" "395"
    "ypos" "46"
    "wide" "25"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "0"
    "visible" "1"
    "enabled" "1"
    "textAlignment" "center"
    "image" "resource/control/page"
    "scaleImage" "1"
    }
    "page-3-cmd"
    {
    "ControlName" "Button"
    "fieldName" "page-3-cmd"
    "xpos" "395"
    "ypos" "46"
    "wide" "20"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "2"
    "visible" "1"
    "enabled" "1"
    "tabPosition" "0"
    "labelText" "#csonst_page3"
    "textAlignment" "center"
    "dulltext" "0"
    "brighttext" "0"
    "Command" "Resource/UI/NSTWpn_Rifles_3.res"
    "Default" "1"
    }
    [/spoil]

    Mã:
    Hãy xem lại phần tạo Char để biết thủ thuật xét tọa độ
    và mình sẽ thêm vào 2 page thì phải có cấu trúc như cũ và chỉ thay đổi 1 ít:

    Mã:
    	"page-4-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-2-bg"
    		"xpos"			"360"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-4-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-2-cmd"
    		"xpos"			"360"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page2"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_4.res"
    		"Default"		"1"
    	}
    	"page-5-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-3-bg"
    		"xpos"			"395"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-5-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-3-cmd"
    		"xpos"			"395"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page3"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_5.res"
    		"Default"		"1"
    	}
    
    Có thể các bạn sẽ thắc mắc ở command này:
    Mã:
    		"Command"		"Resource/UI/NSTWpn_Rifles_5.res"
    		"Default"		"1"
    
    Các bạn chỉ khai báo tên file và đường dẫn.. phần _CT và _TER sẽ ko cần thêm vào vì vào Game nó sẽ dựa theo đuôi này để gọi file tùy thuộc vào Team bạn đang chọn.
    _CT: Counter-Terrorist (đặc nhiệm)
    _TER: Terrorist (khủng bố)

    Tất nhiên là 2 cái trên kia mình chưa set tọa độ...
    Vì 3 Page cũ nó đã có vị trí thế này:
    [​IMG]
    nên mình nghĩ là nó có thể add đc thêm 1 hoặc 2 page..
    Mã:
    	"page-4-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-4-bg"
    		"xpos"			"430"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-4-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-4-cmd"
    		"xpos"			"430"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page2"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_4.res"
    		"Default"		"1"
    	}
    	"page-5-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-5-bg"
    		"xpos"			"465"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-5-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-5-cmd"
    		"xpos"			"465"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page3"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_5.res"
    		"Default"		"1"
    	}
    
    Vậy là mình đã tạo đc 2 nút ấn khi vào game để chọn trong page.. Bây giờ sẽ copy đoạn đó và dán vào các file page:
    Mã:
    NSTWpn_Pistols_1_CT.res
    NSTWpn_Pistols_1_TER.res
    NSTWpn_Rifles_1_CT.res
    NSTWpn_Rifles_1_TER.res
    NSTWpn_Rifles_2_CT.res
    NSTWpn_Rifles_2_TER.res
    NSTWpn_Rifles_3_backup_newWpn.res
    NSTWpn_Rifles_3_CT.res
    NSTWpn_Rifles_3_TER.res
    NSTWpn_Rifles_4_CT.res
    NSTWpn_Rifles_4_TER.res
    NSTWpn_Rifles_5_CT.res
    NSTWpn_Rifles_5_TER.res
    
    Và thế là vào Game chúng ta sẽ có:
    [​IMG]

    Oh men.. vậy là mình đã tính toán sai.. page 5 đã bị chèn vào phần kia.. vậy chỉ chèn tối đa đc đến page 4.. nếu muốn chèn thêm pag5 thì phải đặt lại vị trí lùi ra phía trc 1 button:

    Sửa lại tất cả:
    [spoil]
    Mã:
    	"page-1-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-1-bg"
    		"xpos"			"290"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-1-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-1-cmd"
    		"xpos"			"290"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page1"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_1.res"
    		"Default"		"1"
    	}
    	"page-2-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-2-bg"
    		"xpos"			"325"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-2-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-2-cmd"
    		"xpos"			"325"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page2"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_2.res"
    		"Default"		"1"
    	}
    	"page-3-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-3-bg"
    		"xpos"			"360"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-3-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-3-cmd"
    		"xpos"			"360"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page3"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_3.res"
    		"Default"		"1"
    	}
    	"page-4-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-4-bg"
    		"xpos"			"395"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-4-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-4-cmd"
    		"xpos"			"395"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page4"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_4.res"
    		"Default"		"1"
    	}
    	"page-5-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"		"page-5-bg"
    		"xpos"			"430"
    		"ypos"			"46"
    		"wide"			"25"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"0"
    		"visible"		"1"
    		"enabled"		"1"
    		"textAlignment"		"center"
    		"image"			"resource/control/page"
    		"scaleImage"		"1"
    	}
    	"page-5-cmd"
    	{
    		"ControlName"		"Button"
    		"fieldName"		"page-5-cmd"
    		"xpos"			"430"
    		"ypos"			"46"
    		"wide"			"20"
    		"tall"			"20"
    		"autoResize"		"0"
    		"pinCorner"		"2"
    		"visible"		"1"
    		"enabled"		"1"
    		"tabPosition"		"0"
    		"labelText"		"#csonst_page5"
    		"textAlignment"		"center"
    		"dulltext"		"0"
    		"brighttext"		"0"
    		"Command"		"Resource/UI/NSTWpn_Rifles_5.res"
    		"Default"		"1"
    	}
    
    [/spoil]


    Xong phần Page.. nếu ko rõ có thể trả lời phía dưới...


    Tiếp theo sẽ là phần thêm súng...

    Dạng mẫu trong CSO-NST:
    Mã:
    // ---------------------- weapon 1 ----------------------
    	"1-weapon1-bg"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"			"1-weapon1-bg"
    		"xpos"				"30"
    		"ypos"				"85"
    		"wide"				"138"
    		"tall"				"63"
    		"autoResize"		"0"
    		"pinCorner"			"0"
    		"visible"			"1"
    		"enabled"			"1"
    		"textAlignment"		"center"
    		"image"				"resource/control/item_bg"
    		"scaleImage"		"1"
    	}
    	"1-weapon1-bgwpn"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"			"1-weapon1-bgwpn"
    		"xpos"				"30"
    		"ypos"				"85"
    		"wide"				"138"
    		"tall"				"48"
    		"autoResize"		"0"
    		"pinCorner"			"0"
    		"visible"			"1"
    		"enabled"			"1"
    		"textAlignment"		"center"
    		"image"				"resource/control/item_bgwpn"
    		"scaleImage"		"1"
    	}
    	"1-weapon1-img"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"			"1-weapon1-img"
    		"xpos"				"30"
    		"ypos"				"85"
    		"wide"				"138"
    		"tall"				"48"
    		"autoResize"		"0"
    		"pinCorner"			"0"
    		"visible"			"1"
    		"enabled"			"1"
    		"textAlignment"		"center"
    // 1-weapon1-img
    		[b]"image"				"gfx/vgui/file"[/b]
    		"scaleImage"		"1"
    	}
    	"1-weapon1-team"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"			"1-weapon1-team"
    		"xpos"				"140"
    		"ypos"				"126"
    		"wide"				"26"
    		"tall"				"7"
    		"autoResize"		"0"
    		"pinCorner"			"0"
    		"visible"			"1"
    		"enabled"			"1"
    		"textAlignment"		"center"
    // 1-weapon1-team
    		"image"				"resource/control/team"
    		"scaleImage"		"1"
    	}
    	"1-weapon1-name"
    	{
    		"ControlName"		"Label"
    		"fieldName"			"1-weapon1-name"
    		"xpos"				"30"
    		"ypos"				"133"
    		"wide"				"138"
    		"tall"				"15"
    		"autoResize"		"0"
    		"pinCorner"			"0"
    		"visible"			"1"
    		"enabled"			"1"
    // 1-weapon1-name
    		[b]"labelText"			"Name Gun - Cost"[/b]
    		"textAlignment"		"center"
    		"dulltext"			"1"
    		"brighttext"		"0"
    	}
    	"1-weapon1-bottom"
    	{
    		"ControlName"		"Button"
    		"fieldName"			"1-weapon1-bottom"
    		"xpos"				"30"
    		"ypos"				"85"
    		"wide"				"138"
    		"tall"				"63"
    		"autoResize"		"0"
    		"pinCorner"			"2"
    		"visible"			"1"
    		"enabled"			"1"
    		"tabPosition"		"0"
    		"labelText"			""
    // 1-weapon1-bottom
    		[b]"command"				"nst_buy_wpn "[/b]
    	}
    
    Các bạn chỉ cần chú ý 3 phần sau.. các phần khác để yên...
    Mã:
    	"1-weapon1-name"
    	{
    		"ControlName"		"Label"
    		"fieldName"			"1-weapon1-name"
    		"xpos"				"30"
    		"ypos"				"133"
    		"wide"				"138"
    		"tall"				"15"
    		"autoResize"		"0"
    		"pinCorner"			"0"
    		"visible"			"1"
    		"enabled"			"1"
    // 1-weapon1-name
    		[b]"labelText"			"Name Gun - Cost"[/b]
    		"textAlignment"		"center"
    		"dulltext"			"1"
    		"brighttext"		"0"
    	}
    	"1-weapon1-img"
    	{
    		"ControlName"		"ImagePanel"
    		"fieldName"			"1-weapon1-img"
    		"xpos"				"30"
    		"ypos"				"85"
    		"wide"				"138"
    		"tall"				"48"
    		"autoResize"		"0"
    		"pinCorner"			"0"
    		"visible"			"1"
    		"enabled"			"1"
    		"textAlignment"		"center"
    // 1-weapon1-img
    		[b]"image"				"gfx/vgui/file"[/b]
    		"scaleImage"		"1"
    	}
    	"1-weapon1-bottom"
    	{
    		"ControlName"		"Button"
    		"fieldName"			"1-weapon1-bottom"
    		"xpos"				"30"
    		"ypos"				"85"
    		"wide"				"138"
    		"tall"				"63"
    		"autoResize"		"0"
    		"pinCorner"			"2"
    		"visible"			"1"
    		"enabled"			"1"
    		"tabPosition"		"0"
    		"labelText"			""
    // 1-weapon1-bottom
    		[b]"command"				"nst_buy_wpn "[/b]
    	}
    
    Ở phần
    Mã:
    		[b]"labelText"			"Name Gun - Cost"[/b]
    
    Các bạn thay Name Gun - Cost bằng tên súng và giá tiền (túm lại là đoạn mã hiển thị)

    Mã:
    		[b]"image"				"gfx/vgui/file"[/b]
    
    Các bạn thay file bằng tên file ảnh kèm luôn đường dẫn.

    Mã:
    		[b]"command"				"nst_buy_wpn "[/b]
    
    Vì là Cso-NSt đang dùng My WPn nên sẽ có phần này:
    Command.. là lệnh để mua súng hoặc chọn súng v.v..
    phần này có dạng "command" "nst_buy_wpn <tên models>" và đã được khai báo trong nst_wpn.ini.
    ví dụ mình đã khai báo khẩu MP5 mà lúc nãy Evee vừa share có tên models là mp5gold thì sẽ được "command" "nst_buy_wpn mp5gold"

    Rồi.. thế là đã xong.. mệt ghê.. àh còn 1 thủ thuật nữa:


    Mã:
    Vì 3 page đều có các khung như nhau.. ví dụ bạn muốn thêm 1 khẩu ở vị trí thứ 20 (cái cuối cùng góc bên trái) thì cứ mở 1 file có đoạn đó ví dụ
    NSTWpn_Rifles_2_CT.res
    và copy phần đó và chỉ việc thay đổi cấu trúc của 3 phần trên là OK =))
    
     
    Last edited by a moderator: 30/10/10
    Eveever thích bài này.
  3. Counter-Striker

    Counter-Striker T.E.T.Я.I.S

    Tham gia ngày:
    15/3/10
    Bài viết:
    517
    Nơi ở:
    GameVN | Counter
    [​IMG]

     
    Last edited by a moderator: 15/7/11
  4. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    part2 có nên lập thếm thớt ko nhỉ :-?..

    mới viết xong.. 2 hôm cứ loay quay ko vô đc 4rum khùng quá lỡ tay xóa...
    @trungtin: dựa trên menu của a tùng mừ ;))
     
  5. theanh11a5

    theanh11a5 - NOW ON - Moderator

    Tham gia ngày:
    8/10/09
    Bài viết:
    5,126
    Part 2 up luôn trong này đi Atick! Để tui sửa lại post thứ 2 cho nhé! ^^
     
  6. Orpheus

    Orpheus ♥ ♡ ToMaTo TasTe Kiss ♡ ♥ Moderator

    Tham gia ngày:
    30/3/09
    Bài viết:
    4,066
    Nơi ở:
    Kingdom Hearts
    up Part 2 lên đầu và sửa tên topic để dễ tìm kiếm ~
     
  7. sinichi2012

    sinichi2012 Mr & Ms Pac-Man

    Tham gia ngày:
    22/7/10
    Bài viết:
    168
    Nơi ở:
    I'm from Legend
    Em có ý kiến thế này: Bác phải chỉ rõ xem mấy cái file bác mở bằng text đó là file nào chứ,những người chưa động đến làm sao biết bác lấy từ đâu ? :):):):):).Bổ sung nhé bác :):):):)
     
  8. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    tội nghiệp Kid_bandes.. thế là mất tem :))

    đã edit lại theo snichi..

    ko bik còn thiếu j nữa ko.. mọi người cho ý kiến mình sẽ edit lại.. mấy cái này là do kiến thức mình mày mò đc nên chưa chắc đã đúng =.='.. xin chỉ giáo =.='
     
  9. n3wsh0p

    n3wsh0p Mario & Luigi

    Tham gia ngày:
    5/5/10
    Bài viết:
    805
    Nơi ở:
    Hà Nội
    hic mình làm nhưng khi vô game toàn lỗi. Cái buy menu thì nó hiện #nst_wpn
    ấn vào đó thì chẳng thấy gì. Hay là do mình ghi sai lệnh chăng
     
  10. protossscout

    protossscout Mega Man Lão Làng GVN

    Tham gia ngày:
    19/8/06
    Bài viết:
    3,397
    Nơi ở:
    BR
    rếp cho atick đã rồi chém thử xem thế nào ;))
     
  11. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    Giải thích sơ bộ một tí:

    gign: nên đặt tên nhân vật của mình cho dễ nhớ.. để an toàn thì đặt trùng với file res


    fieldName: Đối với classe Menu Character thì cái này chính là tên của file res trong Cstrike\Classes, còn với Buy Menu hay sao đó thì tùy... đặt sao cũng đc =))

    xpos; ypos: Quy định căn chỉnh vị trí.. trong hiển thị. (Đang tìm cách xác định vị trí.. Cái này chủ yếu là phải mò =.=')

    command: lệnh trong console để gia nhập đội nào đó. Sẽ nói sau

    labelText: Tên hiện trong cái khung đó (Tùy thuộc vào ControleName)
    Có thể hiện tên trong file Cstrike_English.txt


    VD: Trong file Cstrike_English.txt có dòng
    Mã:
    "Atickhem_GVN"	"NickName JLR"
    
    thì đặt trong file res
    Mã:
    "labelText"		"#Atickhem_GVN"
    
    Thêm # vào trước tên trong Cstike_English.txt
    Ko cần dùng có thể đặt tên trực tiếp cũng đc =]].. nhưng như thế thì khỏi làm = tiếng việt =]]

    [/code]


    đọc kỹ lại cái command nhé.. nếu ko có j là command sai :|
     
  12. sinichi2012

    sinichi2012 Mr & Ms Pac-Man

    Tham gia ngày:
    22/7/10
    Bài viết:
    168
    Nơi ở:
    I'm from Legend
    Mình muốn hỏi đoạn này bạn mở file nào thế mình tìm mãi không ra
    // #####################################################
    // ----------------------- PAGES -----------------------
    // #####################################################

    "page-1-bg"
    {
    "ControlName" "ImagePanel"
    "fieldName" "page-1-bg"
    "xpos" "325"
    "ypos" "46"
    "wide" "25"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "0"
    "visible" "1"
    "enabled" "1"
    "textAlignment" "center"
    "image" "resource/control/page"
    "scaleImage" "1"
    }
    "page-1-cmd"
    {
    "ControlName" "Button"
    "fieldName" "page-1-cmd"
    "xpos" "325"
    "ypos" "46"
    "wide" "20"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "2"
    "visible" "1"
    "enabled" "1"
    "tabPosition" "0"
    "labelText" "#csonst_page1"
    "textAlignment" "center"
    "dulltext" "0"
    "brighttext" "0"
    "Command" "Resource/UI/NSTWpn_Rifles_1.res"
    "Default" "1"
    }

    "page-2-bg"
    {
    "ControlName" "ImagePanel"
    "fieldName" "page-2-bg"
    "xpos" "360"
    "ypos" "46"
    "wide" "25"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "0"
    "visible" "1"
    "enabled" "1"
    "textAlignment" "center"
    "image" "resource/control/page"
    "scaleImage" "1"
    }
    "page-2-cmd"
    {
    "ControlName" "Button"
    "fieldName" "page-2-cmd"
    "xpos" "360"
    "ypos" "46"
    "wide" "20"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "2"
    "visible" "1"
    "enabled" "1"
    "tabPosition" "0"
    "labelText" "#csonst_page2"
    "textAlignment" "center"
    "dulltext" "0"
    "brighttext" "0"
    "Command" "Resource/UI/NSTWpn_Rifles_2.res"
    "Default" "1"
    }
    "page-3-bg"
    {
    "ControlName" "ImagePanel"
    "fieldName" "page-3-bg"
    "xpos" "395"
    "ypos" "46"
    "wide" "25"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "0"
    "visible" "1"
    "enabled" "1"
    "textAlignment" "center"
    "image" "resource/control/page"
    "scaleImage" "1"
    }
    "page-3-cmd"
    {
    "ControlName" "Button"
    "fieldName" "page-3-cmd"
    "xpos" "395"
    "ypos" "46"
    "wide" "20"
    "tall" "20"
    "autoResize" "0"
    "pinCorner" "2"
    "visible" "1"
    "enabled" "1"
    "tabPosition" "0"
    "labelText" "#csonst_page3"
    "textAlignment" "center"
    "dulltext" "0"
    "brighttext" "0"
    "Command" "Resource/UI/NSTWpn_Rifles_3.res"
    "Default" "1"
    }
    ingame.JPG ingame1.JPG
    Đây là hình ảnh mình đã thêm nhân vật vào game :-*:-*:-*:-*:-*:-*:-*:-*
     
  13. danhtuan05

    danhtuan05 Mr & Ms Pac-Man

    Tham gia ngày:
    18/5/10
    Bài viết:
    291
    tại sao e add file tga vào nó bị quay ngược lại là sao .help!
     
  14. sinichi2012

    sinichi2012 Mr & Ms Pac-Man

    Tham gia ngày:
    22/7/10
    Bài viết:
    168
    Nơi ở:
    I'm from Legend
    Quay 180 độ cái ảnh đó rồi mới add vào game:):):):):)
     
  15. dark_one

    dark_one Liu Kang, Champion of Earthrealm

    Tham gia ngày:
    4/11/08
    Bài viết:
    5,329
    Nơi ở:
    1337 Kr3w
    ^
    ^
    dùng soft nào đó sửa, flip ngược cái tga đó lại :-"
     
  16. sinichi2012

    sinichi2012 Mr & Ms Pac-Man

    Tham gia ngày:
    22/7/10
    Bài viết:
    168
    Nơi ở:
    I'm from Legend
    photoshop mình dùng cái đó:).Con nhưng cái khác mình cung chưa dùng

    ---------- Post added at 14:41 ---------- Previous post was at 14:27 ----------

    Bác nào chỉ em cái đoạn code kia là từ file nào không, hoặc gửi cho em luôn cũng được.Thanks trước):)::)):)
     
  17. Atick hem

    Atick hem The Warrior of Light

    Tham gia ngày:
    8/12/08
    Bài viết:
    2,015
    Nơi ở:
    Buôn Ma Thuật
    đoạn kia ở trong CSO-NST ấy :). mình chỉ ví dụ thôi mà..
     
  18. sinichi2012

    sinichi2012 Mr & Ms Pac-Man

    Tham gia ngày:
    22/7/10
    Bài viết:
    168
    Nơi ở:
    I'm from Legend
    Nhưng cụ thể là file nào? bạn mình tìm mai chẳng thấy đoạn code đó
     
  19. sinichi2012

    sinichi2012 Mr & Ms Pac-Man

    Tham gia ngày:
    22/7/10
    Bài viết:
    168
    Nơi ở:
    I'm from Legend
    Mình đã thêm được súng rồi nhưng mà chưa biết cách thêm page , bạn chỉ dùm mình nhé
     
  20. dark_one

    dark_one Liu Kang, Champion of Earthrealm

    Tham gia ngày:
    4/11/08
    Bài viết:
    5,329
    Nơi ở:
    1337 Kr3w
    ^
    đoạn đó ở trong CSO-NST\cstrike\resource\UI trong các file NSTWpn_Rifles_1(hay 2, 3)_CT (hoặc T).res
     

Chia sẻ trang này