#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#define PLUGIN "kes Menu"
#define VERSION "1.0"
#define AUTHOR "loleee"
new kes[33], bool:sebzes[33]
#define VIP_JOG ADMIN_LEVEL_H
new const v_gravitaciosknife[] = "models/kesek/gravitaciosknife.mdl"
new const v_sebzoknife[] = "models/kesek/sebzoknife.mdl"
new const v_vipknife[] = "models/kesek/vipknife.mdl"
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "KesSebzes", 0)
RegisterHam(Ham_TakeDamage, "player", "sebzesek")
register_event("CurWeapon", "FegyverValtas", "be", "1=1")
register_clcmd("say /kesek", "kesmenu");
}
public FegyverValtas(id){
new fegyver = get_user_weapon(id)
// Gravitációs kés
if(fegyver == CSW_KNIFE && kes[id] == 1){
set_pev(id,pev_viewmodel2, v_gravitaciosknife)
set_user_gravity(id, 0.100)
}
// Sebzés kés
if(fegyver == CSW_KNIFE && kes[id] == 2){
set_pev(id,pev_viewmodel2, v_sebzoknife)
sebzes[id] = true
}
// Vip kés
if(fegyver == CSW_KNIFE && kes[id] == 3){
set_pev(id,pev_viewmodel2, v_vipknife)
}
}
public plugin_precache(){
precache_model(v_gravitaciosknife)
precache_model(v_sebzoknife)
precache_model(v_vipknife)
}
public kesmenu(id){
new menu = menu_create("Kesek:", "menu_handler");
menu_additem(menu, "\\dGravitációs kés", "1", 0);
menu_additem(menu, "\\dSebzés kés", "2", 0 );
if(get_user_flags(id) & VIP_JOG){
menu_additem(menu, "\\rV\\w.\\yI\\w.\\dP \rkés", "3", 0);
}
else
{
menu_additem(menu, "\\rV\\w.\\yI\\w.\\dP \rkés \\d(Nem vagy VIP!)", "3", 0);
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "\yVissza");
menu_setprop(menu, MPROP_NEXTNAME, "\yTovább");
menu_setprop(menu, MPROP_EXITNAME, "\rKilépés");
menu_display(id, menu, 0);
}
public menu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:{
kes[id] = 1
print_color(id, "!g[Info] !tGravitációs!y kést választottad!")
}
case 2:{
kes[id] = 2
print_color(id, "!g[Info] !tSebzés!y kést választottad!")
}
case 3:{
kes[id] = 3
print_color(id, "!g[Info] !tVIP!y kést választottad!")
}
}
return PLUGIN_HANDLED
}
stock print_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
return PLUGIN_HANDLED
}
public sebzesek(victim, inflictor, attacker, Float:damage){
new fegyver = get_user_weapon(attacker)
// Sebző Kés
if(sebzes[attacker] && fegyver == CSW_KNIFE && kes[attacker] == 2){
SetHamParamFloat(4, damage * 1.3)
}
}