#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, KISGRAV, SEBZES, ALAPGRAV, 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]
new const deagle[] = "models/v_deagle.mdl"
new const mp5[] = "models/fegyver_skin/v_mp5.mdl"
new const xm1014[] = "models/fegyver_skin/v_xm1014.mdl"
new const m3[] = "models/fegyver_skin/v_m3.mdl"
new const famas[] = "models/fegyver_skin/v_famas.mdl"
new const galil[] = "models/fegyver_skin/v_galil.mdl"
new const aug[] = "models/fegyver_skin/v_aug.mdl"
new const scout[] = "models/fegyver_skin/v_scout.mdl"
new const awp[] = "models/fegyver_skin/v_awp.mdl"
new const m249[] = "models/fegyver_skin/v_m249.mdl"
new const m4a1[] = "models/fegyver_skin/v_m4a1.mdl"
new const ak47[] = "models/fegyver_skin/v_ak47.mdl"
new const g_FegyverNevek[][32] =
{
"Alap Deagle",
"MP5Navy Skin",
"AutoShotgun Skin",
"Shotgun Skin",
"Famas Skin",
"Galil Skin",
"AUG Skin",
"Scout Skin",
"AWP Skin",
"M249 Skin",
"M4A1 Skin",
"AK47 Skin"
};
public plugin_precache()
{
precache_model(deagle)
precache_model(mp5)
precache_model(xm1014)
precache_model(m3)
precache_model(famas)
precache_model(galil)
precache_model(aug)
precache_model(scout)
precache_model(awp)
precache_model(m249)
precache_model(m4a1)
precache_model(ak47)
}
public plugin_init()
{
register_plugin("Fegyver Skinek", "1.0", "6almasok")
set_task(25.0, "KorUzenet", 0, _, _, "b")
//*eventek*//
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")
//*Parancsok*//
register_clcmd("say /skinmenu","menu")
register_clcmd("say /skin","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")
//*Cvarok*//
register_cvar("sima_oles", "2");
register_cvar("hs_oles", "2");
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");
KISGRAV = register_cvar("skin_kisgravity","470")
SEBZES = register_cvar("skin_sebzes", "2")
ALAPGRAV = get_cvar_pointer("sv_gravity")
//*vault*//
vault = nvault_open("fegyver_skin")
}
public fegyverid(id)
{
new fegyver = get_user_weapon(id)
if(skin[id] == 0 && fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, deagle)
if(skin[id] == 1 && fegyver == CSW_MP5NAVY)set_pev(id, pev_viewmodel2, mp5)
if(skin[id] == 2 && fegyver == CSW_XM1014)set_pev(id, pev_viewmodel2, xm1014)
if(skin[id] == 3 && fegyver == CSW_M3)set_pev(id, pev_viewmodel2, m3)
if(skin[id] == 4 && fegyver == CSW_FAMAS)set_pev(id, pev_viewmodel2, famas)
if(skin[id] == 5 && fegyver == CSW_GALIL)set_pev(id, pev_viewmodel2, galil)
if(skin[id] == 6 && fegyver == CSW_AUG)set_pev(id, pev_viewmodel2, aug)
if(skin[id] == 7 && fegyver == CSW_SCOUT)set_pev(id, pev_viewmodel2, scout)
if(skin[id] == 8 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp)
if(skin[id] == 9 && fegyver == CSW_M249)set_pev(id, pev_viewmodel2, m249)
if(skin[id] == 10 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m4a1)
if(skin[id] == 11 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak47)
}
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, GREEN, "^3[Fegyver Skin] ^1Mivel megoltel egy embert ezert kaptal ^3+%i ^1Olespontot.^4Csak igy tovabb.", olesekert);
return PLUGIN_HANDLED;
}
public menu(id) {
new cim[121]
formatex(cim, charsmax(cim), "\wFegyver Skinek \yBy \r6almasok^n\yOlesek : \w%d^nOldal ",oles[id])
new menu = menu_create(cim, "skin_menu");
formatex(skin1, charsmax(skin1),"%s", oles[id] >= 300 ? "\wMP5Navy \yA Segitokesz \r[Megszerezve]" : "\dMP5Navy \wA Segitokesz \r[300 Oles]\y-\r[LEZARVA]");
formatex(skin2, charsmax(skin2),"%s", oles[id] >= 600 ? "\wAutoShotgun \yKemeny Alkat \r[Megszerezve]" : "\dAutoShotgun \wKemeny Alkat \r[600 Oles]\y-\r[LEZARVA]");
formatex(skin3, charsmax(skin3),"%s", oles[id] >= 1000 ? "\wShutGun \yAz Elveszett \r[Megszerezve]" : "\dShutGun \wAz Elveszett \r[1000 Oles]\y-\r[LEZARVA]");
formatex(skin4, charsmax(skin4),"%s", oles[id] >= 1600 ? "\wFamas \yRejtozkodes \r[Megszerezve]" : "\dFamas \wRejtozkodes \r[1600 Oles]\y-\r[LEZARVA]");
formatex(skin5, charsmax(skin5),"%s", oles[id] >= 2400 ? "\wGalil \yPower FULL \r[Megszerezve]" : "\dGalil \wPower FULL \r[2400 Oles]\y-\r[LEZARVA]");
formatex(skin6, charsmax(skin6),"%s", oles[id] >= 3300 ? "\wAUG \yA Specialista \r[Megszerezve]" : "\dAUG \wA Specialista \r[3300 Oles]\y-\r[LEZARVA]");
formatex(skin7, charsmax(skin7),"%s", oles[id] >= 4300 ? "\wScout \yTuzbe Szuletett \r[Megszerezve]" : "\dScout \wTuzbe Szuletett \r[4300 Oles]\y-\r[LEZARVA]");
formatex(skin8, charsmax(skin8),"%s", oles[id] >= 6000 ? "\wAWP \y[Kepesseg : Nem Trappolsz] \r[Megszerezve]" : "\dAWP \wA Raptor Vadasz \r[6000 Oles]\y-\r[LEZARVA]");
formatex(skin9, charsmax(skin9),"%s", oles[id] >= 8000 ? "\wM249 \y[Kepesseg : Kis Gravitacio] \r[Megszerezve]" : "\dM249 \wSzerver Predator \r[8000 Oles]\y-\r[LEZARVA]");
formatex(skin10, charsmax(skin10),"%s", oles[id] >= 10000 ? "\wM4A1 \y[Kepesseg : Felig Atlatszo] \r[Megszerezve]" : "\dM4A1 \wHalal Oszto \r[10000 Oles]\y-\r[LEZARVA]");
formatex(skin11, charsmax(skin11),"%s", oles[id] >= 12500 ? "\wAK47 \y[Kepesseg : Dupla Sebzes] \r[Megszerezve]" : "\dAK47 \wA LEGENDAS \r[12500 Oles]\y-\r[LEZARVA]");
menu_additem(menu, "\yAlap Deagle \r[Megszerezve]", "1", 0 );
menu_additem(menu, skin1, "2", oles[id] >= 300 ? 0 : 1);
menu_additem(menu, skin2, "3", oles[id] >= 600 ? 0 : 1);
menu_additem(menu, skin3, "4", oles[id] >= 1000 ? 0 : 1);
menu_additem(menu, skin4, "5", oles[id] >= 1600 ? 0 : 1);
menu_additem(menu, skin5, "6", oles[id] >= 2400 ? 0 : 1);
menu_additem(menu, skin6, "7", oles[id] >= 3300 ? 0 : 1);
menu_additem(menu, skin7, "8", oles[id] >= 4300 ? 0 : 1);
menu_additem(menu, skin8, "9", oles[id] >= 6000 ? 0 : 1);
menu_additem(menu, skin9, "10", oles[id] >= 8000 ? 0 : 1);
menu_additem(menu, skin10, "11", oles[id] >= 10000 ? 0 : 1);
menu_additem(menu, skin11, "12", oles[id] >= 12500 ? 0 : 1);
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);
}
public pontmegtekint(id)
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Neked ^3%d ^4olesed 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] == 8 && fegyver == CSW_AWP) ? 1 : 0) )
new Float:Gravitacio = ((skin[id] == 9 && fegyver == CSW_M249)? get_pcvar_float(KISGRAV) : get_pcvar_float(ALAPGRAV)) / 800.0
set_user_gravity(id, Gravitacio)
if(fegyver != CSW_M4A1 || skin[id] < 10)
return PLUGIN_CONTINUE
else if(skin[id] == 10)
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 80)
}
public KorUzenet() {
ColorChat(0, GREEN, "^3[Fegyver Skin] ^4Ird be ^3/skin ^4hogy megnyisd a ^1Fegyver Skin ^4menut.");
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);
ColorChat(id, GREEN, "^4[Fegyver Skin] ^1Kivalasztottad az ^3%s-t", g_FegyverNevek[item]);
switch(key)
{
case 1:{
if(oles[id] >= 0)
skin[id] = 0
}
case 2:{
if(oles[id] >= 300)
skin[id] = 1
}
case 3:{
if(oles[id] >= 600)
skin[id] = 2
}
case 4:{
if(oles[id] >= 1000)
skin[id] = 3
}
case 5:{
if(oles[id] >= 1600)
skin[id] = 4
}
case 6:{
if(oles[id] >= 2400)
skin[id] = 5
}
case 7:{
if(oles[id] >= 3300)
skin[id] = 6
}
case 8:{
if(oles[id] >= 4300)
skin[id] = 7
}
case 9:{
if(oles[id] >= 6000)
skin[id] = 8
}
case 10:{
if(oles[id] >= 8000)
skin[id] = 9
}
case 11:{
if(oles[id] >= 10000)
skin[id] = 10
}
case 12:{
if(oles[id] >= 12500)
skin[id] = 11
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
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)
}