////////////////////////////////////////////////////////////////////////////////////////////
// Created By: FloxaY //
// Copyright® //
// 2014 -- 2015 //
////////////////////////////////////////////////////////////////////////////////////////////
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <engine>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <nvault>
#define PLUGIN "Kesmenu"
#define VERSION "1.0.0"
#define AUTHOR "FloxaY"
#define VIP_JOG ADMIN_LEVEL_H
new v_alap[] = "models/kesmenu/v_alap.mdl" //modellek
new v_ugras[] = "models/kesmenu/v_ugras.mdl" //modellek
new v_gyors[] = "models/kesmenu/v_gyors.mdl" //modellek
new v_sebzes[] = "models/kesmenu/v_sebzes.mdl" //modellek
new v_halado[] = "models/kesmenu/v_halado.mdl" //modellek
new v_felisten[] = "models/kesmenu/v_felisten.mdl" //modellek
new v_halhatatlan[] = "models/kesmenu/v_halhatatlan.mdl" //modellek
new v_vip1[] = "models/kesmenu/v_vip1.mdl" //modellek
new bool:b_alap[33]
new bool:b_ugras[33]
new bool:b_gyorsasag[33]
new bool:b_sebzes[33]
new bool:b_halado[33]
new bool:b_felisten[33]
new bool:b_halhatatlan[33]
new bool:b_vip1[33]
new olesek[33]
new szorzo
new name[33][32]
new g_vault
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /kes","kesmenu")
register_clcmd("say /knife","kesmenu")
register_clcmd("team_say /kes","kesmenu")
register_clcmd("team_say /knife","kesmenu")
//register_clcmd("say //topoles","top")
//register_clcmd("team_say /topoles","top")
register_event("DeathMsg", "halal", "a")
register_event("CurWeapon", "curwep", "be", "1=1")
szorzo = register_cvar("sebzes_kes_szorzo", "2")
g_vault = nvault_open("Kesmenu_Olesek")
register_event("ResetHUD", "resetModel", "b")
}
public plugin_precache() {
precache_model(v_alap)
precache_model(v_ugras)
precache_model(v_gyors)
precache_model(v_sebzes)
precache_model(v_halado)
precache_model(v_felisten)
precache_model(v_halhatatlan)
precache_model(v_vip1)
precache_model("models/player/vip_ct/vip_ct.mdl")
precache_model("models/player/vip_te/vip_te.mdl")
}
public resetModel(id, level, cid) {
if (get_user_flags(id) & VIP_JOG) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "admin_te")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "admin_ct")
}
else {
cs_reset_user_model(id)
}
}
return PLUGIN_CONTINUE
}
public damagetake(victim, inflictor, attacker, Float:damage)
{
if(b_sebzes[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
{
SetHamParamFloat(4, damage * get_pcvar_float(szorzo))
}
}
public curwep(id) {
new weapon = get_user_weapon(id)
if(b_alap[id] && weapon == CSW_KNIFE) {
set_pev(id, pev_viewmodel2, v_alap)
}
if(b_ugras[id] && weapon == CSW_KNIFE) {
set_pev(id, pev_viewmodel2, v_ugras)
set_user_gravity(id, 0.6)
}
if(b_gyorsasag[id] && weapon == CSW_KNIFE) {
set_pev(id, pev_viewmodel2, v_gyors)
set_user_maxspeed(id, 450)
}
if(b_sebzes[id] && weapon == CSW_KNIFE) {
set_pev(id, pev_viewmodel2, v_sebzes)
}
if(b_halado[id] && weapon == CSW_KNIFE) {
set_pev(id, pev_viewmodel2, v_halado)
set_user_maxspeed(id, 450)
set_user_gravity(id, 0.6)
}
if(b_felisten[id] && weapon == CSW_KNIFE) {
set_pev(id, pev_viewmodel2, v_felisten)
set_user_maxspeed(id, 450)
set_user_gravity(id, 0.6)
set_task(3.5 , "task_healing",id,_,_,"b")
}
if(b_halhatatlan[id] && weapon == CSW_KNIFE) {
set_pev(id, pev_viewmodel2, v_halhatatlan)
set_user_maxspeed(id, 450)
set_user_gravity(id, 0.6)
set_task(3.5 , "task_healing",id,_,_,"b")
b_sebzes[id] = true
}
if(b_vip1[id] && weapon == CSW_KNIFE && get_user_flags(id) & VIP_JOG) {
set_pev(id, pev_viewmodel2, v_vip1)
set_user_maxspeed(id, 450)
set_user_gravity(id, 0.6)
}
public halal()
{
if(read_data(1) != read_data(2))
if(get_user_weapon(read_data(1)) == CSW_KNIFE) {
{
olesek[read_data(1)] ++
}
}
}
public top(id) {
}
public kesmenu(id) {
new menu = menu_create("Valassz kest", "kesmenu_case");
new oles = olesek[id]
new szText[555 char]
menu_additem(menu, "Alap kes", "0", 0); //0
formatex( szText, charsmax( szText ), "Gravitációs kés[+20%grav](%d|30)", oles)
menu_additem(menu, szText, "1", 0) //1 30 ölés
formatex( szText, charsmax( szText ), "Gyors kés [+20%grav](%d|60)", oles)
menu_additem(menu, szText, "2", 0); //2 60 ölés
formatex( szText, charsmax( szText ), "Nagy sebzés kés[+10% Ütés](%d|200)", oles)
menu_additem(menu, szText, "4", 0); //4 200 ölés
formatex( szText, charsmax( szText ), "Haladó kés(%d|450)", oles)
menu_additem(menu, szText, "5", 0); //5 450 ölés
formatex( szText, charsmax( szText ), "Felisten kes(%d|700)", oles)
menu_additem(menu, szText, "6", 0); //6 700 ölés
formatex( szText, charsmax( szText ), "Halhatatlan kes(%d|1000)", oles)
menu_additem(menu, szText, "7", 0); //7 1000 ölés
formatex( szText, charsmax( szText ), "VIP kes(0 oles csak VIP-nek)")
menu_additem(menu, szText, "8", 0); //8 0 ölés
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_PERPAGE, 7);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Kovetkezo");
menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
menu_setprop(menu, MPROP_NOCOLORS, 1);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public kesmenu_case(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_cancel(id);
return PLUGIN_HANDLED;
}
new command[6], name[64], access, callback;
menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
switch(item)
{
case 0: //alap
{
alap(id)
}
case 1: //ugras
{
if(olesek[id] >= 30) {
ugras(id)
}
else {
ColorChat(id, GREEN,"[*|P|eac|E|*] Sajnos Nincs elég ölésed")
}
}
case 2: //gyors
{
if(olesek[id] >= 60) {
gyors(id)
}
else {
ColorChat(id, GREEN,"[*|P|eac|E|*] Sajnos Nincs elég ölésed")
}
}
case 4: //sebzes
{
if(olesek[id] >= 200) {
sebzes(id)
}
else {
ColorChat(id, GREEN,"[*|P|eac|E|*] Sajnos Nincs elég ölésed")
}
}
case 5: //halado
{
if(olesek[id] >= 450) {
halado(id)
}
else {
ColorChat(id, GREEN,"[*|P|eac|E|*] Sajnos Nincs elég ölésed")
}
}
case 6: //felisten
{
if(olesek[id] >= 700) {
felisten(id)
}
else {
ColorChat(id, GREEN,"[*|P|eac|E|*] Sajnos Nincs elég ölésed")
}
}
case 7: //halhatatlan
{
if(olesek[id] >= 1000) {
halhatatlan(id)
}
else {
ColorChat(id, GREEN,"[*|P|eac|E|*] Sajnos Nincs elég ölésed")
}
}
case 8: //vip1
{
if(get_user_flags(id) & VIP_JOG) {
vip1(id)
}
else {
ColorChat(id, GREEN,"[*|P|eac|E|*] Sajnos Nem vagy VIP!!")
}
}
}
return PLUGIN_HANDLED
}
public alap(id) {
b_alap[id] = true
b_halado[id] = false
b_felisten[id] = false
b_halhatatlan[id] = false
b_ugras[id] = false
b_gyorsasag[id] = false
b_sebzes[id] = false
b_vip1[id] = false
}
public ugras(id) {
b_alap[id] = false
b_halado[id] = false
b_felisten[id] = false
b_halhatatlan[id] = false
b_ugras[id] = true
b_gyorsasag[id] = false
b_sebzes[id] = false
b_vip1[id] = false
}
public gyors(id) {
b_alap[id] = false
b_halado[id] = false
b_felisten[id] = false
b_halhatatlan[id] = false
b_ugras[id] = false
b_gyorsasag[id] = true
b_sebzes[id] = false
b_vip1[id] = false
}
}
public sebzes(id) {
b_alap[id] = false
b_halado[id] = false
b_felisten[id] = false
b_halhatatlan[id] = false
b_ugras[id] = false
b_gyorsasag[id] = false
b_sebzes[id] = true
b_vip1[id] = false
}
public halado(id) {
b_alap[id] = false
b_halado[id] = true
b_felisten[id] = false
b_halhatatlan[id] = false
b_ugras[id] = false
b_gyorsasag[id] = false
b_sebzes[id] = false
b_vip1[id] = false
}
public felisten(id) {
b_alap[id] = false
b_halado[id] = false
b_felisten[id] = true
b_halhatatlan[id] = false
b_ugras[id] = false
b_gyorsasag[id] = false
b_sebzes[id] = false
b_vip1[id] = false
}
public halhatatlan(id) {
b_alap[id] = false
b_halado[id] = false
b_felisten[id] = false
b_halhatatlan[id] = true
b_ugras[id] = false
b_gyorsasag[id] = false
b_sebzes[id] = false
b_vip1[id] = false
}
public vip1(id) {
b_alap[id] = false
b_halado[id] = false
b_felisten[id] = false
b_halhatatlan[id] = false
b_ugras[id] = false
b_gyorsasag[id] = false
b_sebzes[id] = false
b_vip1[id] = true
}
public client_putinserver(id) {
betoltes(id)
get_user_name(id, name[id], 31)
b_alap[id] = false
b_halado[id] = false
b_felisten[id] = false
b_halhatatlan[id] = false
b_ugras[id] = false
b_gyorsasag[id] = false
b_sebzes[id] = false
b_vip1[id] = false
}
public client_disconnect(id) {
mentes(id)
b_alap[id] = false
b_halado[id] = false
b_felisten[id] = false
b_halhatatlan[id] = false
b_ugras[id] = false
b_gyorsasag[id] = false
b_hp[id] = false
b_sebzes[id] = false
b_vip1[id] = false
remove_task(id)
}
public mentes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-OLESEK", name[id])
format(vaultdata,255,"%d", olesek[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-OLESEK", name[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
olesek[id] = str_to_num(vaultdata)