#include <amxmodx>
#include <engine>
#include <hamsandwich>
#include <cstrike>
#include <sqlx>
#define PLUGIN "Weap kills"
#define VERSION "1.666"
#define AUTHOR "mforce"
new const PREFIX[] = "WorldSniper";
#define KILL_POINT 1
#define HEADSHOT_POINT 2
new const SQL_INFO[][] = {
"", // HOST
"", // USERNAME
"", // PASSWORD
"" // DATABASE
}
new Handle:g_SqlTuple;
new const POINTS[] = {
500, // Rusty Snipers, 0. elem
1000, // Silver Snipers, 1.
2000, // Gold Snipers, 2.
100, // Rusty Pistols, 3.
200, // Silver Pistols, 4.
300, // Gold Pistols, 5.
50, // Rusty Knife, 6.
100, // Silver Knife, 7.
150 // Gold Knife, 8.
};
enum _:PLAYER_DATABASE
{
USERNAME[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];
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")
new const WEAPONENTNAMES[][] = {"weapon_awp", "weapon_scout", "weapon_deagle", "weapon_usp", "weapon_glock18", "weapon_knife"};
for(new i; i < sizeof(WEAPONENTNAMES); i++) {
RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "OnItemDeployPost", 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 OnItemDeployPost(ent) {
new id = entity_get_edict(ent, EV_ENT_owner);
if(id) {
new weap = cs_get_weapon_id(ent);
switch(weap) {
case CSW_AWP: {
switch(player_data[id][AWP_MENU]) {
case 1: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[0]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[1]) // v_modell
}
case 2: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[2]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[3]) // v_modell
}
case 3: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[4]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[5]) // v_modell
}
}
}
case CSW_SCOUT: {
switch(player_data[id][SCOUT_MENU]) {
case 1: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[6]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[7]) // v_modell
}
case 2: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[8]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[9]) // v_modell
}
case 3: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[10]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[11]) // v_modell
}
}
}
case CSW_DEAGLE: {
switch(player_data[id][DEAGLE_MENU]) {
case 1: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[12]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[13]) // v_modell
}
case 2: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[14]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[15]) // v_modell
}
case 3: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[16]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[17]) // v_modell
}
}
}
case CSW_USP: {
switch(player_data[id][USP_MENU]) {
case 1: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[18]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[19]) // v_modell
}
case 2: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[20]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[21]) // v_modell
}
case 3: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[22]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[23]) // v_modell
}
}
}
case CSW_GLOCK18: {
switch(player_data[id][GLOCK_MENU]) {
case 1: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[24]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[25]) // v_modell
}
case 2: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[26]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[27]) // v_modell
}
case 3: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[28]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[29]) // v_modell
}
}
}
case CSW_KNIFE: {
switch(player_data[id][KNIFE_MENU]) {
case 1: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[30]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[31]) // v_modell
}
case 2: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[32]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[33]) // v_modell
}
case 3: {
entity_set_string(id, EV_SZ_weaponmodel, fegyverek[34]) // p_modell
entity_set_string(id, EV_SZ_viewmodel, fegyverek[35]) // v_modell
}
}
}
}
}
}
public plugin_precache() {
for(new i; i<sizeof(fegyverek);i++) precache_model(fegyverek[i]);
}
public halal() {
new killer = read_data(1);
new victim = read_data(2);
new headshot = read_data(3);
if(killer != victim) {
new points = (headshot ? HEADSHOT_POINT:KILL_POINT);
new weapon[32]; read_data(4, weapon, charsmax(weapon));
new weapid = get_weaponid(weapon);
switch(weapid) {
case CSW_AWP: player_data[killer][AWP_KILLS] += points;
case CSW_SCOUT: player_data[killer][SCOUT_KILLS] += points;
case CSW_DEAGLE: player_data[killer][DEAGLE_KILLS] += points;
case CSW_USP: player_data[killer][USP_KILLS] += points;
case CSW_GLOCK18: player_data[killer][GLOCK_KILLS] += points;
case CSW_KNIFE: player_data[killer][KNIFE_KILLS] += points;
}
set_hudmessage(0, 255, 0, -0.9, 0.15, 0, 6.0, 1.0);
show_hudmessage(killer, "+%i Ölés", points);
}
}
public pontrendszerfut() ChatColor(0, "^4[%s]^1 Szerverünkön ^3Skincsomag Rendszer^1 fut, írd be: ^3/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_destroy(menu);
return PLUGIN_HANDLED;
}
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);
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public awp_menu(id) {
new temp[128], temp2[64];
formatex(temp, charsmax(temp), "\r[%s] \wAWP Skinek ^nÖlések: \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| Ölés", 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| Ölés", 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| Ölés", 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_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0: {
player_data[id][AWP_MENU] = 0;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][AWP_KILLS] >= POINTS[0]) {
player_data[id][AWP_MENU] = 1;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][AWP_KILLS] >= POINTS[1]) {
player_data[id][AWP_MENU] = 2;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][AWP_KILLS] >= POINTS[2]) {
player_data[id][AWP_MENU] = 3;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed 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 ^nÖlések: \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| Ölés", 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| Ölés", 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| Ölés", 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_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0: {
player_data[id][SCOUT_MENU] = 0;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][SCOUT_KILLS] >= POINTS[0]) {
player_data[id][SCOUT_MENU] = 1;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][SCOUT_KILLS] >= POINTS[1]) {
player_data[id][SCOUT_MENU] = 2;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][SCOUT_KILLS] >= POINTS[2]) {
player_data[id][SCOUT_MENU] = 3;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed 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 ^nÖlések: \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| Ölés", 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| Ölés", 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| Ölés", 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_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0: {
player_data[id][DEAGLE_MENU] = 0;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][DEAGLE_KILLS] >= POINTS[3]) {
player_data[id][DEAGLE_MENU] = 1;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][DEAGLE_KILLS] >= POINTS[4]) {
player_data[id][DEAGLE_MENU] = 2;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][DEAGLE_KILLS] >= POINTS[5]) {
player_data[id][DEAGLE_MENU] = 3;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed 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 ^nÖlések: \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| Ölés", 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| Ölés", 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| Ölés", 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_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0: {
player_data[id][USP_MENU] = 0;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][USP_KILLS] >= POINTS[3]) {
player_data[id][USP_MENU] = 1;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][USP_KILLS] >= POINTS[4]) {
player_data[id][USP_MENU] = 2;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][USP_KILLS] >= POINTS[5]) {
player_data[id][USP_MENU] = 3;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed 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 ^nÖlések: \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| Ölés", 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| Ölés", 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| Ölés", 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_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0: {
player_data[id][GLOCK_MENU] = 0;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][GLOCK_KILLS] >= POINTS[3]) {
player_data[id][GLOCK_MENU] = 1;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][GLOCK_KILLS] >= POINTS[4]) {
player_data[id][GLOCK_MENU] = 2;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][GLOCK_KILLS] >= POINTS[5]) {
player_data[id][GLOCK_MENU] = 3;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed 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 ^nÖlések: \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| Ölés", 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| Ölés", 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| Ölés", 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_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0: {
player_data[id][KNIFE_MENU] = 0;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
case 1: {
if(player_data[id][KNIFE_KILLS] >= POINTS[6]) {
player_data[id][KNIFE_MENU] = 1;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 2: {
if(player_data[id][KNIFE_KILLS] >= POINTS[7]) {
player_data[id][KNIFE_MENU] = 2;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
case 3: {
if(player_data[id][KNIFE_KILLS] >= POINTS[8]) {
player_data[id][KNIFE_MENU] = 3;
ChatColor(id, "^4[%s]^1 Sikeresen aktiváltad a skint.", PREFIX)
}
else ChatColor(id, "^4[%s]^1 Nincs elég Ölésed az aktiváláshoz.", PREFIX)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public plugin_cfg() {
new Query[512], Len;
g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
Len += formatex(Query[Len], charsmax(Query)-Len, "CREATE TABLE IF NOT EXISTS `worldsniper` (`username` varchar(32) NOT NULL,`AWP_KILLS` int(11) NOT NULL,`SCOUT_KILLS` int(11) NOT NULL,`DEAGLE_KILLS` int(11) NOT NULL,`USP_KILLS` int(11) NOT NULL,`GLOCK_KILLS` int(11) NOT NULL,`KNIFE_KILLS` int(11) NOT NULL, ")
Len += formatex(Query[Len], charsmax(Query)-Len, "`AWP_MENU` int(11) NOT NULL,`SCOUT_MENU` int(11) NOT NULL,`DEAGLE_MENU` int(11) NOT NULL,`USP_MENU` int(11) NOT NULL,`GLOCK_MENU` int(11) NOT NULL,`KNIFE_MENU` int(11) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
}
public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED)
set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
else if(FailState == TQUERY_QUERY_FAILED)
set_fail_state("Query Error");
if(Errcode)
log_amx("Hibat dobtam: %s",Error);
}
public client_putinserver(id) {
if(!is_user_bot(id)) {
get_user_name(id, player_data[id][USERNAME], 31)
load(id);
}
}
public load(id) {
new Query[512], Data[1];
Data[0] = id;
formatex(Query, charsmax(Query), "SELECT * FROM `worldsniper` WHERE username = ^"%s^";", player_data[id][USERNAME])
SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
}
public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
log_amx("%s", Error)
return
}
else {
new id = Data[0];
if(SQL_NumRows(Query) > 0) {
player_data[id][AWP_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AWP_KILLS"));
player_data[id][SCOUT_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SCOUT_KILLS"));
player_data[id][DEAGLE_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "DEAGLE_KILLS"))
player_data[id][USP_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "USP_KILLS"))
player_data[id][GLOCK_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "GLOCK_KILLS"))
player_data[id][KNIFE_KILLS] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "KNIFE_KILLS"))
player_data[id][AWP_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "AWP_MENU"))
player_data[id][SCOUT_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "SCOUT_MENU"))
player_data[id][DEAGLE_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "DEAGLE_MENU"))
player_data[id][USP_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "USP_MENU"))
player_data[id][GLOCK_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "GLOCK_MENU"))
player_data[id][KNIFE_MENU] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "KNIFE_MENU"))
}
else {
save(id)
}
}
}
public save(id) {
new text[512];
formatex(text, charsmax(text), "INSERT INTO `worldsniper` (`username`, `AWP_KILLS`, `SCOUT_KILLS`, `DEAGLE_KILLS`, `USP_KILLS`, `GLOCK_KILLS`, `KNIFE_KILLS`, `AWP_MENU`, `SCOUT_MENU`, `DEAGLE_MENU`, `USP_MENU`, `GLOCK_MENU`, `KNIFE_MENU`) VALUES (^"%s^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^", ^"0^");", player_data[id][USERNAME])
SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
}
public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
log_amx("%s", Error)
return
}
}
public update(id) {
new text[1024], Len;
Len += formatex(text[Len], charsmax(text)-Len, "UPDATE `worldsniper` SET AWP_KILLS = ^"%i^", SCOUT_KILLS = ^"%i^", DEAGLE_KILLS = ^"%i^", USP_KILLS = ^"%i^", GLOCK_KILLS = ^"%i^", KNIFE_KILLS = ^"%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])
Len += formatex(text[Len], charsmax(text)-Len, "AWP_MENU = ^"%i^", SCOUT_MENU = ^"%i^", DEAGLE_MENU = ^"%i^", USP_MENU = ^"%i^", GLOCK_MENU = ^"%i^", KNIFE_MENU = ^"%i^" WHERE username = ^"%s^";", 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], player_data[id][USERNAME])
SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
}
public client_disconnect(id) {
if(!is_user_bot(id)) {
update(id)
}
arrayset(player_data[id], 0, 12);
}
public plugin_end() {
SQL_FreeHandle(g_SqlTuple);
}
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();
}
}