#include <amxmodx>
#include <engine>
#include <nvault>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#define USE_CC 1
#if defined USE_CC
#include <colorchat>
#endif
#define FREQ 0.1
new oles[33], skin[33], vault, SEBZES, skin_oles, skin_hsoles, skin_kesoles
new skin1[121], skin2[121], skin3[121], skin4[121], skin5[121], skin6[121], skin7[121], skin8[121], skin9[121], skin10[121], skin11[121], skin12[121], skin13[121], skin14[121], skin15[121], skin16[121]
new const awp[] = "models/v_awp.mdl"
new const awp_1[] = "models/els_awp/v.mdl"
new const awp_2[] = "models/els_awp/.mdl"
new const awp_3[] = "models/els_awp/.mdl"
new const awp_4[] = "models/els_awp/.mdl"
new const awp_5[] = "models/els_awp/.mdl"
new const awp_6[] = "models/els_awp/.mdl"
new const awp_7[] = "models/els_awp/.mdl"
new const awp_8[] = "models/els_awp/.mdl"
new const awp_9[] = "models/els_awp/.mdl"
new const awp_10[] = "models/els_awp/.mdl"
new const awp_11[] = "models/els_awp/.mdl"
new const awp_12[] = "models/els_awp/.mdl"
new const awp_13[] = "models/els_awp/.mdl"
new const awp_14[] = "models/els_awp/.mdl"
new const awp_15[] = "models/els_awp/.mdl"
new const awp_16[] = "models/els_awp/.mdl"
public plugin_precache()
{
precache_model(awp)
precache_model(awp_1)
precache_model(awp_2)
precache_model(awp_3)
precache_model(awp_4)
precache_model(awp_5)
precache_model(awp_6)
precache_model(awp_7)
precache_model(awp_8)
precache_model(awp_9)
precache_model(awp_10)
precache_model(awp_11)
precache_model(awp_12)
precache_model(awp_13)
precache_model(awp_14)
precache_model(awp_15)
precache_model(awp_16)
}
public plugin_init()
{
register_plugin("Fegyver Skinek", "1.0", "6almasok")
set_task(25.0, "KorUzenet", 0, _, _, "b")
register_event("CurWeapon","fegyverek","be","1=1")
register_event("Damage", "event_sebzes", "be" )
register_event("DeathMsg", "halal", "a" );
register_event("CurWeapon", "fegyverid", "be", "1=1")
register_clcmd("say /skinmenu","menu")
register_clcmd("say /awp","menu")
register_clcmd("say /skinoles","pontmegtekint")
register_clcmd("say /oles","pontmegtekint")
register_clcmd("say /fegyok","menu")
register_clcmd("say /fegyverskin","menu")
register_clcmd("say /fegyomenu","menu")
register_cvar("sima_oles", "1");
register_cvar("hs_oles", "1");
register_cvar("kes_oles", "1");
skin_oles = get_cvar_num("sima_oles");
skin_hsoles = get_cvar_num("hs_oles");
skin_kesoles = get_cvar_num("kes_oles");
SEBZES = register_cvar("skin_sebzes", "1")
vault = nvault_open("fegyver_skin")
}
public fegyverid(id)
{
new fegyver = get_user_weapon(id)
if(skin[id] == 0 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp)
if(skin[id] == 1 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_1)
if(skin[id] == 2 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_2)
if(skin[id] == 3 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_3)
if(skin[id] == 4 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_4)
if(skin[id] == 5 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_5)
if(skin[id] == 6 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_6)
if(skin[id] == 7 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_7)
if(skin[id] == 8 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_8)
if(skin[id] == 9 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_9)
if(skin[id] == 10 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_10)
if(skin[id] == 11 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_11)
if(skin[id] == 12 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_12)
if(skin[id] == 13 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_13)
if(skin[id] == 14 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_14)
if(skin[id] == 15 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_15)
if(skin[id] == 16 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_16)
}
public halal(id)
{
new gyilkos = read_data( 1 );
new aldozat = read_data( 2 );
if(gyilkos == aldozat || ! is_user_connected(gyilkos) || ! is_user_connected(aldozat))
{
return PLUGIN_HANDLED;
}
new olesekert = skin_oles;
if(read_data(3))
{
olesekert += skin_hsoles;
}
static Fegyver[26];
read_data(4, Fegyver, sizeof(Fegyver) -1);
if(equal(Fegyver,"knife"))
{
olesekert += skin_kesoles;
}
oles[gyilkos] += olesekert;
ColorChat(gyilkos, RED, "^3[EndLeSS] ^4Kaptál ^3+%i ^1Ölést!", olesekert);
return PLUGIN_HANDLED;
}
public menu(id) {
new cim[121]
formatex(cim, charsmax(cim), "\\yAWP ^n\\yPontjaid : \\w%d^nOldal ",oles[id])
new menu = menu_create(cim, "skin_menu");
formatex(skin1, charsmax(skin1),"%s", oles[id] >= 40 ? "\\r1 \\r[Megszerezve]" : "\\d1 \\r[40 Pont]\\y");
formatex(skin2, charsmax(skin2),"%s", oles[id] >= 60 ? "\\y2 \\r[Megszerezve]" : "\\d2 \\r[60 Pont]\\y");
formatex(skin3, charsmax(skin3),"%s", oles[id] >= 80 ? "\\r3 \\r[Megszerezve]" : "\\d3 \\r[80 Pont]\\y");
formatex(skin4, charsmax(skin4),"%s", oles[id] >= 110 ? "\\y4 \\r[Megszerezve]" : "\\d4 \\r[110 Pont]\\y");
formatex(skin5, charsmax(skin5),"%s", oles[id] >= 130 ? "\\r5 \\r[Megszerezve]" : "\\d5 \\r[130 Pont]\\y");
formatex(skin6, charsmax(skin6),"%s", oles[id] >= 150 ? "\\y6 \\r[Megszerezve]" : "\\d6 \\r[150 Pont]\\y");
formatex(skin7, charsmax(skin7),"%s", oles[id] >= 180 ? "\\r7 \\r[Megszerezve]" : "\\d7 \\r[180 Pont]\\y");
formatex(skin8, charsmax(skin8),"%s", oles[id] >= 210 ? "\\y8 \\r[Megszerezve]" : "\\d8 \\r[210 Pont]\\y");
formatex(skin9, charsmax(skin9),"%s", oles[id] >= 240 ? "\\r9 \\r[Megszerezve]" : "\\d9 \\r[240 Pont]\\y");
formatex(skin10, charsmax(skin10),"%s", oles[id] >= 270 ? "\\y10 \\r[Megszerezve]" : "\\d10 \\r[270 Pont]\\y");
formatex(skin11, charsmax(skin11),"%s", oles[id] >= 300 ? "\\r11 \vr[Megszerezve]" : "\\d11 \\r[300 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 330 ? "\\y12 \\r[Megszerezve]" : "\\d12 \\r[330 Pont]\\y");
formatex(skin13, charsmax(skin13),"%s", oles[id] >= 360 ? "\\r13 \\r[Megszerezve]" : "\\d13 \\r[360 Pont]\\y");
formatex(skin14, charsmax(skin14),"%s", oles[id] >= 390 ? "\\y14 \\r[Megszerezve]" : "\\d14 \\r[390 Pont]\\y");
formatex(skin15, charsmax(skin15),"%s", oles[id] >= 420 ? "\\r15 \\r[Megszerezve]" : "\\d15 \\r[420 Pont]\\y");
formatex(skin16, charsmax(skin16),"%s", oles[id] >= 450 ? "\\y16 \\r[Megszerezve]" : "\\d16 \\r[450 Pont]\\y");
menu_additem(menu, "\\yALAP AWP \\r[Megszerezve]", "1", 0 );
menu_additem(menu, skin1, "2", oles[id] >= 40 ? 0 : 1);
menu_additem(menu, skin2, "3", oles[id] >= 60 ? 0 : 1);
menu_additem(menu, skin3, "4", oles[id] >= 80 ? 0 : 1);
menu_additem(menu, skin4, "5", oles[id] >= 110 ? 0 : 1);
menu_additem(menu, skin5, "6", oles[id] >= 130 ? 0 : 1);
menu_additem(menu, skin6, "7", oles[id] >= 150 ? 0 : 1);
menu_additem(menu, skin7, "8", oles[id] >= 180 ? 0 : 1);
menu_additem(menu, skin8, "9", oles[id] >= 210 ? 0 : 1);
menu_additem(menu, skin9, "10", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin10, "11", oles[id] >= 270 ? 0 : 1);
menu_additem(menu, skin11, "12", oles[id] >= 300 ? 0 : 1);
menu_additem(menu, skin12, "13", oles[id] >= 330 ? 0 : 1);
menu_additem(menu, skin13, "14", oles[id] >= 360 ? 0 : 1);
menu_additem(menu, skin14, "15", oles[id] >= 390 ? 0 : 1);
menu_additem(menu, skin15, "16", oles[id] >= 420 ? 0 : 1);
menu_additem(menu, skin16, "17", oles[id] >= 450 ? 0 : 1);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Tovább");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
}
public pontmegtekint(id)
{
ColorChat(id, RED, "^3[EndLeSS] ^4Jelenleg ^3%d ^4ölésed van.", oles[id])
}
public event_sebzes( id ) {
new aldozat_id = id;
if( !is_user_connected( aldozat_id ) ) return PLUGIN_CONTINUE
new dmg_adas = read_data( 2 );
new dmgtype = read_data( 3 );
new Float:szorzo = get_pcvar_float(SEBZES);
new Float:sebzes = dmg_adas * szorzo;
new elet = get_user_health( aldozat_id );
new FegyID, sebzo_id = get_user_attacker( aldozat_id, FegyID );
if( !is_user_connected( sebzo_id ) || !is_user_alive( aldozat_id ) ) {
return PLUGIN_HANDLED
}
if( FegyID == CSW_AK47 && skin[sebzo_id] == 11 ) {
if( floatround(sebzes) >= elet ) {
if( aldozat_id == sebzo_id ) {
return PLUGIN_CONTINUE
}else{
log_kill( sebzo_id, aldozat_id, "ak47", 0 );
}
return PLUGIN_CONTINUE
}else {
if( aldozat_id == sebzo_id ) return PLUGIN_CONTINUE
fakedamage( aldozat_id, "weapon_ak47", sebzes, dmgtype );
}
}
return PLUGIN_CONTINUE
}
stock log_kill(gyilkos, aldozat, fegyver[],fejloves) {
user_silentkill( aldozat );
message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( gyilkos );
write_byte( aldozat );
write_byte( fejloves );
write_string( fegyver );
message_end();
new oles = get_user_frags( gyilkos );
set_user_frags( gyilkos, oles++ );
new elvetel = get_user_frags( aldozat );
set_user_frags( aldozat, elvetel++ );
return PLUGIN_CONTINUE
}
public fegyverek(id)
{
new fegyver = get_user_weapon(id)
set_user_footsteps(id , ( (skin[id] == 1 && fegyver == CSW_AWP) ? 1 : 0) )
return PLUGIN_CONTINUE
}
public KorUzenet() {
ColorChat(0, RED, "^3[EndLeSS] ^4AWP Menü megnyitása: ^3/awp");
return PLUGIN_HANDLED;
}
public skin_menu(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(id);
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)
skin[id] = 0
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad az ALAP-t!");
}
case 2:{
if(oles[id] >= 40)
skin[id] = 1
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 3:{
if(oles[id] >= 60)
skin[id] = 2
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 4:{
if(oles[id] >= 80)
skin[id] = 3
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 5:{
if(oles[id] >= 110)
skin[id] = 4
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 6:{
if(oles[id] >= 130)
skin[id] = 5
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 7:{
if(oles[id] >= 150)
skin[id] = 6
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 8:{
if(oles[id] >= 180)
skin[id] = 7
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 9:{
if(oles[id] >= 210)
skin[id] = 8
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 10:{
if(oles[id] >= 240)
skin[id] = 9
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 11:{
if(oles[id] >= 270)
skin[id] = 10
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 12:{
if(oles[id] >= 300)
skin[id] = 11
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 13:{
if(oles[id] >= 330)
skin[id] = 12
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 14:{
if(oles[id] >= 360)
skin[id] = 13
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 15:{
if(oles[id] >= 390)
skin[id] = 14
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 16:{
if(oles[id] >= 420)
skin[id] = 15
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
case 17:{
if(oles[id] >= 450)
skin[id] = 16
ColorChat(id, RED, "^3[EndLeSS] ^4Kiválasztottad teszt!");
}
}
menu_destroy(menu)
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")
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, "Ű", "Ű")
}
public mentes(id)
{
new vaultkey[64],vaultdata[256], authid[32]
get_user_authid(id, authid, 31)
format(vaultkey,63,"%s-SKIN", authid)
format(vaultdata,255,"%i#%i#", oles[id],skin[id])
nvault_set(vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new vaultkey[64],vaultdata[256], authid[32]
get_user_authid(id, authid, 31)
format(vaultkey,63,"%s-SKIN", authid)
format(vaultdata,255,"%i#%i#",oles[id],skin[id])
nvault_get(vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new str_num[32], skin_num[32]
parse(vaultdata, str_num, 31, skin_num, 31)
oles[id] = str_to_num(str_num)
skin[id] = str_to_num(skin_num)
return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
mentes(id)
}
public client_connect(id)
{
betoltes(id)
}