#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <cstrike>
#include <nvault>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#define KILL_POINT 5
#define HEADSHOT_POINT 10
enum _:GunDatas {
AWP,
DEAGLE,
KNIFE,
AK47,
M4A1,
USP,
Glock18,
Famas,
Galil,
AUG,
Scout
}
new g_SelectedGun[GunDatas][33], g_uPoints[GunDatas][33], g_Wpn[33]
new vault
new const PREFIX[] = "^3[^4.:DarK*_*Age:.^3] ^3»"
enum _:DATA {
GunName[64],
ModelName[64],
Points[8],
AnimType[8]
}
new const WeaponWp[][DATA] = {
{"Alap AWP", "models/v_awp.mdl", 0, -1},
{"Dragon Lore", "models/MagyarFun-skin/v_awp_1.mdl", 125, -1},
{"Asiimov", "models/MagyarFun-skin/v_awp_2.mdl", 450, -1},
{"Deadly Birds", "models/MagyarFun-skin/v_awp_3.mdl", 800, -1},
{"Neon", "models/MagyarFun-skin/v_awp_4.mdl", 1500, -1},
{"Blue Angel", "models/MagyarFun-skin/v_awp_5.mdl", 3000, -1},
{"Unicorn", "models/MagyarFun-skin/v_awp_6.mdl", 4500, -1},
{"Hyper Beast", "models/MagyarFun-skin/v_awp_7.mdl", 6000, -1},
{"Azure Fantasy", "models/MagyarFun-skin/v_awp_8.mdl", 10000, -1},
{"Boom", "models/MagyarFun-skin/v_awp_9.mdl", 18000, -1},
{"De Jackal", "models/MagyarFun-skin/v_awp_10.mdl", 50000, -1},
{"Meres", "models/MagyarFun-skin/v_awp_11.mdl", 0, 6},
{"Ice Palm", "models/MagyarFun-skin/v_awp_12.mdl", 0, 6},
{"Vörös vonal", "models/MagyarFun-skin/v_awp_13.mdl", 0, 6}
}
new const WeaponDeagle[][DATA] = {
{"Alap Deagle", "models/v_deagle.mdl", 0, -1},
{"Alexandria", "models/MagyarFun-skin/v_deagle_1.mdl", 150, -1},
{"Neon Electro", "models/MagyarFun-skin/v_deagle_2.mdl", 1000, -1},
{"Blaze", "models/MagyarFun-skin/v_deagle_3.mdl", 2000, -1},
{"Crown", "models/MagyarFun-skin/v_deagle_4.mdl", 3000, -1},
{"Flames", "models/MagyarFun-skin/v_deagle_5.mdl", 4500, -1},
{"Doomsday", "models/MagyarFun-skin/v_deagle_6.mdl", 6500, -1},
{"Császár", "models/MagyarFun-skin/v_deagle_7.mdl", 15000, -1},
{"Blazev2", "models/MagyarFun-skin/v_deagle_8.mdl", 0, 6},
{"Konspiráció", "models/MagyarFun-skin/v_deagle_9.mdl", 0, 6}
}
new const WeaponKnife[][DATA] = {
{"Alap Kes", "models/v_knife.mdl", 0, -1},
{"Deep Space", "models/MagyarFun-skin/v_knife_1.mdl", 5, -1},
{"Daggers Bloody Web", "models/MagyarFun-skin/v_knife_2.mdl", 15, -1},
{"Blood Edge", "models/MagyarFun-skin/v_knife_3.mdl", 30, -1},
{"Fade", "models/MagyarFun-skin/v_knife_4.mdl", 45, -1},
{"Water Elemental", "models/MagyarFun-skin/v_knife_5.mdl", 60, -1},
{"PaintSplash", "models/MagyarFun-skin/v_knife_6.mdl", 85, -1},
{"Asiimov", "models/MagyarFun-skin/v_knife_7.mdl", 100, -1},
{"Bright Water", "models/MagyarFun-skin/v_knife_8.mdl", 200, -1},
{"BOOM", "models/MagyarFun-skin/v_knife_9.mdl", 300, -1},
{"Blaze", "models/MagyarFun-skin/v_knife_10.mdl", 400, -1},
{"Waves 2.", "models/MagyarFun-skin/v_knife_11.mdl", 500, -1},
{"Dreamer green", "models/MagyarFun-skin/v_knife_12.mdl", 1000, -1},
{"Gamma Doppler", "models/MagyarFun-skin/v_knife_13.mdl", 1200, -1},
{"Hyper Beast", "models/MagyarFun-skin/v_knife_14.mdl", 1600, -1},
{"Case Hardened", "models/MagyarFun-skin/v_knife_15.mdl", 2100, -1},
{"Black Camo", "models/MagyarFun-skin/v_knife_16.mdl", 3300, -1},
{"Damasus Steel", "models/MagyarFun-skin/v_knife_17.mdl", 4500, -1},
{"Discontinuity", "models/MagyarFun-skin/v_knife_18.mdl", 0, 8},
{"Dreamer Red", "models/MagyarFun-skin/v_knife_19.mdl", 0, 8}
}
new const WeaponAk[][DATA] = {
{"Alap AK47", "models/v_ak47.mdl", 0, -1},
{"Propaganda", "models/MagyarFun-skin/v_ak47_1.mdl", 250, -1},
{"Frontside", "models/MagyarFun-skin/v_ak47_2.mdl", 800, -1},
{"Wasteland", "models/MagyarFun-skin/v_ak47_3.mdl", 2000, -1},
{"Shark Attack", "models/MagyarFun-skin/v_ak47_4.mdl", 3500, -1},
{"Redline", "models/MagyarFun-skin/v_ak47_5.mdl", 5000, -1},
{"Furious Peacock", "models/MagyarFun-skin/v_ak47_6.mdl", 10000, -1},
{"Bőr", "models/MagyarFun-skin/v_ak47_7.mdl", 20000, -1},
{"Bloodsport", "models/MagyarFun-skin/v_ak47_8.mdl", 40000, -1},
{"Standard Point Dissary", "models/MagyarFun-skin/v_ak47_9.mdl", 60000, -1},
{"Anubis", "models/MagyarFun-skin/v_ak47_10.mdl", 100000, -1},
{"Armagedon", "models/MagyarFun-skin/v_ak47_11.mdl", 0, 6},
{"Astronaut", "models/MagyarFun-skin/v_ak47_12.mdl", 0, 6}
}
new const WeaponM4[][DATA] = {
{"Alap M4A1", "models/v_m4a1.mdl", 0, -1},
{"Hot Lava", "models/MagyarFun-skin/v_m4a1_1.mdl", 250, -1},
{"Desolate Space", "models/MagyarFun-skin/v_m4a1_2.mdl", 800, -1},
{"Icarus Fell", "models/MagyarFun-skin/v_m4a1_3.mdl", 2000, -1},
{"CYREX", "models/MagyarFun-skin/v_m4a1_4.mdl", 3500, -1},
{"Howl", "models/MagyarFun-skin/v_m4a1_5.mdl", 5000, -1},
{"Neon Electro", "models/MagyarFun-skin/v_m4a1_6.mdl", 10000, -1},
{"Nightwolf", "models/MagyarFun-skin/v_m4a1_6.mdl", 20000, -1},
{"Toxikátor", "models/MagyarFun-skin/v_m4a1_7.mdl", 40000, -1},
{"MasterPiece", "models/MagyarFun-skin/v_m4a1_8.mdl", 60000, -1},
{"Hyper Beast", "models/MagyarFun-skin/v_m4a1_9.mdl", 100000, -1},
{"Basilik", "models/MagyarFun-skin/v_m4a1_10.mdl", 0, 14}
new const WeaponGlock[][DATA] = {
{"Alap Glock18", "models/v_glock.mdl", 0, -1},
new const WeaponFamas[][DATA] = {
{"Alap Famas", "models/v_famas.mdl", 0, -1},
new const WeaponGalil[][DATA] = {
{"Alap Galil", "models/v_galil.mdl", 0, -1},
new const WeaponAUG[][DATA] = {
{"Alap AUG", "models/v_aug.mdl", 0, -1},
new const WeaponScout[][DATA] = {
{"Alap Scout", "models/v_scout.mdl", 0, -1},
}
new const MainStrings[][] = {
"\y<\r[\yAWP Skinek\r]\y>",
"\y<\r[\yDeagle Skinek\r]\y>",
"\y<\r[\yKés Skinek\r]\y>",
"\y<\r[\yAK47 Skinek\r]\y>",
"\y<\r[\yM4A1 Skinek\r]\y>"
"\y<\r[\yUSP Skinek\r]\y>"
"\y<\r[\yGlock18 Skinek\r]\y>"
"\y<\r[\yFamas Skinek\r]\y>"
"\y<\r[\yGalil Skinek\r]\y>"
"\y<\r[\yAUG Skinek\r]\y>"
"\y<\r[\yScout Skinek\r]\y>"
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_impulse(201, "openMainMenu")
register_clcmd("say /menu", "openMainMenu")
register_event("DeathMsg","Halal","a")
register_event("CurWeapon", "evChangeWeapon", "be", "1=1")
register_impulse(100, "cmdInspectWeap");
vault = nvault_open("savesystem");
set_task(160.0, "INFO", 0, _, _, "b")
}
public plugin_precache() {
for(new i;i < sizeof(WeaponWp); i++) precache_model(WeaponWp[i][ModelName])
for(new i;i < sizeof(WeaponDeagle); i++) precache_model(WeaponDeagle[i][ModelName])
for(new i;i < sizeof(WeaponKnife); i++) precache_model(WeaponKnife[i][ModelName])
for(new i;i < sizeof(WeaponAk); i++) precache_model(WeaponAk[i][ModelName])
for(new i;i < sizeof(WeaponM4); i++) precache_model(WeaponM4[i][ModelName])
for(new i;i < sizeof(WeaponGlock); i++) precache_model(WeaponGlock[i][ModelName])
for(new i;i < sizeof(WeaponFamas); i++) precache_model(WeaponFamas[i][ModelName])
for(new i;i < sizeof(WeaponGalil); i++) precache_model(WeaponGalil[i][ModelName])
for(new i;i < sizeof(WeaponAUG); i++) precache_model(WeaponAUG[i][ModelName])
for(new i;i < sizeof(WeaponScout); i++) precache_model(WeaponScout[i][ModelName])
}
public cmdInspectWeap(id) {
if(!is_user_alive(id)) return PLUGIN_HANDLED;
new Wpns = get_user_weapon(id)
switch(Wpns) {
case CSW_AWP: {
if(WeaponWp[g_SelectedGun[AWP][id]][AnimType] == -1) return PLUGIN_HANDLED;
UTIL_PlayWeaponAnimation(id, WeaponWp[g_SelectedGun[AWP][id]][AnimType]);
}
case CSW_DEAGLE: {
if(WeaponDeagle[g_SelectedGun[DEAGLE][id]][AnimType] == -1) return PLUGIN_HANDLED;
UTIL_PlayWeaponAnimation(id, WeaponDeagle[g_SelectedGun[DEAGLE][id]][AnimType]);
}
case CSW_KNIFE: {
if(WeaponKnife[g_SelectedGun[KNIFE][id]][AnimType] == -1) return PLUGIN_HANDLED;
UTIL_PlayWeaponAnimation(id, WeaponKnife[g_SelectedGun[KNIFE][id]][AnimType]);
}
case CSW_AK47: {
if(WeaponAk[g_SelectedGun[AK47][id]][AnimType] == -1) return PLUGIN_HANDLED;
UTIL_PlayWeaponAnimation(id, WeaponAk[g_SelectedGun[AK47][id]][AnimType]);
}
case CSW_M4A1: {
if(WeaponM4[g_SelectedGun[M4A1][id]][AnimType] == -1) return PLUGIN_HANDLED;
UTIL_PlayWeaponAnimation(id, WeaponM4[g_SelectedGun[M4A1][id]][AnimType]);
}
}
return PLUGIN_HANDLED
}
public evChangeWeapon(id) {
switch(get_user_weapon(id)) {
case CSW_AK47: entity_set_string(id, EV_SZ_viewmodel, WeaponAk[g_SelectedGun[AK47][id]][ModelName]);
case CSW_M4A1: entity_set_string(id, EV_SZ_viewmodel, WeaponM4[g_SelectedGun[M4A1][id]][ModelName]);
case CSW_AWP: entity_set_string(id, EV_SZ_viewmodel, WeaponWp[g_SelectedGun[AWP][id]][ModelName]);
case CSW_DEAGLE: entity_set_string(id, EV_SZ_viewmodel, WeaponDeagle[g_SelectedGun[DEAGLE][id]][ModelName]);
case CSW_KNIFE: entity_set_string(id, EV_SZ_viewmodel, WeaponKnife[g_SelectedGun[KNIFE][id]][ModelName]);
}
return PLUGIN_CONTINUE
}
public Halal() {
new iAttacker = read_data(1)
new iVictim = read_data(2)
new iHs = read_data(3)
if(iAttacker == iVictim || iAttacker == 0) return PLUGIN_HANDLED
new iPoints = iHs ? HEADSHOT_POINT : KILL_POINT
switch(get_user_weapon(iAttacker)) {
case CSW_AK47: g_uPoints[AK47][iAttacker] += iPoints
case CSW_M4A1: g_uPoints[M4A1][iAttacker] += iPoints
case CSW_AWP: g_uPoints[AWP][iAttacker] += iPoints
case CSW_DEAGLE: g_uPoints[DEAGLE][iAttacker] += iPoints
case CSW_KNIFE: g_uPoints[KNIFE][iAttacker] += iPoints
}
set_hudmessage(random(256), random(256), random(256), -1.0, 0.85, 0, 6.0, 3.0);
show_hudmessage(iAttacker, "+%i Pont", iPoints);
return PLUGIN_CONTINUE;
}
public openMainMenu(id) {
new szMenu[121], String[6]
formatex(szMenu, charsmax(szMenu), "\r.:[\y.:DarK*_*Age:.\r]:.\yPub/Fun\r]^n\r%s \wFőmenü", PREFIX)
new menu = menu_create(szMenu, "hMainMenu");
for(new i ;i < sizeof(MainStrings); i++) {
num_to_str(i, String, 5)
formatex(szMenu, charsmax(szMenu), MainStrings[i]);
menu_additem(menu, szMenu, String);
}
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public hMainMenu(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
g_Wpn[id] = item+1
openSkinMenu(id)
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public openSkinMenu(id) {
new szMenu[121], szMenu2[64], String[6]
if(g_Wpn[id] == 1) formatex(szMenu, charsmax(szMenu), "\r.:[\.:DarK*_*Age:.\r]:.\yFUNSERVER\r]^n\r%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[AWP][id])
else if(g_Wpn[id] == 2) formatex(szMenu, charsmax(szMenu), "\r.:[\.:DarK*_*Age:.\r]:.\yFUNSERVER\r]^n\r%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[DEAGLE][id])
else if(g_Wpn[id] == 3) formatex(szMenu, charsmax(szMenu), "\r.:[\.:DarK*_*Age:.\r]:.\yFUNSERVER\r]^n\r%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[KNIFE][id])
else if(g_Wpn[id] == 4) formatex(szMenu, charsmax(szMenu), "\r.:[\.:DarK*_*Age:.\r]:.\yFUNSERVER\r]^n\r%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[AK47][id])
else if(g_Wpn[id] == 5) formatex(szMenu, charsmax(szMenu), "\r.:[\.:DarK*_*Age:.\r]:.\yFUNSERVER\r]^n\r%s \w%s^n\wPont: \y%i\d", PREFIX, MainStrings[g_Wpn[id]-1], g_uPoints[M4A1][id])
new menu = menu_create(szMenu, "hSkinChooser");
if(g_Wpn[id] == 1) {
for(new i; i < sizeof(WeaponWp); i++) {
num_to_str(i, String, 5)
formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponWp[i][Points]);
formatex(szMenu, charsmax(szMenu), "%s %s", WeaponWp[i][GunName], g_SelectedGun[AWP][id] == i ? "\y|Aktív|": szMenu2);
menu_additem(menu, szMenu, String);
}
}
else if(g_Wpn[id] == 2) {
for(new i; i < sizeof(WeaponDeagle); i++) {
num_to_str(i, String, 5)
formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponDeagle[i][Points]);
formatex(szMenu, charsmax(szMenu), "%s %s", WeaponDeagle[i][GunName], g_SelectedGun[DEAGLE][id] == i ? "\y|Aktív|": szMenu2);
menu_additem(menu, szMenu, String);
}
}
else if(g_Wpn[id] == 3) {
for(new i; i < sizeof(WeaponKnife); i++) {
num_to_str(i, String, 5)
formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponKnife[i][Points]);
formatex(szMenu, charsmax(szMenu), "%s %s", WeaponKnife[i][GunName], g_SelectedGun[KNIFE][id] == i ? "\y|Aktív|": szMenu2);
menu_additem(menu, szMenu, String);
}
}
else if(g_Wpn[id] == 4) {
for(new i; i < sizeof(WeaponAk); i++) {
num_to_str(i, String, 5)
formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponAk[i][Points]);
formatex(szMenu, charsmax(szMenu), "%s %s", WeaponAk[i][GunName], g_SelectedGun[AK47][id] == i ? "\y|Aktív|": szMenu2);
menu_additem(menu, szMenu, String);
}
}
else if(g_Wpn[id] == 5) {
for(new i; i < sizeof(WeaponM4); i++) {
num_to_str(i, String, 5)
formatex(szMenu2, charsmax(szMenu2), "\r|%i| Ölés", WeaponM4[i][Points]);
formatex(szMenu, charsmax(szMenu), "%s %s", WeaponM4[i][GunName], g_SelectedGun[M4A1][id] == i ? "\y|Aktív|": szMenu2);
menu_additem(menu, szMenu, String);
}
}
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public hSkinChooser(id, menu, item) {
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(g_Wpn[id]) {
case 1: {
if(g_uPoints[AWP][id] >= WeaponWp[item][Points]) {
g_SelectedGun[AWP][id] = item
ChatColor(id, "^4%s ^1Sikeresen aktiváltad a skint!", PREFIX)
}
else ChatColor(id, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", PREFIX)
}
case 2: {
if(g_uPoints[DEAGLE][id] >= WeaponDeagle[item][Points]) {
g_SelectedGun[DEAGLE][id] = item
ChatColor(id, "^4%s ^1Sikeresen aktiváltad a skint!", PREFIX)
}
else ChatColor(id, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", PREFIX)
}
case 3: {
if(g_uPoints[KNIFE][id] >= WeaponKnife[item][Points]) {
g_SelectedGun[KNIFE][id] = item
ChatColor(id, "^4%s ^1Sikeresen aktiváltad a skint!", PREFIX)
}
else ChatColor(id, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", PREFIX)
}
case 4: {
if(g_uPoints[AK47][id] >= WeaponAk[item][Points]) {
g_SelectedGun[AK47][id] = item
ChatColor(id, "^4%s ^1Sikeresen aktiváltad a skint!", PREFIX)
}
else ChatColor(id, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", PREFIX)
}
case 5: {
if(g_uPoints[M4A1][id] >= WeaponM4[item][Points]) {
g_SelectedGun[M4A1][id] = item
ChatColor(id, "^4%s ^1Sikeresen aktiváltad a skint!", PREFIX)
}
else ChatColor(id, "^4%s ^1Nincs elég ölésed az aktiváláshoz!", PREFIX)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public INFO()
{
ChatColor(0, "^4.:[^3Magyar^4]:. ^3» ^1Sima Ölés:^3 5^1Pont^1Fejlövés:^3 10^1Pont")
}
public mentes(id)
{
new Steamid[33]
get_user_authid(id, Steamid, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", Steamid)
format(vaultdata,255,"%i#%i#%i#%i#%i#",g_uPoints[AK47][id],g_uPoints[M4A1][id],g_uPoints[AWP][id],g_uPoints[DEAGLE][id],g_uPoints[KNIFE][id])
nvault_set(vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new Steamid[32]
get_user_authid(id, Steamid, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s", Steamid)
format(vaultdata,255,"%i#%i#%i#%i#%i#",g_uPoints[AK47][id],g_uPoints[M4A1][id],g_uPoints[AWP][id],g_uPoints[DEAGLE][id],g_uPoints[KNIFE][id])
nvault_get(vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new a_o[32], b_o[32], c_o[32],d_o[32],e_o[32]
parse(vaultdata, a_o, 31, b_o, 31, c_o, 31, d_o, 31, e_o, 31)
g_uPoints[AK47][id] = str_to_num(a_o)
g_uPoints[M4A1][id] = str_to_num(b_o)
g_uPoints[AWP][id] = str_to_num(c_o)
g_uPoints[DEAGLE][id] = str_to_num(d_o)
g_uPoints[KNIFE][id] = str_to_num(e_o)
return PLUGIN_CONTINUE
}
stock UTIL_PlayWeaponAnimation(const Player, const Sequence) {
set_pev(Player, pev_weaponanim, Sequence)
message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
write_byte(Sequence)
write_byte(pev(Player, pev_body))
message_end()
}
public client_authorized(id)
{
if(!is_user_bot(id) && !is_user_hltv(id))
{
betoltes(id);
}
}
public client_disconnect(id)
{
if(!is_user_bot(id) && !is_user_hltv(id))
{
mentes(id);
}
}
stock ChatColor(const id, const szMessage[], any:...) {
static pnum, players[32], szMsg[190], IdMsg;
vformat(szMsg, charsmax(szMsg), szMessage, 3);
if(!IdMsg) IdMsg = get_user_msgid("SayText");
if(id) {
if(!is_user_connected(id)) return;
players[0] = id;
pnum = 1;
}
else get_players(players, pnum, "ch");
for(new i; i < pnum; i++) {
message_begin(MSG_ONE, IdMsg, .player = players[i]);
write_byte(players[i]);
write_string(szMsg);
message_end();
}
}