#include <amxmodx>
#include <engine>
#include <zombieplague>
#define PLUGIN "[ZP] 3rd person view"
#define VERSION "1.1"
#define AUTHOR "The_Thing"
new g_item_name[] = { "3D Szemely Nezet" }
new g_itemid_view, g_view_toggle, g_view_cost, g_thirdperson_mode
new bool:g_hasView[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_view_toggle = register_cvar("zp_3rdview", "1")
g_view_cost = register_cvar("zp_view_cost", "6")
g_thirdperson_mode = register_cvar("zp_thirdperson_mode", "1")
register_clcmd("say /3d", "fnView_Thirdperson")
register_clcmd("say_team /3d", "fnView_Thirdperson")
g_itemid_view = zp_register_extra_item(g_item_name, get_pcvar_num(g_view_cost), ZP_TEAM_HUMAN & ZP_TEAM_ZOMBIE)
register_event("DeathMsg", "Death", "a")
}
public client_connect(id)
{
g_hasView[id] = false
}
public client_disconnect(id)
{
g_hasView[id] = false
}
public Death()
{
new id = read_data( 2 )
if ( g_hasView[id] )
set_view(id, CAMERA_NONE)
}
public Event(id)
{
if ( get_pcvar_num(g_thirdperson_mode) == 1 )
set_task(0.5, "fnView_Thirdperson", id)
}
public zp_extra_item_selected(player, itemid)
{
if (itemid == g_itemid_view)
{
if ( is_user_alive(player) )
{
set_view(player, CAMERA_3RDPERSON)
set_task(0.5, "fnView_Thirdperson", player)
}
}
}
public fnView_Thirdperson(id)
{
if ( !get_pcvar_num(g_view_toggle) )
{
client_print(id, print_chat, "[ZP] A plugin jelenleg nem aktiv.")
return PLUGIN_HANDLED
}
if ( !is_user_alive(id) )
{
client_print(id, print_chat, "[ZP] A halottak nem vehetik meg ezt a cuccot !")
return PLUGIN_HANDLED
}
if ( g_hasView[id] )
{
client_print(id, print_chat, "[ZP] Te mar megvetted 1x ezt a cuccot !")
return PLUGIN_HANDLED
}
new money = zp_get_user_ammo_packs(id)
if ( money < get_pcvar_num(g_view_cost) )
{
client_print(id, print_chat, "[ZP] Nincs eleg Loszer Csomagod !")
return PLUGIN_HANDLED
}
if ( is_user_alive(id) )
{
set_view(id, CAMERA_3RDPERSON)
set_task(0.5, "fnView_Thirdperson", id)
}
zp_set_user_ammo_packs(id, money - get_pcvar_num(g_view_cost))
client_print(id, print_chat, "[ZP] Sikeresen megvetted a 3D Nezetet !")
return PLUGIN_CONTINUE
}
public plugin_precache()
{
precache_model("models/rpgrocket.mdl")
}