[TUT] Tạo 1 Class Zombie

  • Thread starter Thread starter dias
  • Ngày gửi Ngày gửi

dias

Mega Man
Dành Cho Zombie Plague 4.3 Thôi Nha :D

Tôi sẽ cho bạn thấy làm thế nào để làm một class zombie đơn giản! chúng ta sẽ thực hiện một Class Zombie được gọi là "Gravity Zombie" và sẽ có trọng lực thấp.

Bước 1. chúng ta cần phải bao gồm "ZombiePlague"

Dòng đầu của file sma phải có. ( Bao Gồm zombie plague )
Mã:
#include <amxmodx>
#include <zombieplague>

Bước 2. Là làm các thuộc tính Cho Zombie

Mã:
// Zombie Attributes
new const zclass_name[] = { "Gravity Zombie" } // Tên Của ZOmbie
new const zclass_info[] = { "Low grav -HP" } // Mô Tả Zombie
new const zclass_model[] = { "zombie_Source" } // model
new const zclass_clawmodel[] = { "v_knife_zombie.mdl" } // claw model (cái hand ấy)
const zclass_health = 800 // Lượng Máu
const zclass_speed = 200 // Tốc Độ
const Float:zclass_gravity = 0.4 // Trọng Lượng
const Float:zclass_knockback = 0.6 // Độ Đẩy Lùi

Bước 3. Make a simple "new" code for teh next entry.

Mã:
// Class IDs
new g_zclassid1

Bước 4. Đăng kí 1 class zombie vào amx

Mã:
// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
 register_plugin("[ZP] Zombie Class: Gravity Zombie", "1.0", "Zombiezzz") 
 
 // Register the new class and store ID for reference
 g_zclassid1 = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) 
}

Bước 5. Làm Cho Class này khi dc player chọn sẽ hiển thị 1 Message
Mã:
public zp_user_infected_post ( id, infector )
{
              if (zp_get_user_zombie_class(id) == g_zclassid1)
             {
                  client_print(id, print_chat, "[ZP] You Have Choosen Gravity Zombie") 
             }
}

Khi XOng ta sẽ dc thế này:
Mã:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <zombieplague>
// Zombie Attributes
new const zclass_name[] = { "Gravity Zombie" } // name
new const zclass_info[] = { "Low Grav -HP" } // description
new const zclass_model[] = { "zombie_source" } // model
new const zclass_clawmodel[] = { "v_knife_zombie.mdl" } // claw model
const zclass_health = 800 // health
const zclass_speed = 200 // speed
const Float:zclass_gravity = 0.5 // gravity
const Float:zclass_knockback = 0.6 // knockback
// Class IDs
new g_zclassid1
// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
 register_plugin("[ZP] Zombie Class: Gravity Zombie", "1.0", "Zombiezzz") 
 
 // Register the new class and store ID for reference
 g_zclassid1 = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) 
}
public zp_user_infected_post ( id, infector )
{
              if (zp_get_user_zombie_class(id) == g_zclassid1)
             {
                  client_print(id, print_chat, "[ZP] You Have Choosen Gravity Zombie") 
             }
}

Đây là creat 1 loại zombie cơ bản. Còn creat 1 loại giống smoker, ghost,... thì phải pro hơn :D:D:D:D

Ai xem không hiểu thì xem bải = Tiếng anh:
http://forums.alliedmods.net/showthread.php?t=110938&highlight=Zombie
 
TEm!!!!!!!!!!!!
tạo class zombie hở?
chịu thôi :D
convert skin may ra mình còn biết chút :P
 
Cái này mình biết từ lâu rùi nhưng cũng cảm ơn bạn đã hướng dẫn chi tiết hơn ^^
Ah2, nếu tiện, bạn có thể chỉ mình cách đặt chổ headshot trên skin không, khi mình add zombie có vài skin bị cao quá và chỉ bắn ở dưới mới HS=>> Nhàm=="
Tks
 
Ông dias bới 1 bài cũ rích lên ở alliedmod ==!. Cái hiển thị client_print cũng có thể không cần sử dụng. Mọi người lưu ý nhé :D
 
Cũ nhưng chưa chắc có người làm dc :|
Làm dc thì im đi để người khác làm chứ b-(
 
Ta nói thế thì có ý gì đâu :-w. Đáng lẽ phải ghi tên topic là : Hướng dẫn tạo class zombie cho newbie chứ
misc.php
 
thôi , dừng dc rồi , tính nói thêm vài câu coi chừng xảy ra đỗ máu đấy
 
Nếu muốn chỉnh chiều cao của một con zombie thì làm như sau:
new Float:size_min[3], Float:size_max[3]
pev(id, pev_mins, size_min)
pev(id, pev_maxs, size_max)
// Bắt đầu đến tạo kích thước mới
size_min[1] -= giá trị Float
size_max[1] += giá trị Float
set_pev(id, pev_mins, size_min)
set_pev(id, pev_maxs, size_max)
//Thông thường 1 player có chỉ số min là -128.0 và max là 128.0 thì phải. Tôi cũng chẳng nhớ nữa :D Nếu bạn muốn, tôi gửi cho plugin mà đo min max của player. Làm dễ lắm. cái size_max[1] là giá trị y trong hình học không gian, đại diện cho chiều cao. Muốn tăng bao nhiêu thì chỉnh giá trị Float
 
Back
Top