ERRORLOGS
L 02/29/2016 - 08:04:32: Start of error session.
L 02/29/2016 - 08:04:32: Info (map "de_chateau") (file "addons/amxmodx/logs/error_20160229.log")
L 02/29/2016 - 08:04:32: [AMXX] Run time error 4 (plugin "uq_jumpstats.amxx") - debug not enabled!
L 02/29/2016 - 08:04:32: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 02/29/2016 - 08:04:47: Start of error session.
L 02/29/2016 - 08:04:47: Info (map "awp_rooftops") (file "addons/amxmodx/logs/error_20160229.log")
L 02/29/2016 - 08:04:47: [CSTRIKE] Invalid player 1
L 02/29/2016 - 08:04:47: [AMXX] Displaying debug trace (plugin "expmod.amxx")
L 02/29/2016 - 08:04:47: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 02/29/2016 - 08:04:47: [AMXX] [0] expmod.sma::Odrodzenie (line 226)
L 02/29/2016 - 08:11:45: Start of error session.
L 02/29/2016 - 08:11:45: Info (map "awp_rooftops") (file "addons/amxmodx/logs/error_20160229.log")
L 02/29/2016 - 08:11:45: [CSTRIKE] Invalid player 1
L 02/29/2016 - 08:11:45: [AMXX] Displaying debug trace (plugin "expmod.amxx")
L 02/29/2016 - 08:11:45: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 02/29/2016 - 08:11:45: [AMXX] [0] expmod.sma::Odrodzenie (line 226)
L 02/29/2016 - 19:30:49: Start of error session.
L 02/29/2016 - 19:30:49: Info (map "de_train") (file "addons/amxmodx/logs/error_20160229.log")
L 02/29/2016 - 19:30:49: [CSTRIKE] Invalid player 1
L 02/29/2016 - 19:30:49: [AMXX] Displaying debug trace (plugin "expmod.amxx")
L 02/29/2016 - 19:30:49: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 02/29/2016 - 19:30:49: [AMXX] [0] expmod.sma::Odrodzenie (line 226)
L 02/29/2016 - 19:31:24: Start of error session.
L 02/29/2016 - 19:31:24: Info (map "awp_rooftops") (file "addons/amxmodx/logs/error_20160229.log")
L 02/29/2016 - 19:31:24: [CSTRIKE] Invalid player 1
L 02/29/2016 - 19:31:24: [AMXX] Displaying debug trace (plugin "expmod.amxx")
L 02/29/2016 - 19:31:24: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 02/29/2016 - 19:31:24: [AMXX] [0] expmod.sma::Odrodzenie (line 226)
L 02/29/2016 - 19:37:40: [CSTRIKE] Invalid player 2
L 02/29/2016 - 19:37:40: [AMXX] Displaying debug trace (plugin "expmod.amxx")
L 02/29/2016 - 19:37:40: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 02/29/2016 - 19:37:40: [AMXX] [0] expmod.sma::Odrodzenie (line 226)
L 02/29/2016 - 20:58:15: [CSTRIKE] Invalid player 1
L 02/29/2016 - 20:58:15: [AMXX] Displaying debug trace (plugin "expmod.amxx")
L 02/29/2016 - 20:58:15: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 02/29/2016 - 20:58:15: [AMXX] [0] expmod.sma::Odrodzenie (line 226)
L 02/29/2016 - 20:58:34: Start of error session.
L 02/29/2016 - 20:58:34: Info (map "hns_floppytown") (file "addons/amxmodx/logs/error_20160229.log")
L 02/29/2016 - 20:58:34: [CSTRIKE] Invalid player 1
L 02/29/2016 - 20:58:34: [AMXX] Displaying debug trace (plugin "expmod.amxx")
L 02/29/2016 - 20:58:34: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 02/29/2016 - 20:58:34: [AMXX] [0] expmod.sma::Odrodzenie (line 226)
expmod.sma
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <nvault>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <ColorChat>
/*
*****************************************************
****** *****
****** *****
****** Proszę nie zmieniać autora! *****
****** Na 5tyk *****
****** *****
****** *****
*****************************************************
*/
#define PLUGIN "EXPMod EasyBlock"
#define VERSION "0.1"
#define AUTHOR "Na 5tyk"
#define TASK_RESPAWN 1337
/* FLAGI */
#define VIP ADMIN_LEVEL_H
/* FLAGI */
/* ZMIENNE DOT. GRACZA */
new poziom_gracza[33] = 1;
new nick_gracza[33][64];
new exp_gracza[33];
new punkty_gracza[33];
/* ZMIENNE DOT. GRACZA */
/* ZMIENNE UMIEJETNOSCI */
new plushp[33];
new plusap[33];
new apteczka[33];
new ciche[33];
new loshe[33];
new losfb[33];
new lossg[33];
new fastfb[33];
new respawn[33];
new niewidka[33];
new bronie[33];
new karabiny[33];
new morexp[33];
new reduction[33];
/* ZMIENNE UMIEJETNOSCI */
/* ZMIENNE OSIAGNIEC */
new connect[33];
new connect_zaliczone[33];
new killer[33];
new killer_zaliczone[33];
new jumper[33];
new jumper_zaliczone[33];
/* ZMIENNE OSIAGNIEC */
/* ZMIENNE WYKORZYSTANIA UMIEJETNOSCI */
new bool:usedApteczka[33];
new bool:usedRespawn[33];
new bool:usedNiewidka[33];
/* ZMIENNE WYKORZYSTANIA UMIEJETNOSCI */
/* CVARY */
new doswiadczenia_za_zabojstwo;
/* CVARY */
/* ROZNE */
new vault;
new gStatusMsg;
new skoki[33];
/* ROZNE */
/* PREFIXY I DZWIEKI */
new const PREFIX[][] = { "[EasyBlock]" }
new const gszModels[][] = { "w_flashbang.mdl" };
new const g_sound_stealth[] = "xpmod/stealth.wav";
/* PREFIXY I DZWIEKI */
new const tabelka_expa[] = {
0,
39, 103, 221, 422, 667, 926, 1232, 1553, 1992, 2462,
3106, 3755, 4475, 5287, 6152, 7084, 8063, 9081, 10135, 11218,
12416, 13720, 15041, 16427, 17834, 19367, 20936, 22517, 24239, 25974,
27778, 29672, 31643, 33630, 35686, 37811, 40014, 42291, 44622, 46965,
49378, 51800, 54278, 56782, 59427, 62162, 64977, 67836, 70698, 73624,
76624, 79720, 82837, 86016, 89288, 92646, 96055, 99502, 102973, 106449,
110069, 113733, 117437, 121201, 125086, 129034, 133053, 137107, 141235, 145427,
149682, 153996, 158322, 162728, 167212, 171697, 176236, 180819, 185431, 190118,
194920, 199770, 204694, 209632, 214652, 219716, 224782, 229914, 235206, 240522,
245959, 251436, 256973, 262544, 268191, 273877, 279646, 285512, 291410, 297378
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /exp", "EXPMenu");
register_event("DeathMsg", "Death", "ade");
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
RegisterHam(Ham_Killed, "player", "FwdPlayerDeath", 1);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage", 1);
register_touch("*", "grenade", "fwTouchGrenade2");
register_touch("grenade", "*", "fwTouchGrenade");
register_forward(FM_CmdStart, "JumpCount");
vault = nvault_open("EBXP");
gStatusMsg = get_user_msgid("StatusText")
register_cvar("eb_killxp", "10");
register_clcmd("say /exp", "EXPMenu");
register_clcmd("say_team /exp", "EXPMenu");
register_clcmd("say /xp", "EXPMenu");
register_clcmd("say_team /xp", "EXPMenu");
register_clcmd("say /wczytaj", "Wczytaj");
register_clcmd("+menu", "SkillMenu");
doswiadczenia_za_zabojstwo = get_cvar_num("eb_killxp");
}
public client_connect(id)
{
get_user_name(id, nick_gracza[id], 63);
poziom_gracza[id] = 0;
exp_gracza[id] = 0;
punkty_gracza[id] = 0;
plushp[id] = 0;
plusap[id] = 0;
apteczka[id] = 0;
ciche[id] = 0;
loshe[id] = 0;
losfb[id] = 0;
lossg[id] = 0;
fastfb[id] = 0;
respawn[id] = 0;
niewidka[id] = 0;
bronie[id] = 0;
karabiny[id] = 0;
morexp[id] = 0;
reduction[id] = 0;
connect[id] = 0;
connect_zaliczone[id] = 0;
killer[id] = 0;
killer_zaliczone[id] = 0;
jumper[id] = 0;
jumper_zaliczone[id] = 0;
usedApteczka[id] = false;
usedRespawn[id] = false;
usedNiewidka[id] = false;
set_task(0.8, "Life", id, _, _, "b");
Wczytaj(id);
connect[id]++;
}
public plugin_natives()
{
register_library("hns_xp");
register_native("hnsxp_get_user_xp", "_get_xp");
register_native("hnsxp_set_user_xp", "_set_xp");
}
public _get_xp(plugin, params)
{
return exp_gracza[get_param(1)];
}
public _set_xp(plugin, params)
{
new client = get_param(1);
exp_gracza[client] = max(0, get_param(2));
SprawdzPoziom(client);
return exp_gracza[client];
}
public client_disconnect(id)
{
Zapisz(id)
}
public Odrodzenie(id)
{
new flaga = get_user_flags(id);
new szansabron, szansakarabin;
client_cmd(id, "bind h +menu");
if(plushp[id] > 0 && is_user_alive(id))
{
if(flaga == VIP)
{
set_user_health(id, get_user_health(id) + (plushp[id]*5));
}
else
{
set_user_health(id, get_user_health(id) + (plushp[id]*6));
}
}
if(plusap[id] > 0 && is_user_alive(id))
set_user_armor(id, get_user_armor(id) + (plusap[id]*10));
usedApteczka[id] = false;
usedRespawn[id] = false;
usedNiewidka[id] = false;
if(cs_get_user_team(id) == CS_TEAM_CT && ciche[id] == 1)
set_user_footsteps(id, 1);
new szansahe = loshe[id]*15;
new szansafb = losfb[id]*20;
new szansasg = lossg[id]*15;
if(flaga == VIP)
{
szansabron = bronie[id]*6;
}
else
{
szansabron = bronie[id]*5;
}
if(flaga == VIP)
{
szansakarabin = karabiny[id]*4;
}
else
{
szansakarabin = karabiny[id]*3
}
if(loshe[id] > 0 && is_user_alive(id) && random_num(1, 100) <= szansahe)
{
give_item(id, "weapon_hegrenade");
ColorChat(id, RED, "^x04%s^x01 Gratulacje wylosowales HE!", PREFIX);
}
if(losfb[id] > 0 && is_user_alive(id) && random_num(1, 100) <= szansafb && cs_get_user_team(id) == CS_TEAM_T)
{
give_item(id, "weapon_flashbang");
ColorChat(id, RED, "^x04%s^x01 Gratulacje wylosowales FB!", PREFIX);
}
if(lossg[id] > 0 && is_user_alive(id) && random_num(1, 100) <= szansasg)
{
give_item(id, "weapon_smokegrenade");
ColorChat(id, RED, "^x04%s^x01 Gratulacje wylosowales SG!", PREFIX);
}
if(bronie[id] > 0 && is_user_alive(id) && random_num(1, 100) <= szansabron)
{
new random_weapon = random_num(1, 5);
switch(random_weapon){
case 1:{
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_deagle", id ), 1);
}
case 2:{
give_item(id, "weapon_glock18");
cs_set_user_bpammo(id, CSW_GLOCK18, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_glock18", id ), 1);
}
case 3:{
give_item(id, "weapon_p228");
cs_set_user_bpammo(id, CSW_P228, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_p228", id ), 1);
}
case 4:{
give_item(id, "weapon_usp");
cs_set_user_bpammo(id, CSW_USP, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_usp", id ), 1);
}
case 5:{
give_item(id, "weapon_elite");
cs_set_user_bpammo(id, CSW_ELITE, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_elite", id), 1);
}
}
ColorChat(id, GREEN, "^x04%s^x01 Gratulacje! Wylosowales pistolet!", PREFIX);
}
if(karabiny[id] > 0 && is_user_alive(id) && random_num(1, 100) <= szansakarabin)
{
new random = random_num(1, 4);
switch(random){
case 1:{
give_item(id, "weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_m4a1", id ), 1);
}
case 2:{
give_item(id, "weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_ak47", id ), 1);
}
case 3:{
give_item(id, "weapon_tmp");
cs_set_user_bpammo(id, CSW_TMP, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_tmp", id ), 1);
}
case 4:{
give_item(id, "weapon_mac10");
cs_set_user_bpammo(id, CSW_MAC10, 0);
cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_mac10", id ), 1);
}
}
ColorChat(id, GREEN, "%s^x01 Gratulacje! Wylosowales karabin!", PREFIX);
}
if(connect_zaliczone[id] == 0 && connect[id] > 300)
{
connect_zaliczone[id] = 1;
exp_gracza[id] += 250;
ColorChat(id, GREEN, "^x04%s^x01 Gratulacje! Dostales ^x04 250 ^x01 EXPa za wykonanie osiagniecia: ^x04Connector", PREFIX);
}
if(killer_zaliczone[id] == 0 && killer[id] > 100)
{
killer_zaliczone[id] = 1
exp_gracza[id] += 200;
ColorChat(id, GREEN, "^x04%s^x01 Gratulacje! Dostales ^x04 200 ^x01 EXPa za wykonanie osiagniecia: ^x04Killer", PREFIX);
}
if(jumper_zaliczone[id] == 0 && jumper[id] > 10000)
{
jumper_zaliczone[id] = 1;
exp_gracza[id] += 100;
ColorChat(id, GREEN, "^x04%s^x01 Gratulacje! Dostales ^x04 200 ^x01 EXPa za wykonanie osiagniecia: ^x04Jumper", PREFIX);
}
set_hudmessage(255, 255, 255, 0.02, 0.71, 0, 6.0, 5.0)
show_hudmessage(id, "Skoki: %i", jumper[id])
}
public Death()
{
new id = read_data(2);
new attacker = read_data(1);
new flaga = get_user_flags(id);
if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker))
{
new nowe_doswiadczenie = 0;
new nowe = 0;
if(morexp[id] > 0)
{
if(flaga == VIP)
{
nowe += doswiadczenia_za_zabojstwo+(morexp[id]*2)+15;
ColorChat(id, RED, "^x04%s^x01 Dostales ^x04%i^x01 EXPa za zabojstwo!", PREFIX, nowe);
exp_gracza[attacker] += nowe;
}
else
{
nowe += doswiadczenia_za_zabojstwo+(morexp[id]*2)+15;
ColorChat(id, RED, "^x04%s^x01 Dostales ^x04%i^x01 EXPa za zabojstwo!", PREFIX, nowe);
exp_gracza[attacker] += nowe
}
}
else
{
if(flaga == VIP)
{
nowe_doswiadczenie += doswiadczenia_za_zabojstwo+15;
ColorChat(id, RED, "^x04%s^x01 Dostales ^x04%i^x01 EXPa za zabojstwo!", PREFIX, nowe_doswiadczenie);
exp_gracza[attacker] += nowe_doswiadczenie;
}
else
{
nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
ColorChat(id, RED, "^x04%s^x01 Dostales ^x04%i^x01 EXPa za zabojstwo!", PREFIX, doswiadczenia_za_zabojstwo);
exp_gracza[attacker] += nowe_doswiadczenie;
}
}
killer[id]++;
}
SprawdzPoziom(attacker);
return PLUGIN_CONTINUE;
}
public Zapisz(id) {
new nick[35];
get_user_name(id, nick, 34);
new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Mod", nick);
format(vaultdata, 255, "%i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i", exp_gracza[id], poziom_gracza[id], punkty_gracza[id], plushp[id], plusap[id], apteczka[id]
, ciche[id], loshe[id], losfb[id], lossg[id], fastfb[id], respawn[id], niewidka[id],
bronie[id], karabiny[id], morexp[id], reduction[id], connect[id], connect_zaliczone[id], killer[id], killer_zaliczone[id],
jumper[id], jumper_zaliczone[id]);
nvault_set(vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
public Wczytaj(id) {
new nick[35];
get_user_name(id, nick, 34);
new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Mod", nick);
nvault_get(vault, vaultkey, vaultdata, 255);
new exp[32], lewel[32], punkty[32], hape[32], arm[32], apt[32], ci[32], he[32], fb[32], sg[32], fast[32], resp[32], nie[32], bro[32], kar[32], mor[32], red[32], con[32], con_zal[32],
kil[32], kill_zal[32], jump[32], jump_zal[32];
parse(vaultdata, exp, 31, lewel, 31, punkty, 31, hape, 31, arm, 31, apt, 31, ci, 31, he, 31, fb, 31, sg, 31, fast, 31, resp, 31, nie, 31, bro, 31, kar, 31, mor, 31, red, 31, con, 31, con_zal, 31,
kil, 31, kill_zal, 31, jump, 31, jump_zal, 31);
exp_gracza[id] = str_to_num(exp);
poziom_gracza[id] = str_to_num(lewel);
punkty_gracza[id] = str_to_num(punkty);
plushp[id] = str_to_num(hape);
plusap[id] = str_to_num(arm);
apteczka[id] = str_to_num(apt);
ciche[id] = str_to_num(ci);
loshe[id] = str_to_num(he);
losfb[id] = str_to_num(fb);
lossg[id] = str_to_num(sg);
fastfb[id] = str_to_num(fast);
respawn[id] = str_to_num(resp);
niewidka[id] = str_to_num(nie);
bronie[id] = str_to_num(bro);
karabiny[id] = str_to_num(kar);
morexp[id] = str_to_num(mor);
reduction[id] = str_to_num(red);
connect[id] = str_to_num(con);
connect_zaliczone[id] = str_to_num(con_zal);
killer[id] = str_to_num(kil);
killer_zaliczone[id] = str_to_num(kill_zal);
jumper[id] = str_to_num(jump);
jumper_zaliczone[id] = str_to_num(jump_zal);
return PLUGIN_CONTINUE;
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 100)
{
while(exp_gracza[id] >= tabelka_expa[poziom_gracza[id]])
{
poziom_gracza[id]++;
ColorChat(id, RED, "^x04%s^x01 Awansowales do ^x04%i^x01 poziomu!", PREFIX, poziom_gracza[id]);
ColorChat(0, RED, "^x04%s^x01 Gracz ^x04%s^x01 awansowal do ^x04%i^x01 poziomu!", PREFIX, nick_gracza[id], poziom_gracza[id]);
punkty_gracza[id]++;
}
}
Zapisz(id);
}
public EXPMenu(id)
{
new tytul[100]
format(tytul, charsmax(tytul), "\y%s \wEXP Mod by \rNa 5tyk", PREFIX);
new EXP = menu_create(tytul, "handleEXPMenu");
menu_additem(EXP, "Menu umiejentosci");
menu_additem(EXP, "Opis umiejentosci");
menu_additem(EXP, "Lista osiagniec");
menu_addblank(id, 4);
menu_additem(EXP, "Odswiez EXP");
menu_display(id, EXP, 0);
}
public handleEXPMenu(id, menu, key)
{
switch(key)
{
case 0:
{
MenuUm(id)
}
case 1:
{
Opis(id)
}
case 2:
{
OsiagnieciaMenu(id);
}
case 3:
{
SprawdzPoziom(id)
}
}
menu_destroy(menu);
}
public OsiagnieciaMenu(id)
{
new tytul[100]
new osj[100];
new osk[100];
new osc[100];
format(tytul, charsmax(tytul), "\y%s \wOsiagniecia Menu", PREFIX);
if(jumper[id] < 10001)
{
format(osj, charsmax(osj), "Jumper [\y%i\w/10000]", jumper[id]);
}
else
{
format(osj, charsmax(osj), "\dJumper [\y%i\d][\rZALICZONE\d]", jumper[id]);
}
if(killer[id] < 101)
{
format(osk, charsmax(osk), "Killer [\y%i\w/100]", killer[id]);
}
else
{
format(osk, charsmax(osk), "\dKiller [\y%i\d][\rZALICZONE\d]", killer[id]);
}
if(connect[id] < 301)
{
format(osc, charsmax(osc), "Connector [\y%i\w/300]", connect[id]);
}
else
{
format(osc, charsmax(osc), "\dConnector [\y%i\d][\rZALICZONE\d]", connect[id]);
}
new os = menu_create(tytul, "handleOsiagnieciaMenu");
menu_additem(os, osj);
menu_additem(os, osk);
menu_additem(os, osc);
menu_display(id, os, 0);
}
public handleOsiagnieciaMenu(id, menu, key)
{
switch(key)
{
case 0:
{
OsiagnieciaMenu(id);
}
case 1:
{
OsiagnieciaMenu(id);
}
case 2:
{
OsiagnieciaMenu(id);
}
}
menu_destroy(menu);
}
public Opis(id)
{
new tytul[100]
format(tytul, charsmax(tytul), "\y%s \wOpis umiejetnosci", PREFIX);
new opis = menu_create(tytul, "handleOpisMenu");
menu_additem(opis, "Dodatkowe HP");
menu_additem(opis, "Dodatkowe AP");
menu_additem(opis, "Apteczka");
menu_additem(opis, "Ciche kroki");
menu_additem(opis, "Szansa na HE");
menu_additem(opis, "Szansa na FB");
menu_additem(opis, "Szansa na SG");
menu_additem(opis, "Szybki flash");
menu_additem(opis, "odrodzenie");
menu_additem(opis, "Niewidzialnosc");
menu_additem(opis, "MoreXP");
menu_additem(opis, "FallDamage Reduction");
menu_display(id, opis, 0);
}
public handleOpisMenu(id, menu, key)
{
switch(key)
{
case 0:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Dodatkowe HP^nDostajesz dodatkowe HP podczas spawnu.^n^n1 punkt = 5 HP", PREFIX);
show_menu(id, 1023, opis);
}
case 1:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Dodatkowe AP^nDostajesz dodatkowy armor podczas spawnu.^n^n1 punkt = 10 AP", PREFIX);
show_menu(id, 1023, opis);
}
case 2:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Apteczka^nLeczy 50 HP.", PREFIX);
show_menu(id, 1023, opis);
}
case 3:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Ciche Kroki^nW CT nie slychac jak chodzisz.", PREFIX);
show_menu(id, 1023, opis);
}
case 4:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Szansa na HE^nMasz szanse na wylosowanie HE.^n^n1 punkt = 15 procent szans", PREFIX);
show_menu(id, 1023, opis);
}
case 5:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Szansa na FB^nMasz szanse na wylosowanie FB.^n^n1 punkt = 20 procent szans", PREFIX);
show_menu(id, 1023, opis);
}
case 6:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Szansa na SG^nMasz szanse na wylosowanie SG.^n^n1 punkt = 15 procent szans", PREFIX);
show_menu(id, 1023, opis);
}
case 7:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Szybki flash^nDostajesz szybkiego flasha.", PREFIX);
show_menu(id, 1023, opis);
}
case 8:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Odrodzenie^nMasz szanse na odrodzenie raz w rundzie.^n^n1 punkt = 30 procent szans", PREFIX);
show_menu(id, 1023, opis);
}
case 9:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Niewidzialnosc^nMozesz stac sie niewidzialny.^n^n1 punkt = 2 s", PREFIX);
show_menu(id, 1023, opis);
}
case 10:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Pistolety^nMasz szanse na wylosowanie pistoletu.^n^n1 punkt = 5(VIP 6) procent szans", PREFIX);
show_menu(id, 1023, opis);
}
case 11:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w Karabiny^nMasz szanse na wylosowanie karabinu.^n^n1 punkt = 4(VIP 5) procent szans", PREFIX);
show_menu(id, 1023, opis);
}
case 12:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w MoreXP^nSzybciej zdobywasz EXP.^n^nZdobywasz wiecej EXPa o: punkty*2", PREFIX);
show_menu(id, 1023, opis);
}
case 13:
{
new opis[416];
format(opis, charsmax(opis), "\y%s \w FallDamage Reduction^nOtrzymujesz mniejsze obrazenia po upadku", PREFIX);
show_menu(id, 1023, opis);
}
}
menu_destroy(menu);
}
public MenuUm(id)
{
new tytul[100];
new addhp[100];
new addap[100];
new heal[100];
new fs[100];
new h[100];
new f[100];
new s[100];
new szybki[100];
new resp[100];
new niet[100];
new br[100];
new kr[100];
new mr[100];
new fall[100];
format(tytul, charsmax(tytul), "\y%s \wMenu Umiejetnosci (Punkty: \r%i\w)", PREFIX, punkty_gracza[id]);
format(addhp, charsmax(addhp), "Dodatkowe HP [\r%i\w/10]", plushp[id]);
format(addap, charsmax(addap), "Dodatkowe AP [\r%i\w/5]", plusap[id]);
format(heal, charsmax(heal), "Apteczka [\r%i\w/1]", apteczka[id]);
format(fs, charsmax(fs), "Ciche kroki [\r%i\w/1][Od 5 LVL]", ciche[id]);
format(h, charsmax(h), "Szansa na HE [\r%i\w/3][Od 3 LVL]", loshe[id]);
format(f, charsmax(f), "Szansa na FB [\r%i\w/3]", losfb[id]);
format(s, charsmax(s), "Szansa na SG [\r%i\w/3][Od 3LVL]", lossg[id]);
format(szybki, charsmax(szybki), "Szybki flash [\r%i\w/1][Od 15 LVL]", fastfb[id]);
format(resp, charsmax(resp), "Odrodzenie [\r%i\w/2][Od 10 LVL]", respawn[id]);
format(niet, charsmax(niet), "Niewidzialnosc [\r%i\w/5][Od 7 LVL]", niewidka[id]);
format(br, charsmax(br), "Pistolety [\r%i\w/3][Od 15 LVL]", bronie[id]);
format(kr, charsmax(kr), "Karabiny [\r%i\w/3][Od 20 LVL]", karabiny[id]);
format(mr, charsmax(mr), "MoreXP [\r%i\w/5][Od 30 LVL]", morexp[id]);
format(fall, charsmax(fall), "FallDamage Reduction [\r%i\w/3][Od 20 LVL]", reduction[id]);
new Umki = menu_create(tytul, "handleMenuUm");
menu_additem(Umki, addhp);
menu_additem(Umki, addap);
menu_additem(Umki, heal);
menu_additem(Umki, fs);
menu_additem(Umki, h);
menu_additem(Umki, f);
menu_additem(Umki, s);
menu_additem(Umki, szybki);
menu_additem(Umki, resp);
menu_additem(Umki, niet);
menu_additem(Umki, br);
menu_additem(Umki, kr);
menu_additem(Umki, mr);
menu_additem(Umki, fall);
menu_display(id, Umki, 0);
}
public handleMenuUm(id, menu, key)
{
switch(key)
{
case 0:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(plushp[id] == 10)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
plushp[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 1:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(plusap[id] == 10)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
plusap[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 2:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(apteczka[id] == 1)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
apteczka[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 3:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(ciche[id] == 1)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 4)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
ciche[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 4:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(loshe[id] == 3)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 2)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
loshe[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 5:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(losfb[id] == 3)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
losfb[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 6:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(lossg[id] == 3)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 2)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
lossg[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 7:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(fastfb[id] == 1)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 14)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
fastfb[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 8:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(respawn[id] == 2)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 9)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
respawn[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 9:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(niewidka[id] == 5)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 6)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
niewidka[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 10:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(bronie[id] == 3)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 14)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
bronie[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 11:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(karabiny[id] == 3)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 19)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
karabiny[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 12:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(morexp[id] == 5)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 29)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
morexp[id]++
punkty_gracza[id]--;
MenuUm(id);
}
case 13:
{
if(punkty_gracza[id] < 1)
{
ColorChat(id, RED, "^x04%s^x01 Nie masz punktow do rozdania!", PREFIX);
MenuUm(id);
return 1;
}
if(reduction[id] == 3)
{
ColorChat(id, RED, "^x04%s^x01 Masz maksymalny poziom!", PREFIX);
MenuUm(id);
return 1;
}
if(poziom_gracza[id] < 19)
{
ColorChat(id, RED, "^x04%s^x01 Masz za maly poziom!", PREFIX);
MenuUm(id);
return 1;
}
reduction[id]++
punkty_gracza[id]--;
MenuUm(id);
}
}
}
public SkillMenu(id)
{
new tytul[100];
new apt[100];
new nie[100];
format(tytul, charsmax(tytul), "\y%s \wMenu Skilli", PREFIX);
if(usedApteczka[id] == true)
{
format(apt, charsmax(apt), "Apteczka [Uzyte: \yTak\w]");
}
else
{
format(apt, charsmax(apt), "\dApteczka \w[Uzyte: \rNie\w]");
}
if(usedNiewidka[id] == true)
{
format(nie, charsmax(nie), "\dNiewidzialnosc \w[Uzyte: \yTak\w]");
}
else
{
format(nie, charsmax(nie), "Niewidzialnosc [Uzyte: \rNie\w]");
}
new skill = menu_create(tytul, "handleSkillMenu");
menu_additem(skill, apt);
menu_additem(skill, nie);
menu_display(id, skill, 0)
}
public handleSkillMenu(id, menu, key)
{
switch(key)
{
case 0:
{
if(!usedApteczka[id] && apteczka[id] == 1)
{
Apteczka(id);
usedApteczka[id] = true;
ColorChat(id, RED, "^x04%s^x01 Uleczyles sie o 50HP!", PREFIX);
}
else
{
ColorChat(id, RED, "^x04%s^x01 Apteczki mozna uzyc raz na runde lub nie masz dostepu!", PREFIX);
}
}
case 1:
{
if(!usedNiewidka[id] && niewidka[id] > 0)
{
WlaczNiewidke(id);
usedNiewidka[id] = true;
emit_sound(id, CHAN_STATIC, g_sound_stealth, 1.0, ATTN_NORM, 0, PITCH_NORM);
}
else
{
ColorChat(id, RED, "^x04%s^x01 Niewidzialnosci mozna uzyc raz na runde lub nie masz dostepu!", PREFIX);
}
}
}
}
public Apteczka(id)
{
set_user_health(id, get_user_health(id) + 50);
}
public fwTouchGrenade2(ent, nade)
{
for(new id=0; id<33; id++)
{
if(fastfb[id] == 1 && is_user_alive(id))
{
fwTouchGrenade(nade, ent);
}
}
}
public fwTouchGrenade(nade, ent)
{
if(pev_valid(ent) && pev(ent, pev_solid) == SOLID_TRIGGER) return;
for(new id=0; id<33; id++)
{
if(fastfb[id] == 1 && is_user_alive(id))
{
new szModel[32];
pev(nade, pev_model, szModel, 31);
for(new i=0;i<sizeof(gszModels); i++)
if(equal(szModel[7], gszModels[i]))
{
set_pev(nade, pev_dmgtime, get_gametime());
dllfunc(DLLFunc_Think, nade);
break;
}
}
}
}
public FwdPlayerDeath(vid, killer, shouldgib)
{
set_task(0.5, "TaskRespawn", vid);
}
public TaskRespawn(vid)
{
new respsz = respawn[vid]*30
if(!usedRespawn[vid] && respawn[vid] > 0 && random_num(1, 100) <= respsz)
{
ExecuteHamB(Ham_CS_RoundRespawn, vid);
ColorChat(vid, RED, "^x04%s^x01 Udalo Ci sie odrodzic!", PREFIX);
usedRespawn[vid] = true;
}
}
public WlaczNiewidke(id)
{
if(niewidka[id] == 0)
{
ColorChat(id, GREEN, "%s^x01 Nie masz wykupionej tej umiejetnosci", PREFIX);
return 1;
}
if(usedNiewidka[id])
{
ColorChat(id, GREEN, "%s^x01 Juz raz tego uzyles", PREFIX);
return 1;
}
if(!is_user_alive(id))
{
ColorChat(id, GREEN, "%s^x01 Musisz byc zywy aby tego uzyc", PREFIX);
return 1;
}
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 0);
new Float:ile = niewidka[id] * 2.0;
set_task(ile, "WylaczNiewidke", id);
ColorChat(id, GREEN, "^x04%s^x01 Jestes niewidzialny!", PREFIX);
usedNiewidka[id] = true;
return 0;
}
public WylaczNiewidke(id)
{
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 255);
ColorChat(id, GREEN, "^x04%s^x01 Jestes widzialny!", PREFIX);
}
public Life(id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
new cus[51];
if(poziom_gracza[id] < 52)
{
format(cus, sizeof cus - 1, "Poziom: %d/52 | Exp : %d/%d | Punkty: %d", poziom_gracza[id], exp_gracza[id], tabelka_expa[poziom_gracza[id]], punkty_gracza[id]);
}
else
{
format(cus, sizeof cus - 1, "Poziom: %d | Exp : %d | Punkty: %d", poziom_gracza[id], exp_gracza[id], punkty_gracza[id]);
}
message_begin(MSG_ONE, gStatusMsg, {0,0,0}, id)
write_byte(0)
write_string(cus)
message_end()
}
public TakeDamage(id, inflictor, attacker, Float:damage, damagebits)
{
if(is_user_alive(id) && (damagebits & DMG_FALL))
{
if(reduction[id] > 0)
{
new percent = reduction[id] * 5;
SetHamParamFloat(4, damage * (1.0 - (float(percent) / 100.0)));
}
}
}
public JumpCount(id, uc_handle){
static g_Button,
g_Flags;
g_Button = get_uc(uc_handle, UC_Buttons);
g_Flags = pev(id, pev_flags);
if(g_Button & IN_JUMP){
if(g_Flags & FL_ONGROUND){
jumper[id]++;
}
}
}