#include <amxmodx>
#include <amxmisc>
#include <fvault>
#include <fakemeta>
#define PLUGIN "Weap kills"
#define VERSION "1.0"
#define AUTHOR "mforce"
#define PREFIX "mforce"
#define KILL_POINT (1)
#define HEADSHOT_POINT (2)
new const POINTS[] = {
300, // Rusty Snipers, 0. elem
600, // Silver Snipers, 1.
1200, // Gold Snipers, 2.
75, // Rusty Pistols, 3.
150, // Silver Pistols, 4.
300, // Gold Pistols, 5.
40, // Rusty Knife, 6.
80, // Silver Knife, 7.
160 // Gold Knife, 8.
};
enum _:PLAYER_DATABASE
{
STEAMID[32],
AWP_KILLS,
SCOUT_KILLS,
DEAGLE_KILLS,
USP_KILLS,
GLOCK_KILLS,
KNIFE_KILLS,
AWP_MENU,
SCOUT_MENU,
DEAGLE_MENU,
USP_MENU,
GLOCK_MENU,
KNIFE_MENU
}
new player_data[33][PLAYER_DATABASE];
new const szVaultName[ ] = "weap_skins";
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("weap_kills", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
register_clcmd("say /menu", "ShowMenu")
register_event("DeathMsg", "halal", "a")
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
set_task(172.0, "pontrendszerfut", 0, _, _, "b");
}
new const fegyverek[][] = {
"models/weap_skins/p_rozsdas_awp.mdl", // 0. elem
"models/weap_skins/v_rozsdas_awp.mdl", // 1
"models/weap_skins/p_silver_awp.mdl", // 2
"models/weap_skins/v_silver_awp.mdl", // 3
"models/weap_skins/p_arany_awp.mdl", // 4
"models/weap_skins/v_arany_awp.mdl", // 5
"models/weap_skins/p_rozsdas_scout.mdl", // 6
"models/weap_skins/v_rozsdas_scout.mdl", // 7
"models/weap_skins/p_silver_scout.mdl", // 8
"models/weap_skins/v_silver_scout.mdl", // 9
"models/weap_skins/p_arany_scout.mdl", // 10
"models/weap_skins/v_arany_scout.mdl", // 11
"models/weap_skins/p_rozsdas_deagle.mdl", // 12
"models/weap_skins/v_rozsdas_deagle.mdl", // 13
"models/weap_skins/p_silver_deagle.mdl", // 14
"models/weap_skins/v_silver_deagle.mdl", // 15
"models/weap_skins/p_arany_deagle.mdl", // 16
"models/weap_skins/v_arany_deagle.mdl", // 17
"models/weap_skins/p_rozsdas_usp.mdl", // 18
"models/weap_skins/v_rozsdas_usp.mdl", // 19
"models/weap_skins/p_silver_usp.mdl", // 20
"models/weap_skins/v_silver_usp.mdl", // 21
"models/weap_skins/p_arany_usp.mdl", // 22
"models/weap_skins/v_arany_usp.mdl", // 23
"models/weap_skins/p_rozsdas_glock.mdl", // 24
"models/weap_skins/v_rozsdas_glock.mdl", // 25
"models/weap_skins/p_silver_glock.mdl", // 26
"models/weap_skins/v_silver_glock.mdl", // 27
"models/weap_skins/p_arany_glock.mdl", // 28
"models/weap_skins/v_arany_glock.mdl", // 29
"models/weap_skins/p_rozsdas_knife.mdl", // 30
"models/weap_skins/v_rozsdas_knife.mdl", // 31
"models/weap_skins/p_silver_knife.mdl", // 32
"models/weap_skins/v_silver_knife.mdl", // 33
"models/weap_skins/p_arany_knife.mdl", // 34
"models/weap_skins/v_arany_knife.mdl" // 35
};
public Event_CurWeapon(id) {
new weap = get_user_weapon(id)
if(weap == CSW_AWP) {
if(player_data[id][AWP_MENU] == 1) {
set_pev(id, pev_weaponmodel2, fegyverek[0]) // p_modell
set_pev(id, pev_viewmodel2, fegyverek[1]) // v_modell
}
else if(player_data[id][AWP_MENU] == 2) {
set_pev(id, pev_weaponmodel2, fegyverek[2])
set_pev(id, pev_viewmodel2, fegyverek[3])
}
else if(player_data[id][AWP_MENU] == 3) {
set_pev(id, pev_weaponmodel2, fegyverek[4])
set_pev(id, pev_viewmodel2, fegyverek[5])
}
}
if(weap == CSW_SCOUT) {
if(player_data[id][SCOUT_MENU] == 1) {
set_pev(id, pev_weaponmodel2, fegyverek[6])
set_pev(id, pev_viewmodel2, fegyverek[7])
}
else if(player_data[id][SCOUT_MENU] == 2) {
set_pev(id, pev_weaponmodel2, fegyverek[8])
set_pev(id, pev_viewmodel2, fegyverek[9])
}
else if(player_data[id][SCOUT_MENU] == 3) {
set_pev(id, pev_weaponmodel2, fegyverek[10])
set_pev(id, pev_viewmodel2, fegyverek[11])
}
}
if(weap == CSW_DEAGLE) {
if(player_data[id][DEAGLE_MENU] == 1) {
set_pev(id, pev_weaponmodel2, fegyverek[12])
set_pev(id, pev_viewmodel2, fegyverek[13])
}
else if(player_data[id][DEAGLE_MENU] == 2) {
set_pev(id, pev_weaponmodel2, fegyverek[14])
set_pev(id, pev_viewmodel2, fegyverek[15])
}
else if(player_data[id][DEAGLE_MENU] == 3) {
set_pev(id, pev_weaponmodel2, fegyverek[16])
set_pev(id, pev_viewmodel2, fegyverek[17])
}
}
if(weap == CSW_USP) {
if(player_data[id][USP_MENU] == 1) {
set_pev(id, pev_weaponmodel2, fegyverek[18])
set_pev(id, pev_viewmodel2, fegyverek[19])
}
else if(player_data[id][USP_MENU] == 2) {
set_pev(id, pev_weaponmodel2, fegyverek[20])
set_pev(id, pev_viewmodel2, fegyverek[21])
}
else if(player_data[id][USP_MENU] == 3) {
set_pev(id, pev_weaponmodel2, fegyverek[22])
set_pev(id, pev_viewmodel2, fegyverek[23])
}
}
if(weap == CSW_GLOCK18) {
if(player_data[id][GLOCK_MENU] == 1) {
set_pev(id, pev_weaponmodel2, fegyverek[24])
set_pev(id, pev_viewmodel2, fegyverek[25])
}
else if(player_data[id][GLOCK_MENU] == 2) {
set_pev(id, pev_weaponmodel2, fegyverek[26])
set_pev(id, pev_viewmodel2, fegyverek[27])
}
else if(player_data[id][GLOCK_MENU] == 3) {
set_pev(id, pev_weaponmodel2, fegyverek[28])
set_pev(id, pev_viewmodel2, fegyverek[29])
}
}
if(weap == CSW_KNIFE) {
if(player_data[id][KNIFE_MENU] == 1) {
set_pev(id, pev_weaponmodel2, fegyverek[30])
set_pev(id, pev_viewmodel2, fegyverek[31])
}
else if(player_data[id][KNIFE_MENU] == 2) {
set_pev(id, pev_weaponmodel2, fegyverek[32])
set_pev(id, pev_viewmodel2, fegyverek[33])
}
else if(player_data[id][KNIFE_MENU] == 3) {
set_pev(id, pev_weaponmodel2, fegyverek[34])
set_pev(id, pev_viewmodel2, fegyverek[35])
}
}
}
public plugin_precache() {
for(new i; i<sizeof(fegyverek);i++) precache_model(fegyverek[i]);
}
public halal() {
static killer, victim, headshot, weapon[32];
killer = read_data(1);
victim = read_data(2);
headshot = read_data(3);
read_data(4, weapon, charsmax(weapon));
if (!is_user_connected(killer) || !is_user_connected(victim) || killer == victim || get_user_team(killer) == get_user_team(victim)) return;
if(headshot) {
if (equali(weapon, "awp")) player_data[killer][AWP_KILLS] += HEADSHOT_POINT;
else if (equali(weapon, "scout")) player_data[killer][SCOUT_KILLS] += HEADSHOT_POINT;
else if (equali(weapon, "deagle")) player_data[killer][DEAGLE_KILLS] += HEADSHOT_POINT;
else if (equali(weapon, "usp")) player_data[killer][USP_KILLS] += HEADSHOT_POINT;
else if (equali(weapon, "glock18")) player_data[killer][GLOCK_KILLS] += HEADSHOT_POINT;
else if (equali(weapon, "knife")) player_data[killer][KNIFE_KILLS] += HEADSHOT_POINT;
set_hudmessage(0, 255, 0, -0.9, 0.15, 0, 6.0, 1.0);
show_hudmessage(killer, "+%i Pont", HEADSHOT_POINT);
}
else {
if (equali(weapon, "awp")) player_data[killer][AWP_KILLS] += KILL_POINT;
else if (equali(weapon, "scout")) player_data[killer][SCOUT_KILLS] += KILL_POINT;
else if (equali(weapon, "deagle")) player_data[killer][DEAGLE_KILLS] += KILL_POINT;
else if (equali(weapon, "usp")) player_data[killer][USP_KILLS] += KILL_POINT;
else if (equali(weapon, "glock18")) player_data[killer][GLOCK_KILLS] += KILL_POINT;
else if (equali(weapon, "knife")) player_data[killer][KNIFE_KILLS] += KILL_POINT;
set_hudmessage(0, 255, 0, -0.9, 0.15, 0, 6.0, 1.0);
show_hudmessage(killer, "+%i Pont", KILL_POINT);
}
}
public pontrendszerfut() print_color(0, "!g[%s]!y Szerverünkön !tSkincsomag Rendszer!y fut, írd be: !t/menu", PREFIX)
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), "AWP Skinek");
menu_additem(menu, temp, "0", 0);
formatex(temp, charsmax(temp), "Scout Skinek");
menu_additem(menu, temp, "1", 0);
formatex(temp, charsmax(temp), "Deagle Skinek");
menu_additem(menu, temp, "2", 0);
formatex(temp, charsmax(temp), "USP Skinek");
menu_additem(menu, temp, "3", 0);
formatex(temp, charsmax(temp), "Glock Skinek");
menu_additem(menu, temp, "4", 0);
formatex(temp, charsmax(temp), "Kés Skinek");
menu_additem(menu, temp, "5", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public mh_MyMenu(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id);
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: awp_menu(id)
case 1: scout_menu(id)
case 2: deagle_menu(id)
case 3: usp_menu(id)
case 4: glock_menu(id)
case 5: knife_menu(id)
}
return PLUGIN_HANDLED;
}
public awp_menu(id) {
new temp[128], temp2[64];
formatex(temp, charsmax(temp), "\r[%s] \wAWP Skinek ^nPontok: \y%d", PREFIX, player_data[id][AWP_KILLS]);
new menu = menu_create(temp, "awp_handler");
formatex(temp, charsmax(temp), "Alap AWP %s", player_data[id][AWP_MENU] == 0 ? "\y|AKTÍV|":"");
menu_additem(menu, temp, "0", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[0]);
formatex(temp, charsmax(temp), "Rozsdás AWP %s", player_data[id][AWP_MENU] == 1 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "1", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[1]);
formatex(temp, charsmax(temp), "Ezüst AWP %s", player_data[id][AWP_MENU] == 2 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "2", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[2]);
formatex(temp, charsmax(temp), "Arany AWP %s", player_data[id][AWP_MENU] == 3 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "3", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public awp_handler(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id);
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: {
player_data[id][AWP_MENU] = 0;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][AWP_KILLS] >= POINTS[0]) {
player_data[id][AWP_MENU] = 1;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][AWP_KILLS] >= POINTS[1]) {
player_data[id][AWP_MENU] = 2;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][AWP_KILLS] >= POINTS[2]) {
player_data[id][AWP_MENU] = 3;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public scout_menu(id) {
new temp[128], temp2[64];
formatex(temp, charsmax(temp), "\r[%s] \wScout Skinek ^nPontok: \y%d", PREFIX, player_data[id][SCOUT_KILLS]);
new menu = menu_create(temp, "scout_handler");
formatex(temp, charsmax(temp), "Alap Scout %s", player_data[id][SCOUT_MENU] == 0 ? "\y|AKTÍV|":"");
menu_additem(menu, temp, "0", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[0]);
formatex(temp, charsmax(temp), "Rozsdás Scout %s", player_data[id][SCOUT_MENU] == 1 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "1", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[1]);
formatex(temp, charsmax(temp), "Ezüst Scout %s", player_data[id][SCOUT_MENU] == 2 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "2", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[2]);
formatex(temp, charsmax(temp), "Arany Scout %s", player_data[id][SCOUT_MENU] == 3 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "3", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public scout_handler(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id);
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: {
player_data[id][SCOUT_MENU] = 0;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][SCOUT_KILLS] >= POINTS[0]) {
player_data[id][SCOUT_MENU] = 1;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][SCOUT_KILLS] >= POINTS[1]) {
player_data[id][SCOUT_MENU] = 2;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][SCOUT_KILLS] >= POINTS[2]) {
player_data[id][SCOUT_MENU] = 3;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public deagle_menu(id) {
new temp[128], temp2[64];
formatex(temp, charsmax(temp), "\r[%s] \wDeagle Skinek ^nPontok: \y%d", PREFIX, player_data[id][DEAGLE_KILLS]);
new menu = menu_create(temp, "deagle_handler");
formatex(temp, charsmax(temp), "Alap Deagle %s", player_data[id][DEAGLE_MENU] == 0 ? "\y|AKTÍV|":"");
menu_additem(menu, temp, "0", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[3]);
formatex(temp, charsmax(temp), "Rozsdás Deagle %s", player_data[id][DEAGLE_MENU] == 1 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "1", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[4]);
formatex(temp, charsmax(temp), "Ezüst Deagle %s", player_data[id][DEAGLE_MENU] == 2 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "2", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[5]);
formatex(temp, charsmax(temp), "Arany Deagle %s", player_data[id][DEAGLE_MENU] == 3 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "3", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public deagle_handler(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id);
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: {
player_data[id][DEAGLE_MENU] = 0;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][DEAGLE_KILLS] >= POINTS[3]) {
player_data[id][DEAGLE_MENU] = 1;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][DEAGLE_KILLS] >= POINTS[4]) {
player_data[id][DEAGLE_MENU] = 2;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][DEAGLE_KILLS] >= POINTS[5]) {
player_data[id][DEAGLE_MENU] = 3;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public usp_menu(id) {
new temp[128], temp2[64];
formatex(temp, charsmax(temp), "\r[%s] \wUSP Skinek ^nPontok: \y%d", PREFIX, player_data[id][USP_KILLS]);
new menu = menu_create(temp, "usp_handler");
formatex(temp, charsmax(temp), "Alap USP %s", player_data[id][USP_MENU] == 0 ? "\y|AKTÍV|":"");
menu_additem(menu, temp, "0", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[3]);
formatex(temp, charsmax(temp), "Rozsdás USP %s", player_data[id][USP_MENU] == 1 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "1", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[4]);
formatex(temp, charsmax(temp), "Ezüst USP %s", player_data[id][USP_MENU] == 2 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "2", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[5]);
formatex(temp, charsmax(temp), "Arany USP %s", player_data[id][USP_MENU] == 3 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "3", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public usp_handler(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id);
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: {
player_data[id][USP_MENU] = 0;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][USP_KILLS] >= POINTS[3]) {
player_data[id][USP_MENU] = 1;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][USP_KILLS] >= POINTS[4]) {
player_data[id][USP_MENU] = 2;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][USP_KILLS] >= POINTS[5]) {
player_data[id][USP_MENU] = 3;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public glock_menu(id) {
new temp[128], temp2[64];
formatex(temp, charsmax(temp), "\r[%s] \wGlock Skinek ^nPontok: \y%d", PREFIX, player_data[id][GLOCK_KILLS]);
new menu = menu_create(temp, "glock_handler");
formatex(temp, charsmax(temp), "Alap Glock %s", player_data[id][GLOCK_MENU] == 0 ? "\y|AKTÍV|":"");
menu_additem(menu, temp, "0", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[3]);
formatex(temp, charsmax(temp), "Rozsdás Glock %s", player_data[id][GLOCK_MENU] == 1 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "1", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[4]);
formatex(temp, charsmax(temp), "Ezüst Glock %s", player_data[id][GLOCK_MENU] == 2 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "2", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[5]);
formatex(temp, charsmax(temp), "Arany Glock %s", player_data[id][GLOCK_MENU] == 3 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "3", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public glock_handler(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id);
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: {
player_data[id][GLOCK_MENU] = 0;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][GLOCK_KILLS] >= POINTS[3]) {
player_data[id][GLOCK_MENU] = 1;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][GLOCK_KILLS] >= POINTS[4]) {
player_data[id][GLOCK_MENU] = 2;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][GLOCK_KILLS] >= POINTS[5]) {
player_data[id][GLOCK_MENU] = 3;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public knife_menu(id) {
new temp[128], temp2[64];
formatex(temp, charsmax(temp), "\r[%s] \wKés Skinek ^nPontok: \y%d", PREFIX, player_data[id][KNIFE_KILLS]);
new menu = menu_create(temp, "knife_handler");
formatex(temp, charsmax(temp), "Alap Kés %s", player_data[id][KNIFE_MENU] == 0 ? "\y|AKTÍV|":"");
menu_additem(menu, temp, "0", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[6]);
formatex(temp, charsmax(temp), "Rozsdás Kés %s", player_data[id][KNIFE_MENU] == 1 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "1", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[7]);
formatex(temp, charsmax(temp), "Ezüst Kés %s", player_data[id][KNIFE_MENU] == 2 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "2", 0);
formatex(temp2, charsmax(temp2), "\r|%i| Pont", POINTS[8]);
formatex(temp, charsmax(temp), "Arany Kés %s", player_data[id][KNIFE_MENU] == 3 ? "\y|AKTÍV|":temp2);
menu_additem(menu, temp, "3", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Előre");
menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public knife_handler(id, menu, item) {
if(item == MENU_EXIT)
{
menu_cancel(id);
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: {
player_data[id][KNIFE_MENU] = 0;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][KNIFE_KILLS] >= POINTS[6]) {
player_data[id][KNIFE_MENU] = 1;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][KNIFE_KILLS] >= POINTS[7]) {
player_data[id][KNIFE_MENU] = 2;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][KNIFE_KILLS] >= POINTS[8]) {
player_data[id][KNIFE_MENU] = 3;
print_color(id, "!g[%s]!y Sikeresen aktiváltad a skint.", PREFIX)
}
else print_color(id, "!g[%s]!y Nincs elég pontod az aktiváláshoz.", 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);
arrayset( player_data[ id ] , 0 , sizeof( player_data[] ) );
}
}
load(id) {
new szData[128];
get_user_authid(id, player_data[id][STEAMID], charsmax(player_data[][STEAMID]));
if (containi(player_data[id][STEAMID], "_ID_LAN") != -1 || containi(player_data[id][STEAMID], "HLTV") != -1) get_user_ip(id, player_data[id][STEAMID], charsmax(player_data[][STEAMID]), 1);
fvault_get_data( szVaultName, player_data[id][STEAMID], szData, 127 );
new kills[6][16], menus[6][16];
parse( szData, kills[0], 15, kills[1], 15, kills[2], 15, kills[3], 15, kills[4], 15, kills[5], 15, menus[0], 15, menus[1], 15, menus[2], 15, menus[3], 15, menus[4], 15, menus[5], 15 );
player_data[id][AWP_KILLS] = str_to_num( kills[0] );
player_data[id][SCOUT_KILLS] = str_to_num( kills[1] );
player_data[id][DEAGLE_KILLS] = str_to_num( kills[2] );
player_data[id][USP_KILLS] = str_to_num( kills[3] );
player_data[id][GLOCK_KILLS] = str_to_num( kills[4] );
player_data[id][KNIFE_KILLS] = str_to_num( kills[5] );
player_data[id][AWP_MENU] = str_to_num( menus[0] );
player_data[id][SCOUT_MENU] = str_to_num( menus[1] );
player_data[id][DEAGLE_MENU] = str_to_num( menus[2] );
player_data[id][USP_MENU] = str_to_num( menus[3] );
player_data[id][GLOCK_MENU] = str_to_num( menus[4] );
player_data[id][KNIFE_MENU] = str_to_num( menus[5] );
}
save(id) {
new szData[128];
get_user_authid(id, player_data[id][STEAMID], charsmax(player_data[][STEAMID]));
if (containi(player_data[id][STEAMID], "_ID_LAN") != -1 || containi(player_data[id][STEAMID], "HLTV") != -1) get_user_ip(id, player_data[id][STEAMID], charsmax(player_data[][STEAMID]), 1);
formatex(szData, 127, "%i %i %i %i %i %i %i %i %i %i %i %i", player_data[id][AWP_KILLS], player_data[id][SCOUT_KILLS], player_data[id][DEAGLE_KILLS], player_data[id][USP_KILLS], player_data[id][GLOCK_KILLS], player_data[id][KNIFE_KILLS], player_data[id][AWP_MENU], player_data[id][SCOUT_MENU], player_data[id][DEAGLE_MENU], player_data[id][USP_MENU], player_data[id][GLOCK_MENU], player_data[id][KNIFE_MENU]);
fvault_set_data( szVaultName, player_data[id][STEAMID], 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
}