#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <csstats>
#include <fakemeta>
#include <nvault>
#define PLUGIN "Fegyverskin"
#define VERSION "1.0"
#define AUTHOR "SW@G pLaYeR!"
new oles[33]
new awp[33], ak47[33], m4a1[33], deagle[33]
new vault
new const szPrefix[] = "[Infó]"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_dictionary("fegyverskin.txt")
//Chat parancsok
register_clcmd("say /awp", "awp_menu")
register_clcmd("say_team /awp", "awp_menu")
register_clcmd("say /ak47", "ak47_menu")
register_clcmd("say_team /ak47", "ak47_menu")
register_clcmd("say /m4a1", "m4a1_menu")
register_clcmd("say_team /m4a1", "m4a1_menu")
register_clcmd("say /deagle", "deagle_menu")
register_clcmd("say_team /deagle", "deagle_menu")
//Fegyverváltás
register_event("CurWeapon", "fegyvervaltas", "be", "1=1")
//Halál
register_event("DeathMsg", "eDeath", "ade")
vault = nvault_open("Fegyverskin")
}
public plugin_precache() {
precache_model("models/fegyverskin/awp1.mdl")
precache_model("models/fegyverskin/awp2.mdl")
precache_model("models/fegyverskin/awp3.mdl")
precache_model("models/fegyverskin/ak471.mdl")
precache_model("models/fegyverskin/ak472.mdl")
precache_model("models/fegyverskin/ak473.mdl")
precache_model("models/fegyverskin/m4a11.mdl")
precache_model("models/fegyverskin/m4a12.mdl")
precache_model("models/fegyverskin/m4a13.mdl")
precache_model("models/fegyverskin/deagle1.mdl")
precache_model("models/fegyverskin/deagle2.mdl")
precache_model("models/fegyverskin/deagle3.mdl")
}
public eDeath() {
new attaacker = read_data(1)
new victim = read_data(2)
if(attacker == victim)
return PLUGIN_HANDLED
oles[attacker] ++
return PLUGIN_HANDLED
}
public fomenu(id) {
new menu = menu_create("Főmenü", "fomenu_h")
menu_additem(menu, "AWP Skinek", "1", 0)
menu_additem(menu, "AK47 Skinek", "2", 0)
menu_additem(menu, "M4A1 Skinek", "3", 0)
menu_additem(menu, "DEAGLE Skinek", "4", 0)
menu_display(id, menu, 0)
}
public fomenu_h(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id)
return PLUGIN_HANDLED
}
new data[9], access, callback, szName[64]
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
new key = str_to_num(data)
switch(key) {
case 1:{
awp_menu(id)
}
case 2:{
ak47_menu(id)
}
case 3:{
m4a1_menu(id)
}
case 4:{
deagle_menu(id)
}
}
return PLUGIN_HANDLED
}
public awp_menu(id) {
new szText[512]
new cim[121]
format(cim, charsmax(cim), "AWP Skinek [Öléseid: %d]",oles[id])
new menu = menu_create(cim, "awp_handler" )
if(oles[id] == 0)
{
formatex(ks1, charmax(ks1), "Awp1 [ELÉRVE]")
}
else
formatex(ks1, charmax(ks1), "Awp1 [Elérve]")
if(oles[id] < 50)
{
formatex(szText, charmax(szText), "Awp2 [Még %d ölés]", 50-oles[id])
menu_additem(menu, szText, "2", 0)
}
else
menu_additem(menu, "Awp2 [Elérve]", "2", 0)
if(oles[id] < 150)
{
formatex(szText, charmax(szText), "Awp3 [Még %d ölés]", 150-oles[id])
menu_additem)menu, szText, "3", 0)
}
else
menu_additem(menu, "Awp3 [Elérve]", "3", 0)
menu_display(id, menu, 0)
}
public awp_handler(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,charmax(data), szName,charmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:{ //AWP1
if(awp[id] != 1)
{
if(oles[id] == 0)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L Awp1-et!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
awp[id] = 1
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_AWP")
awp_menu(id)
}
}
case 2:{ //AWP2
if(awp[id] !=2)
{
if(oles[id] >= 50)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L AWP2-t!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
awp[id] = 2
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_NOTENOUGH", 50-oles[id])
awp_menu(id)
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_AWP")
awp_menu(id)
}
}
case3:{ //AWP3
if(awp[id] != 3)
{
if(oles[id] >= 150)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L AWP3-at!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
awp[id] = 3
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_NOTENOUGH", 150-oles[id])
awp_menu(id)
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_AWP")
awp_menu(id)
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public ak47_menu(id) {
new szText[512]
new cim[121]
format(cim, charsmax(cim), "AK47 Skinek [Öléseid: %d]",oles[id])
new menu = menu_create(cim, "ak47_handler" )
if(oles[id] == 0)
{
formatex(ks1, charmax(ks1), "Ak471 [ELÉRVE]")
}
else
formatex(ks1, charmax(ks1), "Ak471 [Elérve]")
if(oles[id] < 50)
{
formatex(szText, charmax(szText), "Ak472 [Még %d ölés]", 50-oles[id])
menu_additem(menu, szText, "2", 0)
}
else
menu_additem(menu, "Ak472 [Elérve]", "2", 0)
if(oles[id] < 150)
{
formatex(szText, charmax(szText), "Ak473 [Még %d ölés]", 150-oles[id])
menu_additem)menu, szText, "3", 0)
}
else
menu_additem(menu, "Ak473 [Elérve]", "3", 0)
menu_display(id, menu, 0)
}
public ak47_handler(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,charmax(data), szName,charmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:{ //AK471
if(ak47[id] != 1)
{
if(oles[id] == 0)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L Ak471-et!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
ak47[id] = 1
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_AK47")
ak47_menu(id)
}
}
case 2:{ //AK472
if(ak47[id] !=2)
{
if(oles[id] >= 50)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L AK472-t!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
ak47[id] = 2
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_NOTENOUGH", 50-oles[id])
ak47_menu(id)
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_AK47")
ak47_menu(id)
}
}
case3:{ //AK473
if(ak47[id] != 3)
{
if(oles[id] >= 150)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L AK473-at!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
ak47[id] = 3
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_NOTENOUGH", 150-oles[id])
ak47_menu(id)
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_AK47")
ak47_menu(id)
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public m4a1_menu(id) {
new szText[512]
new cim[121]
format(cim, charsmax(cim), "M4A1 Skinek [Öléseid: %d]",oles[id])
new menu = menu_create(cim, "m4a1_handler" )
if(oles[id] == 0)
{
formatex(ks1, charmax(ks1), "M4a11 [ELÉRVE]")
}
else
formatex(ks1, charmax(ks1), "M4a11 [Elérve]")
if(oles[id] < 50)
{
formatex(szText, charmax(szText), "M4a12 [Még %d ölés]", 50-oles[id])
menu_additem(menu, szText, "2", 0)
}
else
menu_additem(menu, "M4a12 [Elérve]", "2", 0)
if(oles[id] < 150)
{
formatex(szText, charmax(szText), "M4a13 [Még %d ölés]", 150-oles[id])
menu_additem)menu, szText, "3", 0)
}
else
menu_additem(menu, "M4a13 [Elérve]", "3", 0)
menu_display(id, menu, 0)
}
public m4a1_handler(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,charmax(data), szName,charmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:{ //M4A11
if(m4a1[id] != 1)
{
if(oles[id] == 0)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L M4a11-et!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
m4a1[id] = 1
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_M4A1")
m4a1_menu(id)
}
}
case 2:{ //M4A12
if(m4a1[id] !=2)
{
if(oles[id] >= 50)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L M4A12-t!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
m4a1[id] = 2
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_NOTENOUGH", 50-oles[id])
m4a1_menu(id)
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_M4A1")
m4a1_menu(id)
}
}
case3:{ //M4A13
if(m4a1[id] != 3)
{
if(oles[id] >= 150)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L M4A13-at!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
m4a1[id] = 3
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_NOTENOUGH", 150-oles[id])
m4a1_menu(id)
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_M4A1")
m4a1_menu(id)
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public deagle_menu(id) {
new szText[512]
new cim[121]
format(cim, charsmax(cim), "DEAGLE Skinek [Öléseid: %d]",oles[id])
new menu = menu_create(cim, "deagle_handler" )
if(oles[id] == 0)
{
formatex(ks1, charmax(ks1), "Dealge1 [ELÉRVE]")
}
else
formatex(ks1, charmax(ks1), "Deagle1 [Elérve]")
if(oles[id] < 50)
{
formatex(szText, charmax(szText), "DEAGLE2 [Még %d ölés]", 50-oles[id])
menu_additem(menu, szText, "2", 0)
}
else
menu_additem(menu, "DEAGLE2 [Elérve]", "2", 0)
if(oles[id] < 150)
{
formatex(szText, charmax(szText), "DEAGLE3 [Még %d ölés]", 150-oles[id])
menu_additem)menu, szText, "3", 0)
}
else
menu_additem(menu, "DEAGLE3 [Elérve]", "3", 0)
menu_display(id, menu, 0)
}
public deagle_handler(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,charmax(data), szName,charmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:{ //DEAGLE1
if(deagle[id] != 1)
{
if(oles[id] == 0)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L Deagle1-et!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
deagle[id] = 1
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_DEAGLE")
deagle_menu(id)
}
}
case 2:{ //DEAGLE2
if(deagle[id] !=2)
{
if(oles[id] >= 50)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L DEAGLE2-t!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
deagle[id] = 2
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_NOTENOUGH", 50-oles[id])
deagle_menu(id)
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_DEAGLE")
deagle_menu(id)
}
}
case3:{ //DEAGLE3
if(deagle[id] != 3)
{
if(oles[id] >= 150)
{
ColorChat(id, TEAM_COLOR, "%s ^1%L DEAGLE3-at!", szPrefix, LANG_SERVER, "WSM_CHOSEN")
deagle[id] = 3
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_NOTENOUGH", 150-oles[id])
deagle_menu(id)
}
}
else
{
ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, LANG_SERVER, "WSM_DEAGLE")
deagle_menu(id)
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public mentes(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", name)
format(vaultdata,255,"%i",oles[id])
nvault_set(vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", name)
format(vaultdata,255,"%i",oles[id])
nvault_get(vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new a_o[32]
parse(vaultdata, a_o, 31)
oles[id] = str_to_num(a_o)
return PLUGIN_CONTINUE
}
public client_putinserver(id)
{
awp[id] = 0
ak47[id] = 0
m4a1[id] = 0
deagle[id] = 0
}
public client_connect(id)
{
betoltes(id)
}
public client_disconnect(id)
{
mentes(id)
}
public fegyvervaltas(id) {
new fgy = get_user_weapon(id)
if(awp[id] == 1 && fgy == CSW_AWP)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/awp1.mdl")
}
if(ak47[id] == 1 && fgy == CSW_AK47)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/ak471.mdl")
}
if(m4a1[id] == 1 && fgy == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/m4a11.mdl")
}
if(deagle[id] == 1 && fgy == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/deagle1.mdl")
}
if(awp[id] == 2 && fgy == CSW_AWP)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/awp2.mdl")
}
if(ak47[id] == 2 && fgy == CSW_AK47)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/ak472.mdl")
}
if(m4a1[id] == 2 && fgy == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/m4a12.mdl")
}
if(deagle[id] == 2 && fgy == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/deagle2.mdl")
}
if(awp[id] == 3 && fgy == CSW_AWP)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/awp3.mdl")
}
if(ak47[id] == 3 && fgy == CSW_AK47)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/ak472.mdl")
}
if(m4a1[id] == 3 && fgy == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/m4a12.mdl")
}
if(deagle[id] == 3 && fgy == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, "models/fegyverskin/deagle3.mdl")
}
}