PHP Code:
new team[33];
public plugin_init() {
// Ham's
//
//
//
//
RegisterHam(Ham_TakeDamage, "player", "fwdTakeDamage", 0)
// event's
//
//
//
//
register_event("DeathMsg", "hook_death", "a", "1>0")
}
public client_connect(id) {
team[id] = 0;
}
public TeamMenu(id) {
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], nName[64]
new access, callback
menu_item_getinfo(menu, item, access, data, 5, nName, 63, callback)
new key = str_to_num(data)
switch(key) {
case 1: {
strip_user_weapons(id)
give_item(id, "weapon_knife")
cs_reset_user_model(id)
cs_set_user_model(id, Lycan)
give_speed[id] = true
fm_give_item(id, "item_longjump")
lycan_knife[id] = true
vampire_knife[id] = false
human_knife[id] = false
set_user_health(id, 800)
team[id] = 1
DontTouchWeapon = true
set_user_maxspeed(id, lycan_speed)
client_cmd(id, "spk %s", LycanSoundFile[random(sizeof LycanSoundFile)])
}
case 2: {
strip_user_weapons(id)
give_item(id, "weapon_knife")
cs_reset_user_model(id)
cs_set_user_model(id, Vampire)
set_user_gravity(id, 0.3)
lycan_knife[id] = false
vampire_knife[id] = true
human_knife[id] = false
team[id] = 2
set_user_health(id, 650)
give_speed[id] = true
DontTouchWeapon = true
set_user_maxspeed(id, vampire_speed)
}
case 3: {
strip_user_weapons(id)
give_item(id, "weapon_knife")
cs_reset_user_model(id)
cs_set_user_model(id, Human)
set_user_health(id, 500)
lycan_knife[id] = false
vampire_knife[id] = false
human_knife[id] = true
give_speed[id] = true
team[id] = 3
DontTouchWeapon = false
set_user_maxspeed(id, human_speed)
weaponmenu(id)
}
}
return PLUGIN_HANDLED
}
public fwdTakeDamage(pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits) {
if(!is_user_alive(pevAttacker)) {
return HAM_HANDLED;
}
if(get_user_team(pevAttacker)) {
if(lycan_knife[pevAttacker]) {
SetHamParamFloat( 4 , flDamage * LYCAN_DMG)
}
if(vampire_knife[pevAttacker]) {
SetHamParamFloat( 4 , flDamage * VAMPIRE_DMG)
}
if(human_knife[pevAttacker]) {
SetHamParamFloat( 4 , flDamage * HUMAN_DMG)
}
}
if(team[pevAttacker] == team[pevVictim] && team[pevAttacker] != 0 && get_cvar_num("mp_friendlyfire")) {
client_print(pevAttacker,print_chat,"You can't hurt teammates!")
client_print(pevAttacker,print_center,"You can't hurt teammates!")
return HAM_SUPERCEDE
}
return HAM_IGNORED
}
public hook_death() { // this is just vampire team will be special.
nKiller = read_data(1)
if(team[read_data(1)] = 2) { // What can I use instead of "team[read_data(1)] = 2"...?
if ((read_data(3) == 1) && (read_data(5) == 0)) {
nHpAdd = get_pcvar_num (hp_add_hs)
} else {
nHpAdd = get_pcvar_num (hp_add)
nMax_hp = get_pcvar_num (max_hp)
}
nKillerhp = get_user_health(nKiller)
nKillerhp += nHpAdd
if(nKillerhp > nMax_hp) nKillerhp = nMax_hp
set_user_health(nKiller, nKillerhp)
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "You +%d HP win", nHpAdd)
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(75)
message_end()
}
}