#include <amxmodx>
#include <codmod>
#include <engine>
#include <fakemeta>
new bool:ma_klase[33];
new const nazwa[] = "Soldat (P)";
new const opis[] = "Dostajesz Golden M4a1, Golden deagle + 2x wieksze obrazenia oraz Golden Noz, po wybraniu go jestes bardzo szybki!";
new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_FIVESEVEN)|(1<<CSW_MP5NAVY);
new const zdrowie = 15;
new const kondycja = 5;
new const inteligencja = 0;
new const wytrzymalosc = 10;
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("CurWeapon", "CurWeapon", "be", "1=1")
register_forward(FM_SetModel, "fw_SetModel");
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public plugin_precache()
{
precache_model("models/east/soldat/p_m4a1.mdl");
precache_model("models/east/soldat/v_m4a1.mdl");
precache_model("models/east/soldat/p_deagle.mdl");
precache_model("models/east/soldat/v_deagle.mdl");
precache_model("models/east/soldat/p_knife.mdl");
precache_model("models/east/soldat/v_knife.mdl");
}
public CurWeapon(id)
{
new weapon = read_data(2);
if(ma_klase[id])
{
if(weapon == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, "models/east/soldat/v_m4a1.mdl")
set_pev(id, pev_weaponmodel2, "models/east/soldat/p_m4a1.mdl")
if(weapon == CSW_DEAGLE )
{
set_pev(id, pev_viewmodel2, "models/east/soldat/v_deagle.mdl")
set_pev(id, pev_weaponmodel2, "models/east/soldat/p_deagle.mdl")
if(weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/east/soldat/v_knife.mdl")
set_pev(id, pev_weaponmodel2, "models/east/soldat/p_knife.mdl")
}
}
}
public fw_SetModel(entity, model[])
{
if(!pev_valid(entity))
return FMRES_IGNORED
if(!equali(model, "models/w_m4a1.mdl")&&!!equali(model, "models/w_deagle.mdl")&&!!equali(model, "models/w_knife.mdl"))
return FMRES_IGNORED;
new entityowner = pev(entity, pev_owner);
if(!ma_klase[entityowner])
return FMRES_IGNORED;
if(equali(model, "models/east/w_m4a1.mdl"))
engfunc(EngFunc_SetModel, entity, "models/east/w_deagle.mdl")
else if(equali(model, "models/w_m4a1.mdl"))
engfunc(EngFunc_SetModel, entity, "models/east/w_knife.mdl")
return FMRES_SUPERCEDE
}To samo co wyżej, poprawa klasy :
[CODE]
#include <amxmodx>
#include <amxmisc>
#include <codmod>
new const nazwa[] = "Zabojca";
new const opis[] = "Regneruje sie hp co 5 sek (+15)";
new const bronie = (1<<CSW_P228)|(1<<CSW_AK47);
new const zdrowie = 40;
new const kondycja = 20;
new const inteligencja = 0;
new const wytrzymalosc = 10;
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}
public ZabierzHP(id)
{
if(is_user_alive(id))
set_user_health(id, get_user_health(id)+15);
}
[/CODE]
A w tej klasie dodanie menu jak wybierzę klase to mu je się wyświetla
takie menu :
[CODE]
Noz Kondycji \d[+50 kondycji + x2 FlashBank]
Noz Witalnosci \d[+50 + SG Grenade]
Noz Wytrzymalosci \d[+50 + HE Grenade]
[/CODE]
Jak wybierze jedną z opcij otrzymuje te staty. A to kod sma :
[CODE]
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
new const nazwa[] = "Komandos";
new const opis[] = "Natychmiastowe zabicia z noza (PPM), bardzo szybki, dostaje Deagle";
new const bronie = (1<<CSW_DEAGLE);
new const zdrowie = 30;
new const kondycja = 100;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new ostatnio_prawym[33];
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios");
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios");
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public fwTakeDamage_JedenCios(id, ent, attacker)
{
if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE && ostatnio_prawym[id])
{
cs_set_user_armor(id, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(id) + 1));
return HAM_HANDLED;
}
return HAM_IGNORED;
}
public fwPrimaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 1;
}
public fwSecondaryAttack_JedenCios(ent)
{
new id = pev(ent, pev_owner);
ostatnio_prawym[id] = 0;
}
Użytkownik WiWa edytował ten post 29.05.2012 17:43


Dodatki SourceMod










