Thursday, June 26, 2014

Một Vài Thông Tin Về pev_body


pev_bodylà một giá trị mà nói với các trò chơi mà submodel cần được nhìn thấy được.

Điều này có thể vô cùng mạnh mẽ với các model player, ngoại trừ không ai dường như đã sử dụng tính năng này để tiềm năng của nó được nêu ra. Như của bây giờ và như xa như tôi biết, CS chỉ sử dụng này để hiển thị bom trên người chơi.

Những gì có thể được thực hiện với giá trị này?Ví dụ, bạn có thể đặt tất cả các model và mũ trên máy chủ của bạn thành một model duy nhất. Điều này có rất nhiều ưu hơn khuyết điểm (bên dưới).

Làm thế nào để bạn thay đổi kết hợp?
Hãy nói rằng bạn có hai nhóm submodel như tôi - model và hats.

ĐÂY KHÔNG PHẢI LÀ CÁCH NÓ HOẠT ĐỘNG.
Model1 - ID: 0
Model2 - ID: 1
Model3 - ID: 2
Hat1 - ID: 3
Hat2 - ID: 4
Hat3 - ID: 5

ĐÂY LÀ CÁCH NÓ HOẠT ĐỘNG
Model1 - ID: 0
Model2 - ID: 1
Model3 - ID: 2
Hat1 - ID: 0
Hat2 - ID: 1
Hat3 - ID: 2

Cho chỉ có hai nhóm, bạn muốn sử dụng để có được số lượng pev_body bạn cần:

Code:
pev_body = hat_id * amount_of_models + model_id

Vì vậy, hãy nói rằng bạn muốn cung cấp cho người chơi Model 2 với Hat 3.
pev_body = 2 * 3 + 1 = 7

Tôi đã không cố gắng làm việc với các nhóm hơn nữa, tôi sẽ báo cáo lại một lần tôi làm.


Những gì có thể được thực hiện với điều này?


Bạn có thể ví dụ như làm một plugin cho tùy biến nhân vật đầy đủ. Tạo ra một mô hình với các bộ phận cơ thể như khuôn mặt, mái tóc, kích thước ngực, vv và cho phép người chơi lựa chọn những gì phù hợp với mình.

Ưu điểm:

- Tất cả các model là trong một tập tin lớn hơn, mang đến cho một "cảm giác" tốt hơn khi tải
- Một cách tuyệt vời để giảm số lượng các tập tin trên máy chủ của bạn precached
- Kích thước tập tin nhỏ hơn rất nhiều so với tất cả các mô hình từng người một với nhau, bởi vì các bản sao (thông tin mô hình, hình động vv) được loại bỏ
- Đối với mũ và như vậy, bạn không cần một plugin của bên thứ 3 để xử lý nó (tạo ra một thực thể mới, đặt nó là nguồn gốc, vv)
- Model + mũ vẫn là một thực thể duy nhất
- Rất nhiều khả năng mới

Nhược Điểm:

- Thêm model hơn sẽ đòi hỏi một tải mới của tập tin hoàn chỉnh
- Không quá dễ dàng để làm việc với
- Trình biên dịch là một khốn
- Các mô hình cuối cùng yêu cầu tất cả các mô hình Counter-Strike đã tồn tại, nếu bạn muốn làm cho nón có sẵn cho các mô hình tiêu chuẩn như là tốt
- Người chơi sẽ không thể nhìn thấy mô hình tùy chỉnh của họ

Vấn đề hiện tại:

- Trình biên dịch vẫn bị treo vì một lý do, sản xuất một mô hình chưa hoàn thành (chia kết cấu)
- Cần phải tìm ra cách để thêm các mô hình chia thành các phần như một submodel. Hiện nay, nó cho biết thêm từng phần như một submodel (xem ví dụ mô hình: nhóm modely ', mô hình con 5 và 6
- Cần phải làm cho các quả bom có thể nhìn thấy, tôi sẽ thêm nó vào một nhóm hoàn toàn mới và xem những gì nó như thế nào.
- Edit: biên dịch rơi khi kích thước tập tin là trên 4 MB. Cố gắng tìm một khoảng cách này (model chia tách)
Nếu bạn biết làm thế nào để giải quyết bất kỳ vấn đề trên, vui lòng cho tôi biết.


Sử dụng plugin này nhỏ với mô hình bao gồm để xem tính năng này là những gì có khả năng

Code:
#include < amxmodx > #include < fakemeta > #include < cstrike >     new const cstModel[ ] = "models/player/testmdl/testmdl.mdl" new const cstModelT[ ] = "models/player/testmdl/testmdlt.mdl" new const cstMdlName[ ] = "testmdl" public plugin_precache( ) {     precache_model( cstModel )     precache_model( cstModelT ) } public plugin_init( ) {     register_clcmd( "pev_body", "_body" )     register_clcmd( "changemdl", "_changemdl" ) } public _body( id ) {     new szArgs[ 4 ]     read_args( szArgs, charsmax( szArgs ) )         remove_quotes( szArgs )     trim( szArgs )         new iPev = str_to_num( szArgs )         set_pev( id, pev_body, iPev )         client_print( id, print_console, "Changing your pev_body value to %d", iPev )         return PLUGIN_HANDLED } public _changemdl( id ) {     cs_set_user_model( id, cstMdlName )     client_print( id, print_console, "Your model was changed to %s. You can now change your pev_body value using console command 'pev_body'.", cstMdlName ) }

Bảng giá trị:

Code:
MODEL NAME   HAT   PEV_BODY

T Model 1   Indian Hat  0
T Model 2   Indian Hat  1 
CT Model 1   Indian Hat  2
Hitman    Indian Hat  3
Banana (eyes)   Indian Hat  4
Banana (rest)   Indian Hat  5
CT Model 2   Indian Hat  6
Assassin   Indian Hat  7

T Model 1   Afro   8
T Model 2   Afro   9 
CT Model 1   Afro   10
Hitman    Afro   11
Banana (eyes)   Afro   12
Banana (rest)   Afro   13
CT Model 2   Afro   14
Assassin   Afro   15

T Model 1   Minecraft  16
T Model 2   Minecraft  17 
CT Model 1   Minecraft  18
Hitman    Minecraft  19
Banana (eyes)   Minecraft  20
Banana (rest)   Minecraft  21
CT Model 2   Minecraft  22
Assassin   Minecraft  23

T Model 1   Fly   24
T Model 2   Fly   25 
CT Model 1   Fly   26
Hitman    Fly   27
Banana (eyes)   Fly   28
Banana (rest)   Fly   29
CT Model 2   Fly   30
Assassin   Fly   31

T Model 1   Wings (broken)  32
T Model 2   Wings (broken)  33 
CT Model 1   Wings (broken)  34
Hitman    Wings (broken)  35
Banana (eyes)   Wings (broken)  36
Banana (rest)   Wings (broken)  37
CT Model 2   Wings (broken)  38
Assassin   Wings (broken)  39
Bạn có thể xem submodels trong HLMV trong "bộ phận cơ thể" tab.

UPDATE

Thanks for reading.

HUGE UPDATE

Được rồi, đây là nhận được thậm chí tốt hơn so với tôi nghĩ rằng nó sẽ.

Ảnh động
Mỗi mô hình có khoảng 120 trình tự. Có gì buồn cười về việc này là một mô hình trung bình có kích cỡ 2.3MB - 2

megabytesđó là những hình ảnh động. Có nghĩa là nếu bạn đang đi để kết hợp 5 mô hình kích thước 2.3MB mỗi, kích thước cuối cùng của bạn sẽ được 2MB cho các hình ảnh động + 5 * 300kB = 3.5MB tổng số.

Bomb and defusal kit
Tôi đã thực hiện những mô hình mới trong của tôi. Chức năng để có được ID pev_body như sau:

Code:
stock get_bodyid( iModelId, iHatId, bool: bBomb, bool: bDefusalKit ) {     new iPevBody = iHatId * g_TotalModels + iModelId         if( bBomb )         iPevBody += ( g_TotalModels * g_TotalHats )             if( bDefusalKit )         iPevBody += ( g_TotalModels * g_TotalHats * 2 )         return iPevBody }
Tôi không chắc chắn về điều này - đã không kiểm tra được chưa.

New model
Các mô hình mới là trong file đính kèm. Có 17 model và 39 mũ - tổng kích thước: 11.15MB. Tôi đã gỡ bỏ các hình ảnh động lá chắn, vì họ vô ích cho tôi. Hai mô hình là bản sao (xấu của tôi), vì tôi quên để đổi tên các kết cấu trong số này, vì vậy họ chỉ thay thế các kết cấu khác.

Limits

Các giới hạn cho các mô hình kết hợp là:
- Tối đa 16MB kích cỡ
- Tên Texture đôi khi cần phải được thay đổi hoặc họ sẽ bị ghi đè bởi các mô hình khác
- Tối đa 40 phụ model cho mỗi nhóm (39 mũ, bởi vì là người đầu tiên có sản phẩm nào)

Lưu ý các HatID đầu tiên không còn 0 (ID 0 là "không có gì", chúng tôi đang thiết HatID 0 cho những người không có bất kỳ mũ)

0 nhận xét:

Post a Comment