#include <amxmodx>
#include <fvault>
#include <fakemeta>
#define PLUGIN "Plugin"
#define VERSION "1.0"
#define AUTHOR "mforce"
new const PREFIX[] = "mforce"
new skinek[33], steamid[33][32];
new const szVaultName[ ] = "szero_skinek";
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /menu", "ShowMenu")
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
set_task(172.0, "skinekcucc", 0, _, _, "b");
}
public skinekcucc() {
print_color(0, "!g[%s]!y A skinek ki-be kapcsolasahoz ird be: !t/menu", PREFIX)
}
new const fegyverek[][] = {
"models/skinek/v_m4a1.mdl", // 0
"models/skinek/v_ak47.mdl", // 1
"models/skinek/v_awp.mdl", // 2
"models/skinek/v_scout.mdl", // 3
"models/skinek/v_deagle.mdl", // 4
"models/skinek/v_usp.mdl", // 5
"models/skinek/v_knife.mdl" // 6
};
public plugin_precache() {
for(new i; i<sizeof(fegyverek);i++) precache_model(fegyverek[i]);
}
public Event_CurWeapon(id) {
new weap = get_user_weapon(id)
if(skinek[id] == 0) {
if(weap == CSW_M4A1) set_pev(id, pev_viewmodel2, fegyverek[0]) // v_modell
else if(weap == CSW_AK47) set_pev(id, pev_viewmodel2, fegyverek[1])
else if(weap == CSW_AWP) set_pev(id, pev_viewmodel2, fegyverek[2])
else if(weap == CSW_SCOUT) set_pev(id, pev_viewmodel2, fegyverek[3])
else if(weap == CSW_DEAGLE) set_pev(id, pev_viewmodel2, fegyverek[4])
else if(weap == CSW_USP) set_pev(id, pev_viewmodel2, fegyverek[5])
else if(weap == CSW_KNIFE) set_pev(id, pev_viewmodel2, fegyverek[6])
}
}
public ShowMenu(id) {
new temp[128];
formatex(temp, charsmax(temp), "\r[%s] \wFegyver Skinek", PREFIX);
new menu = menu_create(temp, "mh_MyMenu");
formatex(temp, charsmax(temp), "Alap skinek %s", skinek[id] == 1 ? "\y|AKTIV|":"");
menu_additem(menu, temp, "0", 0);
formatex(temp, charsmax(temp), "Szerver skinek %s", skinek[id] == 0 ? "\y|AKTIV|":"");
menu_additem(menu, temp, "1", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Elore");
menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public mh_MyMenu(id, menu, item) {
if(item == MENU_EXIT)
{
menu_destroy(menu);
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: {
skinek[id] = 1;
print_color(id, "!g[%s]!y Sikeresen aktivaltad az alap skineket!", PREFIX)
}
case 1: {
skinek[id] = 0;
print_color(id, "!g[%s]!y Sikeresen aktivaltad a szerver skineket!", PREFIX)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public client_putinserver(id) {
if(!is_user_bot(id))
load(id);
}
public client_disconnect(id) {
if(!is_user_bot(id)) {
save(id);
skinek[id] = 0;
}
}
load(id) {
new szData[64];
get_user_authid(id, steamid[id], charsmax(steamid[]));
if (containi(steamid[id], "_ID_LAN") != -1 || containi(steamid[id], "HLTV") != -1) get_user_ip(id, steamid[id], charsmax(steamid[]), 1);
if(fvault_get_data( szVaultName, steamid[id], szData, 63 );
new skins[16];
parse( szData, skins, 15);
skinek[id] = str_to_num( skins );
}
}
save(id) {
new szData[64];
formatex(szData, 63, "%i", skinek[id]);
fvault_set_data( szVaultName, steamid[id], szData );
}
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
}