#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