Sziasztok van 1 plugin
Itt a cod
Kód:
/* [ZP] KnifeMod v1.0 */
#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <engine>
#include <fun>
#include <hamsandwich>
// VIP flag
#define VIP ADMIN_LEVEL_B
// Knifes
enum {
mastercombat = 1,
razor,
strong,
axe,
katana,
hammer
}
// Knifes parametres
enum {
name = 0,
v_model,
p_model,
sound_path
}
new playerKnife[33];
new knife[7][4][64] = {
{"Standart", "models/v_knife.mdl", "models/p_knife.mdl", "weapon/"},
{"MasterCombat", "models/ZMDark/v_mastercombatknife.mdl","models/ZMDark/p_mastercombatknife.mdl", "ZMDark/mastercombat/"},
{"Razor", "models/ZMDark/v_razor.mdl","models/ZMDark/p_razor.mdl", "ZMDark/razor/"},
{"Strong", "models/ZMDark/v_strong_knife.mdl", "models/ZMDark/p_strong_knife.mdl", "ZMDark/strong/"},
{"Axe", "models/ZMDark/v_axe_knife.mdl", "models/ZMDark/p_axe_knife.mdl", "ZMDark/axe/"},
{"Katana", "models/ZMDark/v_katana.mdl", "models/ZMDark/p_katana.mdl", "ZMDark/katana/"},
{"\yHammer (ADMIN/VIP)", "models/ZMDark/v_hammer.mdl", "models/ZMDark/p_hammer.mdl", "ZMDark/hammer/"}
}
new cvar_DMG
public plugin_init() {
register_plugin("[ZP] Knife Mod", "1.2", "Amdem/bag fix by DarkNill");
register_event("CurWeapon", "eventCurWeapon", "be");
register_forward(FM_EmitSound, "forwardEmitSound");
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
cvar_DMG = register_cvar("zp_xDMG", "5")
register_clcmd("say /knife", "knifesMenu", ADMIN_ALL, "[ZP] KnifeMod");
register_clcmd("knife", "knifesMenu", ADMIN_ALL, "[ZP] KnifeMod");
}
public plugin_precache() {
for(new i = 1; i <= 6; i++) {
precache_model(knife[i][1]);
precache_model(knife[i][2]);
}
precache_sound("ZMDark/mastercombat/knife_deploy1.wav");
precache_sound("ZMDark/mastercombat/knife_hit1.wav");
precache_sound("ZMDark/mastercombat/knife_hit2.wav");
precache_sound("ZMDark/mastercombat/knife_hit3.wav");
precache_sound("ZMDark/mastercombat/knife_hit4.wav");
precache_sound("ZMDark/mastercombat/knife_hitwall1.wav");
precache_sound("ZMDark/mastercombat/knife_slash1.wav");
precache_sound("ZMDark/mastercombat/knife_slash2.wav");
precache_sound("ZMDark/mastercombat/knife_stab.wav");
precache_sound("ZMDark/razor/knife_deploy1.wav");
precache_sound("ZMDark/razor/knife_hit1.wav");
precache_sound("ZMDark/razor/knife_hit2.wav");
precache_sound("ZMDark/razor/knife_hit3.wav");
precache_sound("ZMDark/razor/knife_hit4.wav");
precache_sound("ZMDark/razor/knife_hitwall1.wav");
precache_sound("ZMDark/razor/knife_slash1.wav");
precache_sound("ZMDark/razor/knife_slash2.wav");
precache_sound("ZMDark/razor/knife_stab.wav");
precache_sound("ZMDark/strong/knife_deploy1.wav");
precache_sound("ZMDark/strong/knife_hit1.wav");
precache_sound("ZMDark/strong/knife_hit2.wav");
precache_sound("ZMDark/strong/knife_hit3.wav");
precache_sound("ZMDark/strong/knife_hit4.wav");
precache_sound("ZMDark/strong/knife_hitwall1.wav");
precache_sound("ZMDark/strong/knife_slash1.wav");
precache_sound("ZMDark/strong/knife_slash2.wav");
precache_sound("ZMDark/strong/knife_stab.wav");
precache_sound("ZMDark/axe/knife_deploy1.wav");
precache_sound("ZMDark/axe/knife_hit1.wav");
precache_sound("ZMDark/axe/knife_hit2.wav");
precache_sound("ZMDark/axe/knife_hit3.wav");
precache_sound("ZMDark/axe/knife_hit4.wav");
precache_sound("ZMDark/axe/knife_hitwall1.wav");
precache_sound("ZMDark/axe/knife_slash1.wav");
precache_sound("ZMDark/axe/knife_slash2.wav");
precache_sound("ZMDark/axe/knife_stab.wav");
precache_sound("ZMDark/katana/knife_deploy1.wav");
precache_sound("ZMDark/katana/knife_hit1.wav");
precache_sound("ZMDark/katana/knife_hit2.wav");
precache_sound("ZMDark/katana/knife_hit3.wav");
precache_sound("ZMDark/katana/knife_hit4.wav");
precache_sound("ZMDark/katana/knife_hitwall1.wav");
precache_sound("ZMDark/katana/knife_slash1.wav");
precache_sound("ZMDark/katana/knife_slash2.wav");
precache_sound("ZMDark/katana/knife_stab.wav");
precache_sound("ZMDark/hammer/knife_deploy1.wav");
precache_sound("ZMDark/hammer/knife_hit1.wav");
precache_sound("ZMDark/hammer/knife_hit2.wav");
precache_sound("ZMDark/hammer/knife_hit3.wav");
precache_sound("ZMDark/hammer/knife_hit4.wav");
precache_sound("ZMDark/hammer/knife_hitwall1.wav");
precache_sound("ZMDark/hammer/knife_slash1.wav");
precache_sound("ZMDark/hammer/knife_slash2.wav");
precache_sound("ZMDark/hammer/knife_stab.wav");
}
public knifesMenu(id) {
if(!is_user_human(id)) {
client_print(id, print_chat, "");
return;
}
new menu = menu_create("\rВыберите тип ножа:", "menuHandler");
menu_additem(menu, knife[mastercombat][name]);
menu_additem(menu, knife[razor][name]);
menu_additem(menu, knife[strong][name]);
menu_additem(menu, knife[axe][name]);
menu_additem(menu, knife[katana][name]);
if(get_user_flags(id) & VIP) {
menu_additem(menu, knife[hammer][name]);
}
else {
menu_additem(menu, "\dHammer (ADMIN/VIP)");
}
menu_setprop(menu, MPROP_EXIT, -1);
menu_display(id, menu, 0);
return;
}
public menuHandler(id, menu, item) {
switch(item) {
case 0:{
playerKnife[id] = mastercombat;
}
case 1:{
playerKnife[id] = razor;
}
case 2:{
playerKnife[id] = strong;
}
case 3:{
playerKnife[id] = axe;
}
case 4:{
playerKnife[id] = katana;
}
case 5:{
if(get_user_flags(id) & VIP) {
playerKnife[id] = hammer;
}
else {
knifesMenu(id);
return;
}
}
}
setKnife(id);
return;
}
public setKnife(id) {
if(!is_user_human(id)) {
return;
}
new model[64];
pev(id, pev_viewmodel2, model, charsmax(model));
if(contain(model, "knife.mdl") != -1) {
set_pev(id, pev_viewmodel2, knife[playerKnife[id]][v_model]);
set_pev(id, pev_weaponmodel2, knife[playerKnife[id]][p_model]);
}
return;
}
public eventCurWeapon(id) {
if(read_data(2) != CSW_KNIFE) {
return;
}
setKnife(id);
}
public forwardEmitSound(id, channel, const sound[]) {
if(!is_user_alive(id) || !is_user_human(id) || !playerKnife[id])
return FMRES_IGNORED;
if(containi(sound, "weapons/knife_") != -1) {
new knifeSound[65];
copy(knifeSound, charsmax(knifeSound), sound);
replace(knifeSound, charsmax(knifeSound), "weapons/", knife[playerKnife[id]][sound_path]);
engfunc(EngFunc_EmitSound, id, CHAN_WEAPON, knifeSound, 1.0, ATTN_NORM, 0, PITCH_NORM);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
public client_putinserver(id) {
playerKnife[id] = random_num(1, 3);
setKnife(id);
return;
}
public client_disconnect(id) {
playerKnife[id] = 0;
return;
}
public is_user_human(id)
{
return !zp_get_user_zombie(id) && !zp_get_user_nemesis(id);
}
stock log_kill(killer, victim, weapon[],headshot) {
user_silentkill( victim );
message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( killer );
write_byte( victim );
write_byte( headshot );
write_string( weapon );
message_end();
new kfrags = get_user_frags( killer );
set_user_frags( killer, kfrags++ );
new vfrags = get_user_frags( victim );
set_user_frags( victim, vfrags++ );
return PLUGIN_CONTINUE
}
public fw_TakeDamage(victim, inflictor, attacker, Float: damage)
{
if(victim!=attacker)
{
if(is_user_connected(attacker))
{
if ( get_user_weapon( attacker ) == CSW_KNIFE && !zp_get_user_zombie(attacker))
{
SetHamParamFloat(4, damage * get_pcvar_float(cvar_DMG))
}
}
}
}
Es azta akarnam a felso pluginba ezeket a cravokat
Kód:
cvar_knock = register_cvar("zp_knife_power" , "10");
cvar_jump = register_cvar("zp_knife_jump" , "300.0");
cvar_knife_gore = register_cvar("zp_knife_effect" , "1");
cvar_dmgmult1 = register_cvar("zp_knife_dmg_muiti1" , "3");
cvar_dmgmult2 = register_cvar("zp_knife_dmg_muiti2" , "5");
cvar_dmgmult3 = register_cvar("zp_knife_dmg_muiti3" , "2");
cvar_knife_spd = register_cvar("zp_knife_spd" , "300");
cvar_jump_vip = register_cvar("zp_knife_jump_vip" , "280.0");
cvar_dmgmult_vip = register_cvar("zp_knife_dmg_vip" , "4");
cvar_knife_spd_vip = register_cvar("zp_knife_spd_vip" , "280");
cvar_knock_vip = register_cvar("zp_knife_power_vip" , "15");
Ha valaki Oszetenni a 2-ot akkor megkoszonnem

Elore is kosz!