#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], skin17[121], skin18[121], skin19[121], skin20[121],
new const awp[] = "models/v_awp.mdl"
new const awp_1[] = "models/els_awp_new/fenyes.mdl"
new const awp_2[] = "models/els_awp_new/sotet.mdl"
new const awp_3[] = "models/els_awp_new/ezust.mdl"
new const awp_4[] = "models/els_awp_new/fa.mdl"
new const awp_5[] = "models/els_awp_new/arany.mdl"
new const awp_6[] = "models/els_awp_new/pulzus.mdl"
new const awp_7[] = "models/els_awp_new/csikos.mdl"
new const awp_8[] = "models/els_awp_new/terep.mdl"
new const awp_9[] = "models/els_awp_new/tuz.mdl"
new const awp_10[] = "models/els_awp_new/katonai.mdl"
new const awp_11[] = "models/els_awp_new/kobra.mdl"
new const awp_12[] = "models/els_awp_new/tigris.mdl"
new const awp_13[] = "models/els_awp_new/devolved.mdl"
new const awp_14[] = "models/els_awp_new/asiimov.mdl"
new const awp_15[] = "models/els_awp_new/crossfire.mdl"
new const awp_16[] = "models/els_awp_new/metal.mdl"
new const awp_17[] = "models/els_awp_new/magma.mdl"
new const awp_18[] = "models/els_awp_new/zombie.mdl"
new const awp_19[] = "models/els_awp_new/zombie2.mdl"
new const awp_20[] = "models/els_awp_new/star.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)
precache_model(awp_17)
precache_model(awp_18)
precache_model(awp_19)
precache_model(awp_20)
}
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)
if(skin[id] == 17 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_17)
if(skin[id] == 18 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_18)
if(skin[id] == 19 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_19)
if(skin[id] == 20 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_20)
}
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[Információ] ^4Kaptál ^3+%i ^1Ölést!", olesekert);
return PLUGIN_HANDLED;
}
public menu(id) {
new cim[121]
formatex(cim, charsmax(cim), "\\d[~|\\rEndLeSS\\d|~] \\yAWP \\dMenü ^n\\yPontjaid: \\w%d^nOldal ",oles[id])
new menu = menu_create(cim, "skin_menu");
formatex(skin1, charsmax(skin1),"%s", oles[id] >= 40 ? "\\rFényes AWP \\r[Megszerezve]" : "\\dFényes AWP \\r[40 Pont]\\y");
formatex(skin2, charsmax(skin2),"%s", oles[id] >= 60 ? "\\ySötét AWP \\r[Megszerezve]" : "\\dSötét AWP \\r[60 Pont]\\y");
formatex(skin3, charsmax(skin3),"%s", oles[id] >= 80 ? "\\rEzüst AWP \\r[Megszerezve]" : "\\dEzüst AWP \\r[80 Pont]\\y");
formatex(skin4, charsmax(skin4),"%s", oles[id] >= 110 ? "\\yFa AWP \\r[Megszerezve]" : "\\dFa AWP \\r[110 Pont]\\y");
formatex(skin5, charsmax(skin5),"%s", oles[id] >= 130 ? "\\rArany AWP \\r[Megszerezve]" : "\\dArany AWP \\r[130 Pont]\\y");
formatex(skin6, charsmax(skin6),"%s", oles[id] >= 150 ? "\\yPulzus AWP \\r[Megszerezve]" : "\\dPulzus AWP \\r[150 Pont]\\y");
formatex(skin7, charsmax(skin7),"%s", oles[id] >= 180 ? "\\rCsíkos AWP \\r[Megszerezve]" : "\\dCsíkos AWP \\r[180 Pont]\\y");
formatex(skin8, charsmax(skin8),"%s", oles[id] >= 210 ? "\\yTerep AWP \\r[Megszerezve]" : "\\dTerep AWP \\r[210 Pont]\\y");
formatex(skin9, charsmax(skin9),"%s", oles[id] >= 220 ? "\\yTűz AWP \\r[Megszerezve]" : "\\dTűz AWP \\r[210 Pont]\\y");
formatex(skin10, charsmax(skin10),"%s", oles[id] >= 230 ? "\\yKatonai AWP \\r[Megszerezve]" : "\\dKatonai AWP \\r[210 Pont]\\y");
formatex(skin11, charsmax(skin11),"%s", oles[id] >= 240 ? "\\yKobra AWP \\r[Megszerezve]" : "\\dKobra AWP \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yTigris AWP \\r[Megszerezve]" : "\\dTigris AWP \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yDevolved AWP \\r[Megszerezve]" : "\\dDevolved AWP \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yAsiimov AWP \\r[Megszerezve]" : "\\dAsiimov AWP \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yCrossFire AWP \\r[Megszerezve]" : "\\dCrossFire AWP \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yMetal AWP \\r[Megszerezve]" : "\\dMetal AWP \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yMagma AWP \\r[Megszerezve]" : "\\dMagma AWP \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yZombie AWP \\r[Megszerezve]" : "\\dZombie AWP \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yZombie AWP 2 \\r[Megszerezve]" : "\\dZombie AWP 2 \\r[210 Pont]\\y");
formatex(skin12, charsmax(skin12),"%s", oles[id] >= 250 ? "\\yStar AWP \\r[Megszerezve]" : "\\dStar AWP \\r[210 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] >= 220 ? 0 : 1);
menu_additem(menu, skin10, "11", oles[id] >= 230 ? 0 : 1);
menu_additem(menu, skin11, "12", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin12, "13", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin13, "14", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin14, "15", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin15, "16", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin16, "17", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin17, "18", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin18, "19", oles[id] >= 240 ? 0 : 1);
menu_additem(menu, skin19, "20", oles[id] >= 240 ? 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[Információ] ^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[Információ] ^4AWP ^nMenü: ^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[Információ] ^4Kiválasztottad az ASD!");
}
case 2:{
if(oles[id] >= 40)
skin[id] = 1
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad az ASD!");
}
case 3:{
if(oles[id] >= 60)
skin[id] = 2
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad az ASD!");
}
case 4:{
if(oles[id] >= 80)
skin[id] = 3
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 5:{
if(oles[id] >= 110)
skin[id] = 4
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 6:{
if(oles[id] >= 130)
skin[id] = 5
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 7:{
if(oles[id] >= 150)
skin[id] = 6
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad az ASD!");
}
case 8:{
if(oles[id] >= 180)
skin[id] = 7
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad az ASD!");
}
case 9:{
if(oles[id] >= 210)
skin[id] = 8
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 10:{
if(oles[id] >= 220)
skin[id] = 9
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 11:{
if(oles[id] >= 230)
skin[id] = 10
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 12:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 13:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 14:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 15:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 16:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 17:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 18:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 19:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
}
case 20:{
if(oles[id] >= 240)
skin[id] = 11
ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad a ASD!");
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)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/