Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Check your modules.ini


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
19 odpowiedzi w tym temacie

#1 Shalom_israel

    Pomocny

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 27.02.2016 00:46

Witam, od tygodnia mam problem z blockmakerem na easyblocku, właściwie tylko z expem z bloka.

Aby plugin działał musze usuwać w sma "hnsxp_add_user_xp", lecz jak już wspomniałem, po usunięciu tego, blok z expem nie przyznaje doświadczenia.

Konsola wypluwa:

L 02/27/2016 - 00:37:54: [AMXX] Plugin "bm.amxx" failed to load: Plugin uses an unknown function (name "hnsxp_add_user_xp") - check your modules.ini.

 

 

Brak modułu?


  • +
  • -
  • 0

#2 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.02.2016 01:35

Nie, to nie brak modułu. Przenieś plugin w którym masz ten natyw (hns ?) nad plugin bm.amxx w plugins.ini (lub innym tego typu pliku)

jeżeli nie używasz żadnego pluginu z tym natywem, i jesteś tego pewien daj nam listę pluginów.


  • +
  • -
  • 0

#3 Shalom_israel

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 27.02.2016 02:09

Problem nie ustępuje.


  • +
  • -
  • 0

#4 kukla1910

    Profesjonalista

  • Przedstawiciel Firmy

Reputacja: 55
Pomocny

  • Postów:216
  • GG:
  • Imię:Darek
  • Lokalizacja:Łódź
Offline

Napisano 27.02.2016 02:12

Pokaż modules.ini


  • +
  • -
  • 0

#5 Shalom_israel

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 27.02.2016 02:14

amxmodx
amxmisc
;;;
; To enable a module, remove the semi-colon (;) in front of its name.
; If it's not here, simply add it its name, one per line.
; You don't need to write the _amxx part or the file extension.
;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SQL Modules usually need to be enabled manually ;;
;; You can have any number on at a time.  Use      ;;
;;  amx_sql_type in sql.cfg to specify the default ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


mysql
sqlite


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Put third party modules below here.              ;;
;; You can just list their names, without the _amxx ;;
;;  or file extension.                              ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;






;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; These modules will be auto-detected and loaded   ;;
;;  as needed.  You do not need to enable them here ;;
;;  unless you have problems.                       ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


fun
engine
fakemeta
fakemeta_util
geoip
sockets
regex
nvault
cstrike
csx
hamsandwich

 


  • +
  • -
  • 1

#6 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.02.2016 03:44

Powtarzam..

Co maja wspolnego moduly, pomijajac to ze Twoj plik jest bledny, do nie wczytywanego natywu dodawanego przez plugin ?

 

Pokaz plugins.ini


  • +
  • -
  • 0

#7 Shalom_israel

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 27.02.2016 14:57

Kolega wyżej chciał modules.ini, to podałem, może on coś pokmini.

 

plugins.ini

; AMX Mod X plugins
; Admin Base - Always one has to be activated
admin.amxx		; admin base (required for any admin-related)
;admin_sql.amxx		; admin base - SQL version (comment admin.amxx)

; Basic
admincmd.amxx		; basic admin console commands
adminhelp.amxx		; help command for admin console commands
adminslots.amxx		; slot reservation
;multilingual.amxx	; Multi-Lingual management

; Menus
menufront.amxx		; front-end for admin menus
cmdmenu.amxx		; command menu (speech, settings)
plmenu.amxx		    ; players menu (kick, ban, client cmds.)
;telemenu.amxx		; teleport menu (Fun Module required!)
mapsmenu.amxx		; maps menu (vote, changelevel)
pluginmenu.amxx		; Menus for commands/cvars organized by plugin

; Chat / Messages
adminchat.amxx		; console chat commands
antiflood.amxx		; prevent clients from chat-flooding the server
;scrollmsg.amxx		; displays a scrolling message
imessage.amxx		; displays information messages
adminvote.amxx		; vote commands

; Map related
nextmap.amxx		; displays next map in mapcycle
;mapchooser.amxx		; allows to vote for next map
timeleft.amxx		; displays time left on map

; Configuration
pausecfg.amxx		; allows to pause and unpause some plugins
statscfg.amxx		; allows to manage stats plugins via menu and commands

; Counter-Strike
;restmenu.amxx		; restrict weapons menu
;statsx.amxx		; stats on death or round end (CSX Module required!)
;miscstats.amxx		; bunch of events announcement for Counter-Strike
;stats_logging.amxx	; weapons stats logging (CSX Module required!)

; Enable to use AMX Mod plugins
;amxmod_compat.amxx	; AMX Mod backwards compatibility layer

; Custom - Add 3rd party plugins here
uq_jumpstats.amxx
uq_jumpstats_tops.amxx
hidenseek.amxx
bm.amxx
antistrafe.amxx
antifps.amxx
team_join.amxx
allchat.amxx
;regulamin.amxx
specinfo.amxx
anticheat.amxx
amx_exec.amxx
expmod.amxx

  • +
  • -
  • 0

#8 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 28.02.2016 21:18

Sprawdź czy plugin "expmod" lub plugin "hideandseek" rejestrują natyw "hnsxp_add_user_xp". Jeżeli robi to expmod, przenieś go nad hideandseek. Po czym na samym dole dodaj bm.amxx


  • +
  • -
  • 0

#9 Shalom_israel

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 28.02.2016 22:25

Dalej to samo


  • +
  • -
  • 0

#10 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 28.02.2016 23:27

Gdzie masz bm.amxx ? jeżeli w innym plugins.ini (np dla przykładu codmod-plugins.ini)  przenieś go do głównego plugins.ini na sam dół.


  • +
  • -
  • 0

#11 Shalom_israel

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 29.02.2016 07:06

W plugins.ini. Przecież wkleiłem całą konfigurację tego pliku.


  • +
  • -
  • 0

#12 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.02.2016 12:47

Przenieś zatem plik 

bm.amxx

na sam dół pliku plugins.ini


  • +
  • -
  • 0

#13 Shalom_israel

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 29.02.2016 14:53

Przenioslem, błąd dalej wystepuje
  • +
  • -
  • 0

#14 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.02.2016 15:51

Zobacz czy nie występują w errorlogach jakieś inne błędy, daj je nam jeżeli tak. Jeśli jednak nie wstępują, daj sma pluginu z expem, być może coś zrobione jest źle.


  • +
  • -
  • 0

#15 Shalom_israel

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 29.02.2016 21:07

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]++;
			
		}
	}
}

  • +
  • -
  • 0

#16 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.02.2016 22:52


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));
		}
	}

Zamień na


public Odrodzenie(id)
{
	if(!is_user_alive(id))
                return;
	new flaga = get_user_flags(id);
	new szansabron, szansakarabin;
	client_cmd(id, "bind h +menu");
	
	if(plushp[id] > 0)
	{
		if(flaga & VIP)
		{
			set_user_health(id, get_user_health(id) + (plushp[id]*6));
		}
		else
		{
			set_user_health(id, get_user_health(id) + (plushp[id]*5));
		}
	}

znikną errory. Ale dlaczego nie działają natywy nie mam pojęcia.


  • +
  • -
  • 0

#17 Tops

    Zaawansowany

  • Zbanowany

Reputacja: 8
Nowy

  • Postów:78
  • Imię:Sylwester
Offline

Napisano 29.02.2016 22:56


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));
		}
	}

Zamień na


public Odrodzenie(id)
{
	if(!is_user_alive(id))
                return;
	new flaga = get_user_flags(id);
	new szansabron, szansakarabin;
	client_cmd(id, "bind h +menu");
	
	if(plushp[id] > 0)
	{
		if(flaga & VIP)
		{
			set_user_health(id, get_user_health(id) + (plushp[id]*6));
		}
		else
		{
			set_user_health(id, get_user_health(id) + (plushp[id]*5));
		}
	}

znikną errory. Ale dlaczego nie działają natywy nie mam pojęcia.

 

ty sie h*ja znasz. wiesz co najlepiej zrób, zrób se herbatke  z miodem i zrob mi lodzika :)

 



#18 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 29.02.2016 23:08

Swoimi słowami pokazujesz totalny brak wychowania, w stosunku do starszych osób.
Aby robić fellatio, potrzebny jest c*u*, którego widać nie posiadasz spamując na forum treścią uważaną co najmniej za wulgarną. :)


  • +
  • -
  • 0

#19 Shalom_israel

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:64
  • Imię:Karol
  • Lokalizacja:Wadowice
Offline

Napisano 01.03.2016 10:37

Wywala errory podczas kompilacji


  • +
  • -
  • 0

#20 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 01.03.2016 17:57

Błędy wynikają z reszty kodu (nie błędy, a warningi :) ).

Sprawdzałem u sb.


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych