#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <cstrike>
#include <colorchat>
#define PLUGIN "Kesmenu"
#define VERSION "1.0"
#define AUTHOR "DeRoiD"
new oles[33], kesek[33], vault
new RosszKarakterek, RosszKarakterek2
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /menu", "kesmenu")
register_clcmd("say /skin", "kes")
register_clcmd("say /rang", "rangok")
register_clcmd("say /adas", "adas")
register_clcmd("say","handlesay")
register_clcmd("say_team","handlesay")
vault = nvault_open("spiler_menu")
register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
register_event("DeathMsg","death","a")
}
public plugin_precache() {
precache_model("models/v_awp_snake.mdl")
precache_model("models/spiler_un_skinek/v_ak47_laminalt.mdl")
precache_model("models/spiler_un_skinek/v_ak47_vulcan.mdl")
precache_model("models/spiler_un_skinek/v_awp_boom.mdl")
precache_model("models/spiler_un_skinek/v_famas_pulse.mdl")
precache_model("models/spiler_un_skinek/v_m4a1_assimov.mdl")
precache_model("models/spiler_un_skinek/v_m4a1_cyrex.mdl")
precache_model("models/spiler_un_skinek/v_awp_assimov.mdl")
}
public death(){
new killer = read_data(1)
new victim = read_data(2)
if(killer == victim)
{
return PLUGIN_HANDLED
}
oles[killer]++
return PLUGIN_HANDLED
}
public kesmenu(id) {
new menu = menu_create("\r.:[R\w4Z3\yR]:. \w|\y#Only Dust2#\w|", "kesmenu_hl")
menu_additem(menu,"Fegyver Skinek","1",0)
menu_additem(menu,"Rangok","2",0)
menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
menu_display(id,menu,0)
}
public kesmenu_hl(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: kes(id)
case 2: rangok(id)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public kes(id){
new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121]
format(cim, charsmax(cim),"\r.:[R\w4Z3\yR]:. \w|\y#Fegyver Skin#\w|^n\yÖlések:\w%d",oles[id])
format(ks1, charsmax(ks1),"\wAWP \y| \rSnake Camo\y [Megszerezve]")
if(oles[id] < 100)
format(ks2, charsmax(ks2),"\dAK-47 | Black Laminate \r[%d/100 Ölés]",oles[id])
else
format(ks2, charsmax(ks2),"\wAK-47 \y| \rBlack Laminate\y [Megszerezve]")
if(oles[id] < 250)
format(ks3, charsmax(ks3),"\dAK-47 | Vulcan \r[%d/250 Ölés]",oles[id])
else
format(ks3, charsmax(ks3),"\wAK-47 \y|\r Vulcan\y [Megszerezve]")
if(oles[id] < 500)
format(ks4, charsmax(ks4),"\dAWP | BOOM \r[%d/500 Ölés]",oles[id])
else
format(ks4, charsmax(ks4),"\wAWP \y|\r BOOM\y [Megszerezve]")
if(oles[id] < 1000)
format(ks5, charsmax(ks5),"\dFAMAS | Pulse \r[%d/1000 Ölés]",oles[id])
else
format(ks5, charsmax(ks5),"\wFAMAS \y|\r Pulse\y [Megszerezve]")
if(oles[id] < 2000)
format(ks6, charsmax(ks6),"\dM4A4 | Asiimov \r[%d/2000 Ölés]",oles[id])
else
format(ks6, charsmax(ks6),"\wM4A4 \y|\r Asiimov\y [Megszerezve]")
if(oles[id] < 3000)
format(ks7, charsmax(ks7),"\dM4A1-S | Cyrex \r[%d/3000 Ölés]",oles[id])
else
format(ks7, charsmax(ks7),"\wM4A1-S \y|\r Cyrex\y [Megszerezve]")
if(oles[id] < 5000)
format(ks8, charsmax(ks8),"\dAWP | Asiimov \r[%d/5000 Ölés]",oles[id])
else
format(ks8, charsmax(ks8),"\wAWP \y|\r Asiimov\y [Megszerezve]")
new menu = menu_create(cim, "kes_hl")
menu_additem(menu,ks1,"1",0)
menu_additem(menu,ks2,"2",0)
menu_additem(menu,ks3,"3",0)
menu_additem(menu,ks4,"4",0)
menu_additem(menu,ks5,"5",0)
menu_additem(menu,ks6,"6",0)
menu_additem(menu,ks7,"7",0)
menu_additem(menu,ks8,"8",0)
menu_additem(menu,"\yFigyelem!^naki leghamarabb eléri a '8. Fegyver Skint' 3 hónap ADMIN-t nyer.","1",0)
menu_setprop(menu, MPROP_NEXTNAME, "Tovább: \r8\y-as gomb!")
menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
menu_setprop(menu, MPROP_BACKNAME, "Előző oldal: \r7\y-es gomb!")
menu_setprop(menu, MPROP_PERPAGE, 6);
menu_display(id,menu,0)
}
public kes_hl(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(oles[id] >= 0){
kesek[id] = 0
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Sikeres választás.")
}
else
{
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Hiányzik még ^4%d ^3ölés!",0-oles[id])
}
}
case 2:{
if(oles[id] >= 100){
kesek[id] = 1
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Sikeres választás.")
}
else
{
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Hiányzik még ^4%d ^3ölés!",100-oles[id])
}
}
case 3:{
if(oles[id] >= 250){
kesek[id] = 2
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Sikeres választás.")
}
else
{
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Hiányzik még ^4%d ^3ölés!",250-oles[id])
}
}
case 4:{
if(oles[id] >= 500){
kesek[id] = 3
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Sikeres választás.")
}
else
{
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Hiányzik még ^4%d ^3ölés!",500-oles[id])
}
}
case 5:{
if(oles[id] >= 1000){
kesek[id] = 4
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Sikeres választás.")
}
else
{
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Hiányzik még ^4%d ^3ölés!",1000-oles[id])
}
}
case 6:{
if(oles[id] >= 2000){
kesek[id] = 5
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Sikeres választás.")
}
else
{
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Hiányzik még ^4%d ^3ölés!",2000-oles[id])
}
}
case 7:{
if(oles[id] >= 3000){
kesek[id] = 6
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Sikeres választás.")
}
else
{
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Hiányzik még ^4%d ^3ölés!",3000-oles[id])
}
}
case 8:{
if(oles[id] >= 5000){
kesek[id] = 7
engclient_cmd(id,"weapon_knife")
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Sikeres választás.")
}
else
{
ColorChat(id, RED, "^4.:[R4Z3R]:. » ^x03Hiányzik még ^4%d ^3ölés!",5000-oles[id])
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public rangok(id){
new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121]
format(cim, charsmax(cim),"\r.:[R\w4Z3\yR]:. \w|\y#Rangok#\w|^n\yÖlések:\w%d",oles[id])
format(ks1, charsmax(ks1),"\wÚjonc Alap Rang \y[Megszerezve]")
if(oles[id] < 100)
format(ks2, charsmax(ks2),"\dAmatőr Rang \r[%d/100 Ölés]",oles[id])
else
format(ks2, charsmax(ks2),"\wAmatőr Rang \y[Megszerezve]")
if(oles[id] < 250)
format(ks3, charsmax(ks3),"\dKezdő Rang \r[%d/250 Ölés]",oles[id])
else
format(ks3, charsmax(ks3),"\wKezdő Rang \y[Megszerezve]")
if(oles[id] < 500)
format(ks4, charsmax(ks4),"\dHaladó Rang \r[%d/500 Ölés]",oles[id])
else
format(ks4, charsmax(ks4),"\rHaladó Rang \y[Megszerezve]")
if(oles[id] < 1000)
format(ks5, charsmax(ks5),"\dProfi Rang \r[%d/1000 Ölés]",oles[id])
else
format(ks5, charsmax(ks5),"\wProfi Rang \y[Megszerezve]")
if(oles[id] < 2000)
format(ks6, charsmax(ks6),"\dVeterán Rang \r[%d/2000 Ölés]",oles[id])
else
format(ks6, charsmax(ks6),"\wVeterán Rang \y[Megszerezve]")
if(oles[id] < 3000)
format(ks7, charsmax(ks7),"\dMester Rang \r[%d/3000 Ölés]",oles[id])
else
format(ks7, charsmax(ks7),"\wMester Rang \y[Megszerezve]")
if(oles[id] < 5000)
format(ks8, charsmax(ks8),"\dLegenda Rang \r[%d/5000 Ölés]",oles[id])
else
format(ks8, charsmax(ks8),"\wLegenda Rang \y[Megszerezve]")
new menu = menu_create(cim, "rangok_h")
menu_additem(menu,ks1,"1",0)
menu_additem(menu,ks2,"1",0)
menu_additem(menu,ks3,"1",0)
menu_additem(menu,ks4,"1",0)
menu_additem(menu,ks5,"1",0)
menu_additem(menu,ks6,"1",0)
menu_additem(menu,ks7,"1",0)
menu_additem(menu,ks8,"1",0)
menu_additem(menu,"\yFigyelem!^naki leghamarabb eléri a '8. Rangot' 3 hónap ADMIN-t nyer.","1",0)
menu_setprop(menu, MPROP_NEXTNAME, "Tovább: \r8\y-as gomb!")
menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
menu_setprop(menu, MPROP_BACKNAME, "Előző oldal: \r7\y-es gomb!")
menu_setprop(menu, MPROP_PERPAGE, 6);
menu_display(id,menu,0)
}
public rangok_h(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[9], szName[64], name[32]
get_user_name(id, name, charsmax(name))
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: rangok(id)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public handlesay(id)
{
new message[192], Name[32], none[2][32], chat[192], rang[32]
read_args(message, 191)
remove_quotes(message)
new hossz = strlen(message)
new i = 0
RosszKarakterek = 0
while(i < hossz) {
if(message[i] == '#')
RosszKarakterek++
++i
}
if(RosszKarakterek != 0)
{
new JatekosNeve[32]
get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
new JatekosIP[32]
get_user_ip(id, JatekosIP, charsmax(JatekosIP))
server_cmd("kick #%d Tiltott karakter-t irtal chatbe! ^"#^"", get_user_userid(id))
log_amx("%s | %s rossz karaktert irtbe chatbe : %s", JatekosNeve, JatekosIP, message)
return PLUGIN_HANDLED
}
formatex(none[0], 31, ""), formatex(none[1], 31, " ")
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
return PLUGIN_HANDLED;
if(!equali(message, none[0]) && !equali(message, none[1]))
{
get_user_name(id, Name, 31);
if(oles[id] < 100)
rang = "Újonc"
else if(oles[id] < 250)
rang = "Amatőr"
else if(oles[id] < 500)
rang = "Kezdő"
else if(oles[id] < 1000)
rang = "Haladó"
else if(oles[id] < 2000)
rang = "Profi"
else if(oles[id] < 3000)
rang = "Veterán"
else if(oles[id] < 5000)
rang = "Mester"
else
rang = "Legenda"
if(equal(".:[Z]o.O[M]:.",Name))
formatex(chat, 191, "^4[TULAJ][%s]^3%s^1 :^4 %s",rang, Name, message)
else if(equal("",Name))
formatex(chat, 191, "^4[ADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
else if(equal("",Name))
formatex(chat, 191, "^4[ADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
else if(equal("",Name))
formatex(chat, 191, "^4[ADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
else if(equal("",Name))
formatex(chat, 191, "^4[FOADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
else if(equal("",Name))
formatex(chat, 191, "^4[ADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
else if(get_user_flags(id) & ADMIN_KICK)
formatex(chat, 191, "^4[ADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
else
formatex(chat, 191, "^4[%s]^3%s^1 :^1 %s",rang, Name, message)
switch(cs_get_user_team(id))
{
case 1: ColorChat(0, RED, chat)
case 2: ColorChat(0, BLUE, chat)
}
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
ColorChat(0, GREY, chat)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public mentes(id)
{
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-KESEK", name)
format(vaultdata,255,"%d", oles[id])
nvault_set(vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256], name[32]
get_user_name(id, name, 31)
format(vaultkey,63,"%s-KESEK", name)
nvault_get(vault,vaultkey,vaultdata,255)
oles[id] = str_to_num(vaultdata)
return PLUGIN_CONTINUE;
}
public Event_Change_Weapon(id)
{
new fegyver = get_user_weapon(id)
if(kesek[id] == 0 && fegyver == CSW_AWP)
set_pev(id, pev_viewmodel2, "models/v_awp_snake.mdl")
if(kesek[id] == 1 && fegyver == CSW_AK47)
set_pev(id, pev_viewmodel2, "models/spiler_un_skinek/v_ak47_laminalt.mdl")
if(kesek[id] == 2 && fegyver == CSW_AK47)
set_pev(id, pev_viewmodel2, "models/spiler_un_skinek/v_ak47_vulcan.mdl")
if(kesek[id] == 3 && fegyver == CSW_AWP)
set_pev(id, pev_viewmodel2, "models/spiler_un_skinek/v_awp_boom.mdl")
if(kesek[id] == 4 && fegyver == CSW_FAMAS)
set_pev(id, pev_viewmodel2, "models/spiler_un_skinek/v_famas_pulse.mdl")
if(kesek[id] == 5 && fegyver == CSW_M4A1)
set_pev(id, pev_viewmodel2, "models/spiler_un_skinek/v_m4a1_assimov.mdl")
if(kesek[id] == 6 && fegyver == CSW_M4A1)
set_pev(id, pev_viewmodel2, "models/spiler_un_skinek/v_m4a1_cyrex.mdl")
if(kesek[id] == 7 && fegyver == CSW_AWP)
set_pev(id, pev_viewmodel2, "models/spiler_un_skinek/v_awp_assimov.mdl")
}
public client_connect(id)
{
betoltes(id)
new JatekosNeve[32]
get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
new JatekosIP[32]
get_user_ip(id, JatekosIP, charsmax(JatekosIP))
new hossz = strlen(JatekosNeve)
new i = 0
RosszKarakterek = 0
RosszKarakterek2 = 0
while(i < hossz)
{
if(JatekosNeve[i] == '#')
RosszKarakterek++
if(JatekosNeve[i] == '_')
RosszKarakterek2++
++i
}
if(RosszKarakterek != 0 && RosszKarakterek2 != 0)
{
server_cmd("kick #%d Tiltott karakter van a nevedben. ^"# & _^"", get_user_userid(id))
log_amx("Egy jatekos tiltott karakteres nevvel jott fel : %s | %s", JatekosNeve, JatekosIP)
}
return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
mentes(id)
}
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
}