Witam. W tym poradniku przedstawię jak dodać nóż w pluginie KnifeMod. A więc przejdźmy od razu do rzeczy.
1. Dodanie cvar'ów.
register_clcmd("say /knife", "display_knife")
CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
CVAR_DAMAGE = register_cvar("km_damage", "2")
CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
a) Po sv_gravity mój przypadek to:
CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
b) Wygląda to teraz tak:
register_clcmd("say /knife", "display_knife")
CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
CVAR_DAMAGE = register_cvar("km_damage", "2")
CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
2. Dodanie Modeli.
public plugin_precache() {
precache_model("models/knife-mod/v_butcher.mdl")
precache_model("models/knife-mod/p_butcher.mdl")
precache_model("models/knife-mod/v_machete.mdl")
precache_model("models/knife-mod/p_machete.mdl")
precache_model("models/knife-mod/v_bak.mdl")
precache_model("models/knife-mod/p_bak.mdl")
precache_model("models/knife-mod/v_pocket.mdl")
precache_model("models/knife-mod/p_pocket.mdl")
precache_model("models/v_knife.mdl")
precache_model("models/p_knife.mdl")
a) po "models/p_knife.mdl" dodajemy ścieżkę do modelu. W moim przypadku wygląda to tak:
precache_model("models/knife-mod/p_pala.mdl")
precache_model("models/knife-mod/v_pala.mdl")
3. MENU WYBORU NOŻY
public display_knife(id) {
new menuBody[512]
add(menuBody, 511, "\rKnife Mod\w^n^n")
add(menuBody, 511, "1. Machete \y(More Damage/Low Speed)\w^n")
add(menuBody, 511, "2. Bak Knife \y(No Footsteps)\w^n")
add(menuBody, 511, "3. Pocket Knife \y(High Speed)\w^n")
add(menuBody, 511, "4. Butcher Knife \y(Low Gravity)\w^n")
add(menuBody, 511, "5. Default Knife \y(Health Regeneration)\w^n^n")
add(menuBody, 511, "0. Exit^n")
a) Ja sobie dodam nowe
add(menuBody, 511, "5. Pala strażnika \y(Broń CT)\w^n")
b) wygląda to teraz tak:
public display_knife(id) { new menuBody[512] add(menuBody, 511, "\rKnife Mod\w^n^n") add(menuBody, 511, "1. Machete \y(More Damage/Low Speed)\w^n") add(menuBody, 511, "2. Bak Knife \y(No Footsteps)\w^n") add(menuBody, 511, "3. Pocket Knife \y(High Speed)\w^n") add(menuBody, 511, "4. Butcher Knife \y(Low Gravity)\w^n") add(menuBody, 511, "5. Default Knife \y(Health Regeneration)\w^n^n")
add(menuBody, 511, "5. Pala strażnika \y(Broń CT)\w^n")
add(menuBody, 511, "0. Exit^n")
4. Modele (co innego)
public SetKnife(id , Knife) {
knife_model[id] = Knife
new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
if ( Weapon != CSW_KNIFE )
return PLUGIN_HANDLED
new vModel[56],pModel[56]
switch(Knife)
{
case 0: {
format(vModel,55,"models/v_knife.mdl")
format(pModel,55,"models/p_knife.mdl")
}
case 1: {
format(vModel,55,"models/knife-mod/v_butcher.mdl")
format(pModel,55,"models/knife-mod/p_butcher.mdl")
}
case 2: {
format(vModel,55,"models/knife-mod/v_bak.mdl")
format(pModel,55,"models/knife-mod/p_bak.mdl")
}
case 3: {
format(vModel,55,"models/knife-mod/v_pocket.mdl")
format(pModel,55,"models/knife-mod/p_pocket.mdl")
}
case 4: {
format(vModel,55,"models/knife-mod/v_machete.mdl")
format(pModel,55,"models/knife-mod/p_machete.mdl")
}
}
Po
case 4: {format(vModel,55,"models/knife-mod/v_machete.mdl")
format(pModel,55,"models/knife-mod/p_machete.mdl")
}
dodajemy
case 5: {
format(vModel,55,"models/knife-mod/v_pala.mdl")
format(pModel,55,"models/knife-mod/p_pala.mdl")
}
a) wygląda tak:
public SetKnife(id , Knife) {
knife_model[id] = Knife
new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
if ( Weapon != CSW_KNIFE )
return PLUGIN_HANDLED
new vModel[56],pModel[56]
switch(Knife)
{
case 0: {
format(vModel,55,"models/v_knife.mdl")
format(pModel,55,"models/p_knife.mdl")
}
case 1: {
format(vModel,55,"models/knife-mod/v_butcher.mdl")
format(pModel,55,"models/knife-mod/p_butcher.mdl")
}
case 2: {
format(vModel,55,"models/knife-mod/v_bak.mdl")
format(pModel,55,"models/knife-mod/p_bak.mdl")
}
case 3: {
format(vModel,55,"models/knife-mod/v_pocket.mdl")
format(pModel,55,"models/knife-mod/p_pocket.mdl")
}
case 4: {
format(vModel,55,"models/knife-mod/v_machete.mdl")
format(pModel,55,"models/knife-mod/p_machete.mdl")
}
case 5: {
format(vModel,55,"models/knife-mod/v_pala.mdl")
format(pModel,55,"models/knife-mod/p_pala.mdl")
}
}
5. Reszta - Dodajemy cvary, na dole jest podane jak to wygląda u Mnie.
public task_healing(id) {
new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)
if (!addhealth)
return
new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)
if (maxhealth > MAX_HEALTH) {
set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)
maxhealth = MAX_HEALTH
}
new health = get_user_health(id)
Poradnik wykonany w 100% przeze Mnie. Kopiowanie tylko i wyłącznie za moją zgodą.