/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
#define PLUGIN "Knife VIP"
#define VERSION "1.0"
#define AUTHOR "Danii"
#define VIPJOG ADMIN_LEVEL_H
#define VIP_CHECK ADMIN_LEVEL_H
new maxplayers
new gmsgSayText
new bool:HasC4[33]
new kes_szam[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_message(get_user_msgid("SayText"),"vip_perfix")
register_event("ResetHUD", "resetModel", "b")
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_clcmd("say /vip","vipakarlenni")
RegisterHam(Ham_TakeDamage, "player", "damage", 0)
register_event( "ResetHUD", "ResetHUD", "be" )
register_clcmd( "say /vipmenu", "vipmenu", VIPJOG);
register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
}
public plugin_precache() {
precache_model("models/player/killah_vip_ct/killah_vip_ct.mdl")
precache_model("models/player/killah_vip_te/killah_vip_te.mdl")
precache_model("models/killah_vip/vipkes.mdl")
precache_model("models/killah_vip/pvipkes.mdl")
return PLUGIN_CONTINUE
}
public ResetHUD( id )
{
set_task( 0.5, "VIP", id + 6910 )
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
{
HasC4[id] = true;
set_task( 0.5, "VIP", id + 6910 )
}
if (get_user_team(id) == 2)
{
set_task( 0.5, "VIP", id + 6910 )
}
}
public VIP( TaskID, id )
{
new id = TaskID - 6910
if(get_user_flags(id) & VIPJOG)
{
message_begin( MSG_ALL, get_user_msgid( "ScoreAttrib" ) )
write_byte( id )
write_byte( 4 )
message_end( )
}
return PLUGIN_HANDLED
}
public resetModel(id, level, cid) {
if (get_user_flags(id) & VIPJOG) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "killah_vip_te")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "killah_vip_ct")
}
else {
cs_reset_user_model(id)
}
}
return PLUGIN_CONTINUE
}
public vipmenu(id) {
new cim[121]
format(cim, charsmax(cim), "\yK i l l a h ~ Only Knife! VIP KÉS MENÜ!")
new menu = menu_create(cim, "fo_menu_h" )
if(get_user_flags(id) & VIPJOG)
menu_additem(menu,"\rVIP KÉS","1",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public fo_menu_h(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], 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:{
if(!is_user_alive(id))
{
print_color(id, "!gK i l l ah!t ~!y Csak élők tudnak választani.")
}
else
{
strip_user_weapons(id)
give_item(id, "weapon_knife")
kes_szam[id] = -3
print_color(id, "!gK i l l ah!t ~!y Sikeresen kiválasztottad késed.")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public damage(victim, inflictor, attacker, Float:damage, damage_type)
{
if(is_user_alive(attacker) && VIPJOG){
new fgy = get_user_weapon(attacker)
if(fgy == CSW_KNIFE)
{
SetHamParamFloat(4, damage * 2.0)
}
}
}
public client_putinserver(id)
{
set_task(0.7, "vip_jon",id)
}
public Event_Change_Weapon(id)
{
new fgy = get_user_weapon(id)
if(kes_szam[id] == -3 && fgy == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/killah_vip/vipkes.mdl")
set_pev(id, pev_weaponmodel2, "models/killah_vip/pvipkes.mdl")
}
}
public vip_jon(id)
if(get_user_flags(id) & VIPJOG)
{
new name[32]
get_user_name(id, name, 31)
print_color(0, "!g*V.I.P*!y Játékos!t %s!y, csatlakozott a szerverre!t!!",name)
}
public vipakarlenni(id)
{
show_motd( id,"addons/amxmodx/configs/vip.txt","Mit kap a VIP?!")
}
public vip_perfix(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1)
if(!is_user_connected(id))
return PLUGIN_CONTINUE
if(get_user_flags(id) & VIPJOG)
{
new szTmp[256],szTmp2[256]
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
new szPrefix[64] = "^x04[VIP]"
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix)
add(szTmp2,charsmax(szTmp2)," ")
add(szTmp2,charsmax(szTmp2),szTmp)
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix)
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : ^x04%s2")
}
set_msg_arg_string(2,szTmp2)
}
return PLUGIN_CONTINUE
}
public handle_say(id)
{
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}
public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & VIP_CHECK)
get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "^4killah^3 ~^1 Jelenlévő vipek: ")
if(count > 0)
{
for(x = 0 ; x < count ; x++)
{
len += format(message[len], 255-len, "^x04%s%s ", adminnames[x], x < (count-1) ? "^x01 | ":"")
if(len > 96 )
{
print_message(user, message)
len = format(message, 255, "^x04")
}
}
print_message(user, message)
}
else
{
format(message, 255, "^4killah^3 ~^1 Nincs jelenlévő vip !!!")
print_message(user, message)
}
}
print_message(id, msg[])
{
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
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")
replace_all(msg, 190, "á", "á")
replace_all(msg, 190, "é", "Ă©")
replace_all(msg, 190, "í", "Ă")
replace_all(msg, 190, "ó", "Ăł")
replace_all(msg, 190, "ö", "ö")
replace_all(msg, 190, "ő", "Ĺ‘")
replace_all(msg, 190, "ú", "Ăş")
replace_all(msg, 190, "ü", "ĂĽ")
replace_all(msg, 190, "ű", "ű")
replace_all(msg, 190, "Á", "Ă")
replace_all(msg, 190, "É", "É")
replace_all(msg, 190, "Í", "ĂŤ")
replace_all(msg, 190, "Ó", "Ă“")
replace_all(msg, 190, "Ö", "Ă–")
replace_all(msg, 190, "Ő", "Ĺ")
replace_all(msg, 190, "Ú", "Ăš")
replace_all(msg, 190, "Ü", "Ăś")
replace_all(msg, 190, "Ű", "Ĺ°")
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
}