AMX Mod X - vše co potřebuješ k serveru
Prostor pro Vaši reklamu - napište nám

Pokročilé hledání





Všechny časy jsou v UTC


 [ Příspěvků: 7 ] 
Autor Zpráva
 Předmět příspěvku: Knife Mod [Uprava/Oprava]
PříspěvekNapsal: sob 06. dub 2019 21:43:00 
Offline
AMXX Junior Newbie
AMXX Junior Newbie
Uživatelský avatar

Registrován: pon 23. říj 2017 10:50:55
Příspěvky: 127
Poděkoval: 16 x
Obdržel poděkování: 1 x
Dobrý den komunito, rád by sem vás požádal o fixnutí/opravu Knife modu od gumpa,

Chci aby byly schopnosti jako jsou : BunnyHop,Dvojitý skok atd jenom na jedno kolo, lebo teď kym si někdo koupi tyhle schopnosti tak je má na jednu mapu kym se nezměni.

Dál by chtěl opravit Invisble Schopnost, jde o to že když si nekdo dá Invisible a nahle ho někdo zabije tak má Invisible stále kým se nezměni mapa. Myslim že je to bug :)

A na konec bych vás velice poprosil jestli mi mužete opravit zvuky nože ktere tam mám
Kod se zvuky :[
Spoiler:
new const DraSounds[ ][ ] =
{
"knife_cs/knifes/CrowBar/crowbarcraft_draw.wav",
"knife_cs/knifes/CrowBar/crowbarcraft_slash1.wav",
"knife_cs/knifes/CrowBar/crowbarcraft_slash2.wav",
"knife_cs/knifes/CrowBar/crowbarcraft_stab.wav",
"knife_cs/knifes/CrowBar/crowbarcraft_stab_miss.wav"

Jde o to že tyhle zvuky vubec nejdou ani žadny error nepiše proste nic, adresář mám správně :) zkontrolováno minimálně 5x, vše funguje až na tyhle zvuky.

Kdo by měl čas to opravit budu velice rád :) Ďekuji předem *KISSED*
PS : Jestli bude potřeba nejaké soubory nebo neco tak klidně vám je dam :)


Nemáte oprávnění prohlížet přiložené soubory.

_________________
Moje CS 1.6 Servery
Knife Server [VIP ZDARMA] -> 82.208.17.105:27235

Hledám niekoho kdo by se chtěl stát Adminem :) 15+


Nahoru
  
 
 Předmět příspěvku: Re: Knife Mod [Uprava/Oprava]
PříspěvekNapsal: ned 07. dub 2019 7:46:10 
Offline
AMXX Newbie
AMXX Newbie
Uživatelský avatar

Registrován: úte 31. črc 2018 18:16:48
Příspěvky: 246
Poděkoval: 27 x
Obdržel poděkování: 10 x
Ahoj
Spoiler:
Kód:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
#include <fun>
#include <nvault>
#include <engine>

native cs_set_player_model( id, newmodel[ ] );
native cs_reset_player_model( id );

#define PLUGIN_NAME "Knife Mod"
#define PLUGIN_VERS "1.4"
#define PLUGIN_AUTH "gump497"

#define USE_STOPPED      0
#define PDATA_SAFE      2
#define OFFSET_LINUX      4
#define linux_diff_player   5
#define PLAYER_JUMP      6
#define m_pPlayer       41
#define m_afButtonPressed   246
#define m_flFallVelocity   251
#define m_pActiveItem      373

#define ADMIN_VIP      ADMIN_LEVEL_H

new g_iMaxPlayers;
#define IsUserValidConnected(%1)   (1 <= %1 <= g_iMaxPlayers && g_bIsConnected[%1])

enum ( += 1000 )
{
   TASK_GRAVITY = 1000,
   TASK_INVI,
   TASK_TIMER
};

enum eMenu
{
   szMenu[ 32 ],
   iAccess,
   iCost
};

enum _:g_szFunRound
{
   ROUND_NONE = 0,
   ROUND_STAB,
   ROUND_SLASH
};

enum _:g_szKnives
{
   KNIFE_DEFAULT = 0,
   KNIFE_WINNER,
   KNIFE_AXE_GOLD,
   KNIFE_CROW9,
   KNIFE_CROWBAR,
   KNIFE_LIGHTSABER,
   KNIFE_TURBULENT9,
   KNIFE_RAZOR,
   KNIFE_MASTER,
   KNIFE_CRYSIS,
   KNIFE_SAMOURAI,
   KNIFE_ANGELSWORD,
   KNIFE_DARTHVADER,
   KNIFE_NAUTILUS_RAINBOW
};

enum _:g_szTrails
{
   TRAIL_NONE = 0,
   TRAIL_RED,
   TRAIL_GREEN,
   TRAIL_BLUE,
   TRAIL_ORANGE,
   TRAIL_PINK,
   TRAIL_YELLOW,
   TRAIL_RANDOM
};

enum _:g_szGlows
{
   GLOW_NONE = 0,
   GLOW_RED,
   GLOW_GREEN,
   GLOW_BLUE,
   GLOW_ORANGE,
   GLOW_PINK,
   GLOW_YELLOW,
   GLOW_RANDOM
};

#define TOTAL_ROUNDS      2
#define TOTAL_KNIVES      13
#define TOTAL_TRAILS      7
#define TOTAL_GLOWS      7

new g_szRound[ g_szFunRound ];
new g_szKnife[ 33 ][ g_szKnives ];
new g_szTrail[ 33 ][ g_szTrails ];
new g_szGlow[ 33 ][ g_szGlows ];

new const g_szMenuKnives[ ][ eMenu ] =
{
   { "", 0, 0 },
   { "Zakladny", 0, 0 },
   { "Winner", 0, 4 },
   { "Axe Gold", 0, 4 },
   { "CROW9", ADMIN_VIP, 4 },
   { "Crowbar", ADMIN_VIP, 4 },
   { "Lightsaber", ADMIN_VIP, 4 },
   { "Nautilus Rainbow", ADMIN_VIP, 4 },
   { "Razor", ADMIN_VIP, 4 },
   { "Master", ADMIN_VIP, 4 },
   { "Crysis", ADMIN_VIP, 10 },
   { "Samourai", ADMIN_VIP, 10 },
   { "Angelsword", ADMIN_VIP, 15 },
   { "DarthVader", ADMIN_VIP, 15 },
   { "Turbulent9", ADMIN_VIP, 20 }
};

new const g_szMenuTrails[ ][ eMenu ] =
{
   { "", 0, 0 },
   { "Cerveny trail", 0, 10 },
   { "Zeleny trail", 0, 10 },
   { "Modry trail", 0, 10 },
   { "Oranzovy trail", 0, 10 },
   { "Ruzovy trail", 0, 10 },
   { "Zlty trail", 0, 10 },
   { "Nahodny trail", ADMIN_VIP, 15 }
};

new const g_szMenuGlow[ ][ eMenu ] =
{
   { "", 0, 0 },
   { "Cervene sfarbenie", 0, 10 },
   { "Zelene sfarbenie", 0, 10 },
   { "Modre sfarbenie", 0, 10 },
   { "Oranzove sfarbenie", 0, 10 },
   { "Ruzove sfarbenie", 0, 10 },
   { "Zlte sfarbenie", 0, 10 },
   { "Nahodne sfarbenie", ADMIN_VIP, 15 }
};

new g_szMPrefix[ ] = "!g[Knife]";
new g_szPrefix[ ] = "!g[Shop]";

new const Knives[ ][ ] =
{
   "models/knife_cs/knifes/v_winner.mdl", //0
   "models/knife_cs/knifes/v_axe_gold.mdl", //1
   "models/knife_cs/knifes/v_crowbar.mdl", //2
   "models/knife_cs/knifes/v_crow9.mdl", //3
   "models/knife_cs/knifes/v_light.mdl", //4
   "models/knife_cs/knifes/p_light.mdl", //5
   "models/knife_cs/knifes/v_turbulent9.mdl", //6
   "models/knife_cs/knifes/p_turbulent9.mdl", //7
   "models/knife_cs/knifes/v_razor.mdl", //8
   "models/knife_cs/knifes/p_razor.mdl", //9
   "models/knife_cs/knifes/v_master.mdl", //10
   "models/knife_cs/knifes/p_master.mdl", //11
   "models/knife_cs/knifes/v_crysis.mdl", //12
   "models/knife_cs/knifes/v_samourai.mdl", //13
   "models/knife_cs/knifes/v_angel.mdl", //14
   "models/knife_cs/knifes/v_darth.mdl", //15
   "models/knife_cs/knifes/p_darth.mdl", //16
   "models/knife_cs/knifes/v_nautilus_rainbow.mdl", //17
   "models/knife_cs/knifes/p_nautilus_rainbow.mdl", //18
   "models/knife_cs/knifes/v_superknife.mdl", //19
   "models/knife_cs/knifes/p_superknife.mdl" //20
};

new const OldSounds[ ][ ] =
{
   "weapons/knife_deploy1.wav",
   "weapons/knife_hit1.wav",
   "weapons/knife_hit2.wav",
   "weapons/knife_hit3.wav",
   "weapons/knife_hit4.wav",
   "weapons/knife_hitwall1.wav",
   "weapons/knife_slash1.wav",
   "weapons/knife_slash2.wav",
   "weapons/knife_stab.wav"
};

new const BalSounds[ ][ ] =
{
   "knife_cs/knifes/CROW9/knife_draw.wav",
   "knife_cs/knifes/CROW9/knife_hitwall1.wav", 
   "knife_cs/knifes/CROW9/knife_slash1.wav",
   "knife_cs/knifes/CROW9/knife_slash2.wav",
   "knife_cs/knifes/CROW9/knife_stab.wav"
};

new const DarSounds[ ][ ] =
{
   "knife_cs/knifes/light_deploy1.wav",
   "knife_cs/knifes/light_hit1.wav",
   "knife_cs/knifes/light_hit2.wav",
   "knife_cs/knifes/light_hit3.wav",
   "knife_cs/knifes/light_hit4.wav",
   "knife_cs/knifes/light_hitwall1.wav",
   "knife_cs/knifes/light_slash1.wav",
   "knife_cs/knifes/light_slash2.wav",
   "knife_cs/knifes/light_stab.wav"
};

new const DraSounds[ ][ ] =
{
   "knife_cs/knifes/CrowBar/crowbarcraft_draw.wav",
   "knife_cs/knifes/CrowBar/crowbarcraft_slash1.wav",
   "knife_cs/knifes/CrowBar/crowbarcraft_slash2.wav",
   "knife_cs/knifes/CrowBar/crowbarcraft_stab.wav",
   "knife_cs/knifes/CrowBar/crowbarcraft_stab_miss.wav"
};

new const SamSounds[ ][ ] =
{
   "knife_cs/knifes/samourai_deploy1.wav",
   "knife_cs/knifes/samourai_hit1.wav",
   "knife_cs/knifes/samourai_hit2.wav",
   "knife_cs/knifes/samourai_hit3.wav",
   "knife_cs/knifes/samourai_hit4.wav",
   "knife_cs/knifes/samourai_hitwall1.wav",
   "knife_cs/knifes/samourai_slash1.wav",
   "knife_cs/knifes/samourai_slash2.wav",
   "knife_cs/knifes/samourai_stab.wav"
};

new const DuaSounds[ ][ ] =
{
   "knife_cs/knifes/nautilus/knife_draw.wav",
   "knife_cs/knifes/nautilus/knife_hit1.wav",
   "knife_cs/knifes/nautilus/knife_hit2.wav",
   "knife_cs/knifes/nautilus/knife_hit3.wav",
   "knife_cs/knifes/nautilus/knife_hit4.wav",
   "knife_cs/knifes/nautilus/knife_hitwall1.wav",
   "knife_cs/knifes/nautilus/knife_hitwall2.wav",
   "knife_cs/knifes/nautilus/knife_slash1.wav",
   "knife_cs/knifes/nautilus/knife_slash2.wav",
   "knife_cs/knifes/nautilus/knife_stab.wav"
};

new const StrSounds[ ][ ] =
{
   "knife_cs/knifes/Turbulent9/knife_deploy1.wav",
   "knife_cs/knifes/Turbulent9/knife_hit1.wav",
   "knife_cs/knifes/Turbulent9/knife_hit2.wav",
   "knife_cs/knifes/Turbulent9/knife_hitwall1.wav",
   "knife_cs/knifes/Turbulent9/knife_slash1.wav",
   "knife_cs/knifes/Turbulent9/knife_slash2.wav",
   "knife_cs/knifes/Turbulent9/knife_stab.wav"
};

new const MasSounds[ ][ ] =
{
   "knife_cs/knifes/mastercombat_deploy1.wav",
   "knife_cs/knifes/mastercombat1.wav",
   "knife_cs/knifes/mastercombat2.wav",
   "knife_cs/knifes/mastercombat1.wav",
   "knife_cs/knifes/mastercombat2.wav",
   "knife_cs/knifes/mastercombat_hwall.wav",
   "knife_cs/knifes/mastercombat_slash1.wav",
   "knife_cs/knifes/mastercombat_slash1.wav",
   "knife_cs/knifes/mastercombat_stab.wav"
};

new const RazSounds[ ][ ] =
{
   "knife_cs/knifes/razor_deploy1.wav",
   "knife_cs/knifes/razor1.wav",
   "knife_cs/knifes/razor2.wav",
   "knife_cs/knifes/razor1.wav",
   "knife_cs/knifes/razor2.wav",
   "knife_cs/knifes/razor_hwall.wav",
   "knife_cs/knifes/razor_slash1.wav",
   "knife_cs/knifes/razor_slash1.wav",
   "knife_cs/knifes/razor_stab.wav"
};

new const CrySounds[ ][ ] =
{
   "knife_cs/knifes/crysis_deploy1.wav",
   "knife_cs/knifes/crysis_hit1.wav",
   "knife_cs/knifes/crysis_hit2.wav",
   "knife_cs/knifes/crysis_hit3.wav",
   "knife_cs/knifes/crysis_hit4.wav",
   "knife_cs/knifes/crysis_hitwall.wav",
   "knife_cs/knifes/crysis_slash1.wav",
   "knife_cs/knifes/crysis_slash1.wav",
   "knife_cs/knifes/crysis_stab.wav"
};

new const SupSounds[ ][ ] =
{
   "weapons/knife_deploy1.wav",
   "knife_cs/knifes/knife_hit1.wav",
   "knife_cs/knifes/knife_hit2.wav",
   "knife_cs/knifes/knife_hit3.wav",
   "knife_cs/knifes/knife_hit4.wav",
   "knife_cs/knifes/knife_hitwall1.wav",
   "knife_cs/knifes/knife_slash1.wav",
   "knife_cs/knifes/knife_slash1.wav",
   "knife_cs/knifes/knife_stab.wav"
};

new const g_szOnly_Knife[ ] = "knife_cs/only_round.wav";

new g_iMsgSayText;

new g_iRoundEnd;
new g_iSuperKnife;

new g_Knf_Fun_Round;
new g_Knf_SuperKnife_Limit;

new Hud[ 2 ];
new g_nVault;

new HamHook:g_iHhPreThinkPre;

new bool:g_bIsConnected[ 33 ];
new bool:g_bIsAlive[ 33 ];

new bool:g_bActived_SuperKnife[ 33 ];
new bool:g_bActived_DoubleJump[ 33 ];
new bool:g_bActived_BunnyHop[ 33 ];
new bool:g_bActived_Invisible[ 33 ];
new bool:g_bActived_Disguise[ 33 ];

new bool:g_bKMenu[ 33 ];
new bool:g_bSkins[ 33 ];

new g_iJumpCount[ 33 ];
new g_iMoney[ 33 ];

new g_ModName[ 32 ];

new player_t[ ] = "Joker"; // Tu si dej vlastni nazev ** T ** skinu
new player_ct[ ] = "Robocop"; // Tu si dej vlastni nazev ** CT ** skinu

public plugin_init( )
{
   register_plugin( PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH );
   formatex( g_ModName, charsmax( g_ModName ), "%s %s", PLUGIN_NAME, PLUGIN_VERS );
   
   g_iMsgSayText = get_user_msgid( "SayText" );
   
   RegisterHam( Ham_Spawn, "player", "ham_Player_Spawn_Post", 1 );
   RegisterHam( Ham_TakeDamage, "player", "ham_Player_TakeDamage_Pre", 0 );
   g_iHhPreThinkPre = RegisterHam( Ham_Player_PreThink, "player", "ham_Player_PreThink_Pre", 0 );
   DisableHamForward( g_iHhPreThinkPre );
   RegisterHam( Ham_Killed, "player", "ham_Player_Killed_Pre", 0 );
   RegisterHam( Ham_Player_Jump, "player", "ham_Player_Jump_Pre", 0 );
   RegisterHam( Ham_Item_Deploy, "weapon_knife", "ham_Item_Deploy_Post", 1 );
   RegisterHam( Ham_Use, "func_tank", "ham_UseStationary_Post", 1 );
   RegisterHam( Ham_Use, "func_tankmortar", "ham_UseStationary_Post", 1 );
   RegisterHam( Ham_Use, "func_tankrocket", "ham_UseStationary_Post", 1 );
   RegisterHam( Ham_Use, "func_tanklaser", "ham_UseStationary_Post", 1 );
   
   register_forward( FM_PlayerPreThink, "PreThink" );
   register_forward( FM_GetGameDescription, "GameDescription" );
   register_forward( FM_EmitSound, "EmitSound" );
   
   register_logevent( "Round_End", 2, "1&Restart_Round", "1=Game_Commencing", "1=Round_End" );
   
   register_event( "HLTV", "Round_Start", "a", "1=0", "2=0" );
   register_event( "Money", "Event_Money", "b" );
   register_event( "SendAudio", "Event_SendAudio", "a", "2=%!MRAD_terwin", "2=%!MRAD_ctwin", "2=%!MRAD_rounddraw" );
   register_event( "SayText", "Event_SayText", "b", "2&#Cstrike_Chat_All" );
   
   g_Knf_Fun_Round = register_cvar( "knf_fun_round", "1" ); // on/off fun kolo
   g_Knf_SuperKnife_Limit = register_cvar( "knf_superknife_limit", "3" ); // super knife limit
   
   register_clcmd( "say /shop", "command_KnfMenu" );
   register_clcmd( "say /knife", "command_KnfMenu" );
   register_clcmd( "say /knives", "command_Knives" );
   register_clcmd( "say /trail", "command_Trails" );
   register_clcmd( "say /glow", "command_Glow" );
   register_clcmd( "say /ability", "command_Ability" );
   register_clcmd( "say /setting", "command_Setting" );
   register_clcmd( "say_team /shop", "command_KnfMenu" );
   register_clcmd( "say_team /knife", "command_KnfMenu" );
   register_clcmd( "say_team /knives", "command_Knives" );
   register_clcmd( "say_team /trail", "command_Trails" );
   register_clcmd( "say_team /glow", "command_Glow" );
   register_clcmd( "say_team /ability", "command_Ability" );
   register_clcmd( "say_team /setting", "command_Setting" );
   register_clcmd( "nightvision", "command_KnfMenu" );
   
   for( new i = 0; i < 2; i++ )
      Hud[ i ] = CreateHudSyncObj( i + 1 );
      
   g_iMaxPlayers = get_maxplayers( );
}

public plugin_end( )
{
   nvault_close( g_nVault );
   
   return PLUGIN_CONTINUE;
}

public plugin_cfg( )
{
   g_nVault = nvault_open( "knf_points" );
   
   if ( g_nVault == INVALID_HANDLE )
      set_fail_state( "Error opening Knife nVault, file does not exist!" );
}

public plugin_precache( )
{
   new temp[64];
   
   format(temp, sizeof temp -1, "models/player/%s/%s.mdl", player_t, player_t);
   precache_model(temp);
   
   format(temp, sizeof temp -1, "models/player/%s/%s.mdl", player_ct, player_ct);
   precache_model(temp);
   
   new i;
   
   for( i = 0; i < sizeof Knives ; i++ )   
      precache_model( Knives[ i ] );
      
   for( i = 0; i < sizeof BalSounds ; i++ )
      precache_sound( BalSounds[ i ] );
      
   for( i = 0; i < sizeof DarSounds ; i++ )
      precache_sound( DarSounds[ i ] );
      
   for( i = 0; i < sizeof DraSounds ; i++ )
      precache_sound( DraSounds[ i ] );
      
   for( i = 0; i < sizeof SamSounds ; i++ )
      precache_sound( SamSounds[ i ] );
      
   for( i = 0; i < sizeof DuaSounds ; i++ )
      precache_sound( DuaSounds[ i ] );
      
   for( i = 0; i < sizeof StrSounds ; i++ )
      precache_sound( StrSounds[ i ] );
      
   for( i = 0; i < sizeof MasSounds ; i++ )
      precache_sound( MasSounds[ i ] );
      
   for( i = 0; i < sizeof RazSounds ; i++ )
      precache_sound( RazSounds[ i ] );
      
   for( i = 0; i < sizeof CrySounds ; i++ )
      precache_sound( CrySounds[ i ] );
      
   for( i = 0; i < sizeof SupSounds ; i++ )
      precache_sound( SupSounds[ i ] );
      
   precache_sound( g_szOnly_Knife );
}

public plugin_natives( )
{
   register_library( "knf" );
   register_native( "knf_get_user_money", "knf_get_user_money", 1 );
   register_native( "knf_set_user_money", "knf_set_user_money", 1 );
   register_native( "knf_get_user_knife", "knf_get_user_knife", 1 );
   register_native( "knf_set_user_knife", "knf_set_user_knife", 1 );
   register_native( "knf_get_user_trail", "knf_get_user_trail", 1 );
   register_native( "knf_set_user_trail", "knf_set_user_trail", 1 );
   register_native( "knf_get_user_glow", "knf_get_user_glow", 1 );
   register_native( "knf_set_user_glow", "knf_set_user_glow", 1 );
   register_native( "knf_get_fun_round", "knf_get_fun_round", 1 );
   register_native( "knf_set_fun_round", "knf_set_fun_round", 1 );
   register_native( "knf_sub_fun_round", "knf_sub_fun_round", 1 );
}

public knf_get_user_money( id )
   return g_iMoney[ id ];

public knf_set_user_money( id, amount )
{
   if( !IsUserValidConnected( id )
   || knf_get_user_money( id ) > 16000 )
      return 0;
      
   g_iMoney[ id ] = amount;
   cs_set_user_money( id, g_iMoney[ id ], 1 );
   
   return 1;
}

public knf_get_user_knife( id )
   return g_szKnife[ id ][ TOTAL_KNIVES ];

public knf_set_user_knife( id, knife )
{
   if( !IsUserValidConnected( id )
   || knf_get_user_knife( id ) == knife )
      return 0;
      
   g_szKnife[ id ][ TOTAL_KNIVES ] = knife;
   
   if( g_bIsAlive[ id ] )
   {
      new iWeapon; iWeapon = fm_cs_get_current_weapon_ent( id );
      if( pev_valid( iWeapon ) )
         replace_weapon_models( id );
   }
      
   return 1;
}

public knf_get_user_trail( id )
   return g_szTrail[ id ][ TOTAL_TRAILS ];

public knf_set_user_trail( id, trail )
{
   if( !IsUserValidConnected( id ) )
      return 0;
      
   g_szTrail[ id ][ TOTAL_TRAILS ] = trail;
   
   switch( trail )
   {
      case TRAIL_NONE: client_cmd( id, "amx_tr trail off" );
      case TRAIL_RED: client_cmd( id, "amx_tr trail 3 red" );
      case TRAIL_GREEN: client_cmd( id, "amx_tr trail 3 green" );
      case TRAIL_BLUE: client_cmd( id, "amx_tr trail 3 blue" );
      case TRAIL_ORANGE: client_cmd( id, "amx_tr trail 3 orange" );
      case TRAIL_PINK: client_cmd( id, "amx_tr trail 3 pink" );
      case TRAIL_YELLOW: client_cmd( id, "amx_tr trail 3 yellow" );
      case TRAIL_RANDOM: client_cmd( id, "amx_tr trail 3" );
   }
   
   return 1;
}

public knf_get_user_glow( id )
   return g_szGlow[ id ][ TOTAL_GLOWS ];

public knf_set_user_glow( id, glow )
{
   if( !IsUserValidConnected( id ) )
      return 0;
      
   g_szGlow[ id ][ TOTAL_GLOWS ] = glow;
   
   switch( glow )
   {
      case GLOW_NONE: set_user_rendering( id );
      case GLOW_RED: set_user_rendering( id, kRenderFxGlowShell, 250, 010, 010, kRenderNormal, 25 );
      case GLOW_GREEN: set_user_rendering( id, kRenderFxGlowShell, 010, 250, 010, kRenderNormal, 25 );
      case GLOW_BLUE: set_user_rendering( id, kRenderFxGlowShell, 010, 010, 250, kRenderNormal, 25 );
      case GLOW_ORANGE: set_user_rendering( id, kRenderFxGlowShell, 255, 148, 009, kRenderNormal, 25 );
      case GLOW_PINK: set_user_rendering( id, kRenderFxGlowShell, 255, 192, 203, kRenderNormal, 25 );
      case GLOW_YELLOW: set_user_rendering( id, kRenderFxGlowShell, 250, 250, 010, kRenderNormal, 25 );
      case GLOW_RANDOM: set_user_rendering( id, kRenderFxGlowShell, random(255), random(255), random(255), kRenderNormal, 25 );
   }
   
   return 1;
}

public knf_get_fun_round( )
   return g_szRound[ TOTAL_ROUNDS ];

public knf_set_fun_round( round )
{
   if( g_szRound[ TOTAL_ROUNDS ] != ROUND_NONE
   || get_pcvar_num( g_Knf_Fun_Round ) != 1
   || fnGetAlivePlayers( ) < 3 )
      return 0;
      
   g_szRound[ TOTAL_ROUNDS ] = round;
   EnableHamForward( g_iHhPreThinkPre );
   client_cmd( 0, "spk %s", g_szOnly_Knife );
   if( task_exists( TASK_TIMER ) )
   {
      remove_task( TASK_TIMER );
      ClearSyncHud( 0, Hud[ 0 ] );
   }
   set_task( 1.0, "Task_FunRound", TASK_TIMER );
   
   return 1;
}

public knf_sub_fun_round( )
{
   if( g_szRound[ TOTAL_ROUNDS ] == ROUND_NONE )
      return 0;
      
   g_szRound[ TOTAL_ROUNDS ] = ROUND_NONE;
   DisableHamForward( g_iHhPreThinkPre );
   if( task_exists( TASK_TIMER ) )
   {
      remove_task( TASK_TIMER );
      ClearSyncHud( 0, Hud[ 0 ] );
   }
   
   return 1;
}


public client_putinserver( id )
{
   g_bIsConnected[ id ] = true;
   g_bIsAlive[ id ] = false;
   
   g_bActived_SuperKnife[ id ] = false;
   g_bActived_DoubleJump[ id ] = false;
   g_bActived_BunnyHop[ id ] = false;
   g_bActived_Invisible[ id ] = false;
   g_bActived_Disguise[ id ] = false;
   
   g_bKMenu[ id ] = true;
   g_bSkins[ id ] = true;
   
   knf_set_user_knife( id, KNIFE_DEFAULT );
   knf_set_user_trail( id, TRAIL_NONE );
   knf_set_user_glow( id, GLOW_NONE );
   
   LoadData( id );
}

public client_disconnect( id )
{
   g_bIsConnected[ id ] = false;
   g_bIsAlive[ id ] = false;
   
   g_bActived_SuperKnife[ id ] = false;
   g_bActived_DoubleJump[ id ] = false;
   g_bActived_BunnyHop[ id ] = false;
   g_bActived_Invisible[ id ] = false;
   g_bActived_Disguise[ id ] = false;
   
   if( task_exists( id + TASK_GRAVITY ) )
      remove_task( id + TASK_GRAVITY );
   if( task_exists( id + TASK_INVI ) )
      remove_task( id + TASK_INVI );
      
   SaveData( id );
}

public ham_Player_Spawn_Post( id )
{
   if( !is_user_alive( id ) )
   {
      return HAM_IGNORED;
   }
   
   if (get_user_flags(id) & ADMIN_VIP)
   {
      new CsTeams:userTeam = cs_get_user_team(id);
      
      if (userTeam == CS_TEAM_T)
      {
         cs_reset_player_model(id);
         cs_set_player_model(id, player_t);
      }
      if (userTeam == CS_TEAM_CT)
      {
         cs_reset_player_model(id);
         cs_set_player_model(id, player_ct);
      }
   }
   
   new iWeapon; iWeapon = fm_cs_get_current_weapon_ent( id );
   if( pev_valid( iWeapon ) )
      replace_weapon_models( id );
      
   g_bIsAlive[ id ] = true;
   g_bActived_Invisible[ id ] = false;
   
   if( task_exists( id + TASK_GRAVITY ) )
      remove_task( id + TASK_GRAVITY );
   if( task_exists( id + TASK_INVI ) )
      remove_task( id + TASK_INVI );
      
   if( g_bActived_Disguise[ id ] )
   {
      g_bActived_Disguise[ id ] = false;
      cs_reset_player_model( id );
   }
   
   set_user_gravity( id, 1.0 );
   
   KMenu( id );
   cs_set_user_money( id, g_iMoney[ id ], 1 );
   
   return HAM_IGNORED;
}

public ham_Player_TakeDamage_Pre( victim, infictor, attacker, Float:damage, damagebits )
{
   if( !IsUserValidConnected( victim ) || !IsUserValidConnected( attacker ) || victim == attacker )
      return HAM_IGNORED;
      
   if( g_szRound[ TOTAL_ROUNDS ] == ROUND_NONE )
   {
      if( g_bActived_SuperKnife[ attacker ] )
      {
         if( get_user_weapon( attacker ) == CSW_KNIFE )
         {
            SetHamParamFloat( 4, damage * 2 );
         }
      }
   }
   
   return HAM_IGNORED;
}

public ham_Player_PreThink_Pre( id )
{
   new iButton, iWeapon, iTemp;
   iButton = pev( id, pev_button );
   iWeapon = get_user_weapon( id, iTemp, iTemp );
   
   if( iWeapon == CSW_KNIFE )
   {
      switch( g_szRound[ TOTAL_ROUNDS ] )
      {
         case ROUND_STAB:
         {
            if( iButton & IN_ATTACK )
            {
               iButton = ( iButton & ~IN_ATTACK ) | IN_ATTACK2;
               set_pev( id, pev_button, iButton );
            }
         }
         case ROUND_SLASH:
         {
            if( iButton & IN_ATTACK2 )
            {
               iButton = ( iButton & ~IN_ATTACK2 ) | IN_ATTACK;
               set_pev( id, pev_button, iButton );
            }
         }
      }
   }
}

public ham_Player_Killed_Pre( victim, killer, shouldgib )
{
   if( !IsUserValidConnected( victim ) )
      return HAM_IGNORED;
      
   g_bIsAlive[ victim ] = false;
   g_bActived_Invisible[ id ] = false;
   
   if( g_szRound[ TOTAL_ROUNDS ] == ROUND_NONE )
   {
      if( g_bActived_SuperKnife[ victim ] )
         g_bActived_SuperKnife[ victim ] = false;
   }
   
   if( !IsUserValidConnected( killer ) || victim == killer )
      return HAM_IGNORED;
      
   g_iMoney[ killer ] += ( get_user_flags( killer ) & ADMIN_VIP ) ? 6 : 3;
   cs_set_user_money( killer, g_iMoney[ killer ], 1 );
   
   return HAM_IGNORED;
}

public ham_Player_Jump_Pre( id )
{
   if( !IsUserValidConnected( id ) )
      return HAM_IGNORED;
      
   new fFlags = pev( id, pev_flags );
   
   if( g_szRound[ TOTAL_ROUNDS ] == ROUND_NONE )
   {
      if( g_bActived_BunnyHop[ id ] )
      {
         if( fFlags & FL_ONGROUND )
         {
            new Float:fVecVelocity[ 3 ];
            pev( id, pev_velocity, fVecVelocity );
            fVecVelocity[ 2 ] = 250.0;
            set_pev( id, pev_velocity, fVecVelocity );
            set_pev( id, pev_gaitsequence, PLAYER_JUMP );
         }
      }
      
      if( g_bActived_DoubleJump[ id ] )
      {
         if( fFlags & FL_WATERJUMP
         || pev( id, pev_waterlevel ) >= 2
         || !( get_pdata_int( id, m_afButtonPressed ) & IN_JUMP ) )
            return HAM_IGNORED;
            
         if( fFlags & FL_ONGROUND )
         {
            g_iJumpCount[ id ] = 0;
            return HAM_IGNORED;
         }
         
         new iMulti = 1;
         if( iMulti )
         {
            if( get_pdata_float( id, m_flFallVelocity ) < 500 && ++g_iJumpCount[ id ] <= iMulti )
            {
               new Float:fVecVelocity[ 3 ];
               pev( id, pev_velocity, fVecVelocity );
               fVecVelocity[ 2 ] = 268.328157;
               set_pev( id, pev_velocity, fVecVelocity );
               return HAM_HANDLED;
            }
         }
      }
   }
   
   return HAM_IGNORED;
}

public ham_UseStationary_Post( entity, caller, activator, use_type )
{
   if( use_type == USE_STOPPED && IsUserValidConnected( caller ) )
      replace_weapon_models( caller );
}

public ham_Item_Deploy_Post( ent )
{
   new id; id = fm_cs_get_weapon_ent_owner( ent );
   
   if( !pev_valid( id ) )
      return;
      
   replace_weapon_models( id );
}

replace_weapon_models( id )
{
   if( !IsUserValidConnected( id ) )
      return;
      
   if( g_bSkins[ id ] )
   {
      if( g_bActived_SuperKnife[ id ] )
      {
         set_pev( id, pev_viewmodel2, Knives[ 19 ] );
         set_pev( id, pev_weaponmodel2, Knives[ 20 ] );
      } else {
         switch( knf_get_user_knife( id ) )
         {
            case KNIFE_DEFAULT:
            {
               set_pev( id, pev_viewmodel2, "models/v_knife.mdl" );
               set_pev( id, pev_weaponmodel2, "models/p_knife.mdl" );
            }
            case KNIFE_WINNER: set_pev( id, pev_viewmodel2, Knives[ 0 ] );
            case KNIFE_AXE_GOLD: set_pev( id, pev_viewmodel2, Knives[ 1 ] );
            case KNIFE_CROWBAR:
            {
               set_pev( id, pev_viewmodel2, Knives[ 2 ] );
            }
            case KNIFE_CROW9:
            {
               set_pev( id, pev_viewmodel2, Knives[ 3 ] );
            }
            case KNIFE_LIGHTSABER:
            {
               set_pev( id, pev_viewmodel2, Knives[ 4 ] );
               set_pev( id, pev_weaponmodel2, Knives[ 5 ] );
            }
            case KNIFE_TURBULENT9:
            {
               set_pev( id, pev_viewmodel2, Knives[ 6 ] );
               set_pev( id, pev_weaponmodel2, Knives[ 7 ] );
            }
            case KNIFE_RAZOR:
            {
               set_pev( id, pev_viewmodel2, Knives[ 8 ] );
               set_pev( id, pev_weaponmodel2, Knives[ 9 ] );
            }
            case KNIFE_MASTER:
            {
               set_pev( id, pev_viewmodel2, Knives[ 10 ] );
               set_pev( id, pev_weaponmodel2, Knives[ 11 ] );
            }
            case KNIFE_CRYSIS:
            {
               set_pev( id, pev_viewmodel2, Knives[ 12 ] );
            }
            case KNIFE_SAMOURAI: set_pev( id, pev_viewmodel2, Knives[ 13 ] );
            case KNIFE_ANGELSWORD: set_pev( id, pev_viewmodel2, Knives[ 14 ] );
            case KNIFE_DARTHVADER:
            {
               set_pev( id, pev_viewmodel2, Knives[ 15 ] );
               set_pev( id, pev_weaponmodel2, Knives[ 16 ] );
            }
            case KNIFE_NAUTILUS_RAINBOW:
            {
               set_pev( id, pev_viewmodel2, Knives[ 17 ] );
               set_pev( id, pev_weaponmodel2, Knives[ 18 ] );
            }
         }
      }
   } else {
      set_pev( id, pev_viewmodel2, "models/v_knife.mdl" );
      set_pev( id, pev_weaponmodel2, "models/p_knife.mdl" );
   }
}

public PreThink( id )
{
   new idAiming, iBodyPart;
   get_user_aiming( id, idAiming, iBodyPart );
   
   if( is_user_alive( id ) && is_user_alive( idAiming ) )
   {
      new iMsg[ 128 ], szName[ 32 ], iHealth, iMoney;
      get_user_name( idAiming, szName, charsmax( szName ) );
      iHealth = get_user_health( idAiming );
      iMoney = g_iMoney[ idAiming ];
      
      set_hudmessage( 65, 65, 65, -1.0, 0.6, _, _, 0.1, 0.3, 0.3, -1 );
      switch( cs_get_user_team( id ) )
      {
         case CS_TEAM_CT:
         {
            if( cs_get_user_team( idAiming ) == CS_TEAM_CT )
            {
               format( iMsg, charsmax( iMsg ), "%s^n^nZivot: %iHP^nPeniaze: %i$", szName, iHealth, iMoney );
               ShowSyncHudMsg( id, Hud[ 1 ], iMsg );
            }
         }
         case CS_TEAM_T:
         {
            if( cs_get_user_team( idAiming ) == CS_TEAM_T )
            {
               format( iMsg, charsmax( iMsg ), "%s^n^nZivot: %iHP^nPeniaze: %i$", szName, iHealth, iMoney );
               ShowSyncHudMsg( id, Hud[ 1 ], iMsg );
            }
         }
      }
   }
   
   return PLUGIN_HANDLED;
}

public GameDescription( )
{
   forward_return( FMV_STRING, g_ModName );
   
   return FMRES_SUPERCEDE;
}

public EmitSound( id, channel, sample[ ], Float:volume, Float:atten, flags, pitch )
{
   new i;
   
   if( IsUserValidConnected( id ) && g_bIsAlive[ id ] && g_bSkins[ id ] )
   {
      if( g_bActived_SuperKnife[ id ] )
      {
         for( i = 0; i < sizeof SupSounds; i++ )
         {
            if( equal( sample, OldSounds[ i ] ) )
            {
               emit_sound( id, channel, SupSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
               return FMRES_SUPERCEDE;
            }
         }
      }
      else
      {
         switch( knf_get_user_knife( id ) )
         {
            case KNIFE_CROW9:
            {
               for( i = 0; i < sizeof BalSounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, BalSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
            case KNIFE_CROWBAR:
            {
               for( i = 0; i < sizeof DraSounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, DraSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
            case KNIFE_LIGHTSABER, KNIFE_DARTHVADER:
            {
               for( i = 0; i < sizeof DarSounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, DarSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
            case KNIFE_TURBULENT9:
            {
               for( i = 0; i < sizeof StrSounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, StrSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
            case KNIFE_RAZOR:
            {
               for( i = 0; i < sizeof RazSounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, RazSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
            case KNIFE_MASTER:
            {
               for( i = 0; i < sizeof MasSounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, MasSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
            case KNIFE_CRYSIS:
            {
               for( i = 0; i < sizeof CrySounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, CrySounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
            case KNIFE_SAMOURAI:
            {
               for( i = 0; i < sizeof SamSounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, SamSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
            case KNIFE_NAUTILUS_RAINBOW:
            {
               for( i = 0; i < sizeof DuaSounds; i++ )
               {
                  if( equal( sample, OldSounds[ i ] ) )
                  {
                     emit_sound( id, channel, DuaSounds[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
                     return FMRES_SUPERCEDE;
                  }
               }
            }
         }
      }
   }
   
   return FMRES_IGNORED;
}

public Round_Start( )
{
   g_iRoundEnd = 0;
   g_iSuperKnife = 0;
   
   if( fnGetAlivePlayers( ) >= 2 )
   {
      if( get_pcvar_num( g_Knf_Fun_Round ) == 1 )
      {
         new iNum = random_num( 1,8 );
         if( iNum == 4 )
         {
            set_task( get_cvar_num( "mp_freezetime" ) + 0.1, "Fun_Round", TASK_TIMER );
         }
      }
   }
}

public Round_End( )
{
   static id
   g_iSuperKnife = 0;
   g_bActived_SuperKnife[ id ] = false
   g_bActived_DoubleJump[ id ] = false
   g_bActived_BunnyHop[ id ] = false
   g_bActived_Invisible[ id ] = false
   g_bActived_Disguise[ id ] = false

   if( knf_get_fun_round( ) != ROUND_NONE )
      knf_sub_fun_round( );
}

public Fun_Round( )
{
   EnableHamForward( g_iHhPreThinkPre );
   
   switch( random_num( 1,2 ) )
   {
      case 1: g_szRound[ TOTAL_ROUNDS ] = ROUND_STAB;
      case 2: g_szRound[ TOTAL_ROUNDS ] = ROUND_SLASH;
   }
   
   client_cmd( 0, "spk %s", g_szOnly_Knife );
   set_task( 1.0, "Task_FunRound", TASK_TIMER );
}

public Event_Money( id )
{
   if( IsUserValidConnected( id ) )
      cs_set_user_money( id, g_iMoney[ id ], 1 );
}

public Event_SendAudio( id )
{
   g_iRoundEnd = 1;
}

public Event_SayText( id )
{
   if( id != read_data( 1 ) )
      return;
      
   new szChannel[ 22 ], iPlayers[ 32 ], iNum;
   read_data( 2, szChannel, 21 );
   
   get_players( iPlayers, iNum, szChannel[ 17 ] ? "ach" : "bch" );
   
   if( !iNum )
      return;
      
   new szMessage[ 192 ];
   read_data( 4, szMessage, 191 );
   
   for( new i; i < iNum; i++ )
   {
      message_begin( MSG_ONE_UNRELIABLE, g_iMsgSayText, _, iPlayers[ i ] );
      write_byte( id );
      write_string( szChannel );
      write_string( "" );
      write_string( szMessage );
      message_end( );
   }
}

public command_KnfMenu( id )
{
   Open_KnfMenu( id );
}

public command_Knives( id )
{
   Open_Knives( id );
}

public command_Trails( id )
{
   Open_Trails( id );
}

public command_Glow( id )
{
   Open_Glow( id );
}

public command_Ability( id )
{
   Open_Ability( id );
}

public command_Setting( id )
{
   Open_Setting( id );
}

KMenu( id )
{
   if( g_bKMenu[ id ] )
   {
      Open_KnfMenu( id );
   }
}

Open_Knives( id )
{
   if( !g_bIsAlive[ id ] )
      return PLUGIN_HANDLED;
      
   new szKnife[ 128 ];
   formatex( szKnife, charsmax( szKnife ), "\yVybrat Knife:" );
   new hKnife = menu_create( szKnife, "Handler_Knives" );
   
   for( new i = 1; i < sizeof g_szMenuKnives ; i++ )
   {
      new iNum[ 7 ];
      num_to_str( i, iNum, charsmax( iNum ) );
      formatex( szKnife, charsmax( szKnife ), ( g_szMenuKnives[ i ][ iAccess ] ) ? "%s \d(\w%i \y$\d) \y[VIP]" : "%s \d(\w%i \y$\d)", g_szMenuKnives[ i ][ szMenu ], g_szMenuKnives[ i ][ iCost ] );
      menu_additem( hKnife, szKnife, iNum, g_szMenuKnives[ i ][ iAccess ] );
   }
   
   menu_setprop( hKnife, MPROP_BACKNAME, "Predchadzajuce" );
   menu_setprop( hKnife, MPROP_NEXTNAME, "Dalsie" );
   menu_setprop( hKnife, MPROP_EXITNAME, "Zavriet" );
   menu_display( id, hKnife, 0 );
   
   return PLUGIN_HANDLED;
}

Open_Trails( id )
{
   if( !g_bIsAlive[ id ] )
      return PLUGIN_HANDLED;
      
   new szTrail[ 128 ];
   formatex( szTrail, charsmax( szTrail ), "\yVybrat Trail:" );
   new hTrail = menu_create( szTrail, "Handler_Trails" );
   
   for( new i = 1; i < sizeof g_szMenuTrails ; i++ )
   {
      new iNum[ 7 ];
      num_to_str( i, iNum, charsmax( iNum ) );
      formatex( szTrail, charsmax( szTrail ), ( g_szMenuTrails[ i ][ iAccess ] ) ? "%s \d(\w%i \y$\d) \y[VIP]" : "%s \d(\w%i \y$\d)", g_szMenuTrails[ i ][ szMenu ], g_szMenuTrails[ i ][ iCost ] );
      menu_additem( hTrail, szTrail, iNum, g_szMenuTrails[ i ][ iAccess ] );
   }
   
   menu_setprop( hTrail, MPROP_BACKNAME, "Predchadzajuce" );
   menu_setprop( hTrail, MPROP_NEXTNAME, "Dalsie" );
   menu_setprop( hTrail, MPROP_EXITNAME, "Zavriet" );
   menu_display( id, hTrail, 0 );
   
   return PLUGIN_HANDLED;
}

Open_Glow( id )
{
   if( !g_bIsAlive[ id ] )
      return PLUGIN_HANDLED;
      
   new szGlow[ 128 ];
   formatex( szGlow, charsmax( szGlow ), "\yVybrat Glow:" );
   new hGlow = menu_create( szGlow, "Handler_Glow" );
   
   for( new i = 1; i < sizeof g_szMenuGlow ; i++ )
   {
      new iNum[ 7 ];
      num_to_str( i, iNum, charsmax( iNum ) );
      formatex( szGlow, charsmax( szGlow ), ( g_szMenuGlow[ i ][ iAccess ] ) ? "%s \d(\w%i \y$\d) \y[VIP]" : "%s \d(\w%i \y$\d)", g_szMenuGlow[ i ][ szMenu ], g_szMenuGlow[ i ][ iCost ] );
      menu_additem( hGlow, szGlow, iNum, g_szMenuGlow[ i ][ iAccess ] );
   }
   
   menu_setprop( hGlow, MPROP_BACKNAME, "Predchadzajuce" );
   menu_setprop( hGlow, MPROP_NEXTNAME, "Dalsie" );
   menu_setprop( hGlow, MPROP_EXITNAME, "Zavriet" );
   menu_display( id, hGlow, 0 );
   
   return PLUGIN_HANDLED;
}

Open_Ability( id )
{
   if( !g_bIsAlive[ id ] )
      return PLUGIN_HANDLED;
      
   if( g_szRound[ TOTAL_ROUNDS ] != ROUND_NONE )
   {
      color_chat( id, "%s !yTeraz je !tFun !ykolo!", g_szMPrefix );
      return PLUGIN_HANDLED;
   }
   
   new hAbi = menu_create( "\yVyber schopnost:", "Handler_Ability" );
   
   menu_additem( hAbi, "Gravitacia [8 sek.]  \d(\w6 \y$\d)", "1", 0 );
   menu_additem( hAbi, ( !g_bActived_DoubleJump[ id ] ) ? "Dvojity skok  \d(\w8 \y$\d) \y[VIP]" : "Dvojity skok  \w[kupene]", "2", ADMIN_VIP );
   menu_additem( hAbi, ( !g_bActived_BunnyHop[ id ] ) ? "Bunny hop  \d(\w15 \y$\d) \y[VIP]" : "Bunny hop  \w[kupene]", "3", ADMIN_VIP );
   menu_additem( hAbi, ( !g_bActived_SuperKnife[ id ] ) ? "Super zbran  \d(\w80 \y$\d) \y[VIP]" : "Super zbran  \w[kupene]", "4", ADMIN_VIP );
   menu_additem( hAbi, ( !g_bActived_Invisible[ id ] ) ? "Neviditelnost (3s)  \d(\w30 \y$\d) \y[VIP]" : "Neviditelnost (3s)  \w[kupene]", "5", ADMIN_VIP );
   menu_additem( hAbi, ( !g_bActived_Disguise[ id ] ) ? "Prevlek supera  \d(\w45 \y$\d) \y[VIP]^n" : "Prevlek supera  \w[kupene]^n", "6", ADMIN_VIP );
   menu_additem( hAbi, "\rVratit sa", "7", 0 );
   
   menu_setprop( hAbi, MPROP_EXITNAME, "Zavriet" );
   menu_setprop( hAbi, MPROP_EXIT, MEXIT_ALL );
   menu_display( id, hAbi, 0 );
   
   return PLUGIN_HANDLED;
}

Open_KnfMenu( id )
{
   new hKnf = menu_create( "\yHerne menu \d(\r/knife\d)", "Handler_KnfMenu" );
   
   menu_additem( hKnf, "Vybrat Knife", "1", 0 );
   menu_additem( hKnf, "Vybrat Trail", "2", 0 );
   menu_additem( hKnf, "Vybrat Glow", "3", 0 );
   menu_additem( hKnf, "Vybrat Schopnost", "4", 0 );
   menu_additem( hKnf, "Nastavenie", "5", 0 );
   menu_additem( hKnf, "\yVIP vyhody", "6", 0 );
   if( get_user_flags( id ) & ADMIN_RCON ) menu_additem( hKnf, "\rKnife Admin menu", "7", ADMIN_RCON );
   
   menu_setprop( hKnf, MPROP_EXIT, MEXIT_ALL );
   menu_setprop( hKnf, MPROP_EXITNAME, "Zavriet" );
   menu_display( id, hKnf, 0 );
}

Open_Setting( id )
{
   new hSet = menu_create( "\yNastavenie:", "Handler_Setting" );
   
   menu_additem( hSet, ( g_bKMenu[ id ] ) ? "\wFast menu \y[ON]^n\dMenu sa automaticky zavre po vyberu zbrani" : "\wFast menu \r[OFF]^n\dMenu sa automaticky zavre po vyberu zbrani", "1", 0 );
   menu_additem( hSet, ( g_bSkins[ id ] ) ? "\wSpecialny vzhlad zbrani \y[ON]^n\dNastavi povodny vzhlad zbrani^n" : "\wSpecialny vzhlad zbrani \r[OFF]^n\dNastavi povodny vzhlad zbrani^n", "2", 0 );
   menu_additem( hSet, "\rVratit sa", "3", 0);
   
   menu_setprop( hSet, MPROP_EXITNAME, "Zavriet" );
   menu_setprop( hSet, MPROP_EXIT, MEXIT_ALL );
   menu_display( id, hSet, 0 );
}

public Handler_Knives( id, menu, item )
{
   if( item == MENU_EXIT || !g_bIsAlive[ id ] )
   {
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   if( g_iRoundEnd == 1 )
   {
      color_chat( id, "%s !yKolo uz skoncilo!", g_szMPrefix );
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   new data[ 7 ], access, callback;
   menu_item_getinfo( menu, item, access, data, charsmax( data ), _, _, callback );
   new iKey = str_to_num( data );
   
   if( g_iMoney[ id ] >= g_szMenuKnives[ iKey ][ iCost ] )
   {
      g_iMoney[ id ] -= g_szMenuKnives[ iKey ][ iCost ];
      cs_set_user_money( id, g_iMoney[ id ], 1 );
      
      switch( iKey )
      {
         case 1: // Default
         {
            if( knf_get_user_knife( id ) != KNIFE_DEFAULT )
            {
               knf_set_user_knife( id, KNIFE_DEFAULT );
            } else {
               color_chat( id, "%s !yUz mas !tZakladny !yknife!", g_szPrefix );
            }
         }
         case 2: // Winner
         {
            if( knf_get_user_knife( id ) != KNIFE_WINNER )
            {
               knf_set_user_knife( id, KNIFE_WINNER );
            } else {
               color_chat( id, "%s !yUz mas !tWinner !yknife!", g_szPrefix );
            }
         }
         case 3: // Axe Gold
         {
            if( knf_get_user_knife( id ) != KNIFE_AXE_GOLD )
            {
               knf_set_user_knife( id, KNIFE_AXE_GOLD );
            } else {
               color_chat( id, "%s !yUz mas !tAxe Gold !yknife!", g_szPrefix );
            }
         }
         case 4: // Crow-9
         {
            if( knf_get_user_knife( id ) != KNIFE_CROW9 )
            {
               knf_set_user_knife( id, KNIFE_CROW9 );
            } else {
               color_chat( id, "%s !yUz mas !tCROW9 !yknife!", g_szPrefix );
            }
         }
         case 5: // Crowbar
         {
            if( knf_get_user_knife( id ) != KNIFE_CROWBAR )
            {
               knf_set_user_knife( id, KNIFE_CROWBAR );
            } else {
               color_chat( id, "%s !yUz mas !tCrowbar !yknife!", g_szPrefix );
            }
         }
         case 6: // Lightsaber
         {
            if( knf_get_user_knife( id ) != KNIFE_LIGHTSABER )
            {
               knf_set_user_knife( id, KNIFE_LIGHTSABER );
            } else {
               color_chat( id, "%s !yUz mas !tLightsaber !yknife!", g_szPrefix );
            }
         }
         case 7: // Nautilus Rainbow
         {
            if( knf_get_user_knife( id ) != KNIFE_NAUTILUS_RAINBOW)
            {
               knf_set_user_knife( id, KNIFE_NAUTILUS_RAINBOW );
            } else {
               color_chat( id, "%s !yUz mas !tNautilus Rainbow !yknife!", g_szPrefix );
            }
         }
         case 8: // Razor
         {
            if( knf_get_user_knife( id ) != KNIFE_RAZOR )
            {
               knf_set_user_knife( id, KNIFE_RAZOR );
            } else {
               color_chat( id, "%s !yUz mas !tRazor !yknife!", g_szPrefix );
            }
         }
         case 9: // Master
         {
            if( knf_get_user_knife( id ) != KNIFE_MASTER )
            {
               knf_set_user_knife( id, KNIFE_MASTER );
            } else {
               color_chat( id, "%s !yUz mas !tMaster !yknife!", g_szPrefix );
            }
         }
         case 10: // Crysis
         {
            if( knf_get_user_knife( id ) != KNIFE_CRYSIS )
            {
               knf_set_user_knife( id, KNIFE_CRYSIS );
            } else {
               color_chat( id, "%s !yUz mas !tCrysis !yknife!", g_szPrefix );
            }
         }
         case 11: // Samourai
         {
            if( knf_get_user_knife( id ) != KNIFE_SAMOURAI )
            {
               knf_set_user_knife( id, KNIFE_SAMOURAI );
            } else {
               color_chat( id, "%s !yUz mas !tSamourai !yknife!", g_szPrefix );
            }
         }
         case 12: // Angelsword
         {
            if( knf_get_user_knife( id ) != KNIFE_ANGELSWORD )
            {
               knf_set_user_knife( id, KNIFE_ANGELSWORD );
            } else {
               color_chat( id, "%s !yUz mas !tAngelsword  !yknife!", g_szPrefix );
            }
         }
         case 13: // DarthVader
         {
            if( knf_get_user_knife( id ) != KNIFE_DARTHVADER )
            {
               knf_set_user_knife( id, KNIFE_DARTHVADER );
            } else {
               color_chat( id, "%s !yUz mas !tDarthVader !yknife!", g_szPrefix );
            }
         }
         case 14: // Turbulent9
         {
            if( knf_get_user_knife( id ) != KNIFE_TURBULENT9 )
            {
               knf_set_user_knife( id, KNIFE_TURBULENT9 );
            } else {
               color_chat( id, "%s !yUz mas !Turbulent9 !yknife!", g_szPrefix );
            }
         }
      }
   } else {
      color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
   }
   
   new iWeapon; iWeapon = fm_cs_get_current_weapon_ent( id );
   if( pev_valid( iWeapon ) )
      replace_weapon_models( id )
      
   menu_destroy( menu );
   return PLUGIN_HANDLED;
}

public Handler_Trails( id, menu, item )
{
   if( item == MENU_EXIT || !g_bIsAlive[ id ] )
   {
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   if( g_iRoundEnd == 1 )
   {
      color_chat( id, "%s !yKolo uz skoncilo!", g_szMPrefix );
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   new data[ 7 ], access, callback;
   menu_item_getinfo( menu, item, access, data, charsmax( data ), _, _, callback );
   new iKey = str_to_num( data );
   
   if( g_iMoney[ id ] >= g_szMenuTrails[ iKey ][ iCost ] )
   {
      g_iMoney[ id ] -= g_szMenuTrails[ iKey ][ iCost ];
      cs_set_user_money( id, g_iMoney[ id ], 1 );
      
      switch( iKey )
      {
         case 1: // Cerveny trail
         {
            knf_set_user_trail( id, TRAIL_RED );
            color_chat( id, "%s !yKupil si si !tCerveny!y trail!", g_szPrefix );
         }
         case 2: // Zeleny trail
         {
            knf_set_user_trail( id, TRAIL_GREEN );
            color_chat( id, "%s !yKupil si si !tZeleny!y trail!", g_szPrefix );
         }
         case 3: // Modry trail
         {
            knf_set_user_trail( id, TRAIL_BLUE );
            color_chat( id, "%s !yKupil si si !tModry!y trail!", g_szPrefix );
         }
         case 4: // Oranzovy trail
         {
            knf_set_user_trail( id, TRAIL_ORANGE );
            color_chat( id, "%s !yKupil si si !tOranzovy!y trail!", g_szPrefix );
         }
         case 5: // Ruzovy trail
         {
            knf_set_user_trail( id, TRAIL_PINK );
            color_chat( id, "%s !yKupil si si !tRuzovy!y trail!", g_szPrefix );
         }
         case 6: // Zlty trail
         {
            knf_set_user_trail( id, TRAIL_YELLOW );
            color_chat( id, "%s !yKupil si si !tZlty!y trail!", g_szPrefix );
         }
         case 7: // Nahody trail
         {
            knf_set_user_trail( id, TRAIL_RANDOM );
            color_chat( id, "%s !yKupil si si !tNahodny!y trail!", g_szPrefix );
         }
      }
   } else {
      color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
   }
   
   KMenu( id );
   menu_destroy( menu );
   
   return PLUGIN_HANDLED;
}

public Handler_Glow( id, menu, item )
{
   if( item == MENU_EXIT || !g_bIsAlive[ id ] )
   {
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   if( g_iRoundEnd == 1 )
   {
      color_chat( id, "%s !yKolo uz skoncilo!", g_szMPrefix );
      menu_destroy(menu );
      return PLUGIN_HANDLED;
   }
   
   new data[ 7 ], access, callback;
   menu_item_getinfo( menu, item, access, data, charsmax( data ), _, _, callback );
   new iKey = str_to_num( data );
   
   if( g_iMoney[ id ] >= g_szMenuGlow[ iKey ][ iCost ] )
   {
      g_iMoney[ id ] -= g_szMenuGlow[ iKey ][ iCost ];
      cs_set_user_money( id, g_iMoney[ id ], 1 );
      
      switch( iKey )
      {
         case 1: // Cerveny glow
         {
            knf_set_user_glow( id, GLOW_RED );
            color_chat( id, "%s !yKupil si si !tCerveny!y glow!", g_szPrefix );
         }
         case 2: // Zeleny glow
         {
            knf_set_user_glow( id, GLOW_GREEN );
            color_chat( id, "%s !yKupil si si !tZeleny!y glow!", g_szPrefix );
         }
         case 3: // Modry glow
         {
            knf_set_user_glow( id, GLOW_BLUE );
            color_chat( id, "%s !yKupil si si !tModry!y glow!", g_szPrefix );
         }
         case 4: // Oranzovy glow
         {
            knf_set_user_glow( id, GLOW_ORANGE );
            color_chat( id, "%s !yKupil si si !tOranzovy!y glow!", g_szPrefix );
         }
         case 5: // Ruzovy glow
         {
            knf_set_user_glow( id, GLOW_PINK );
            color_chat( id, "%s !yKupil si si !tRuzovy!y glow!", g_szPrefix );
         }
         case 6: // Zlty glow
         {
            knf_set_user_glow( id, GLOW_YELLOW );
            color_chat( id, "%s !yKupil si si !tZlty!y glow!", g_szPrefix );
         }
         case 7: // Nahodny glow
         {
            knf_set_user_glow( id, GLOW_RANDOM );
            color_chat( id, "%s !yKupil si si !tNahodny!y glow!", g_szPrefix );
         }
      }
   } else {
      color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
   }
   
   KMenu( id );
   menu_destroy( menu );
   
   return PLUGIN_HANDLED;
}

public Handler_Ability( id, menu, item )
{
   if( item == MENU_EXIT || !g_bIsAlive[ id ] || g_szRound[ TOTAL_ROUNDS ] != ROUND_NONE )
   {
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   if( g_iRoundEnd == 1 )
   {
      color_chat( id, "%s !yKolo uz skoncilo!", g_szMPrefix );
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   new data[ 7 ], access, callback;
   menu_item_getinfo( menu, item, access, data, charsmax( data ), _, _, callback );
   new iKey = str_to_num( data );
   new iMoney = cs_get_user_money( id );
   
   switch( iKey )
   {
      case 1: // Gravitacia
      {
         if( iMoney >= 6 )
         {
            g_iMoney[ id ] -= 6;
            
            if( task_exists( id + TASK_GRAVITY ) )
               remove_task( id + TASK_GRAVITY );
               
            set_user_gravity( id, 0.25 );
            set_task( 8.0, "Task_Gravity", id + TASK_GRAVITY );
            
            color_chat( id, "%s !yKupil si si !tGravitaciu!y!", g_szPrefix );
         } else {
            color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
         }
      }
      case 2: // Dvojity skok
      {
         if( !g_bActived_DoubleJump[ id ] )
         {
            if( iMoney >= 15 )
            {
               g_iMoney[ id ] -= 15;
               
               g_bActived_DoubleJump[ id ] = true;
               
               color_chat( id, "%s !yKupil si si !tDvojity skok!y!", g_szPrefix );
            } else {
               color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
            }
         } else {
            color_chat( id, "%s !yUz si si kupil !tDvojity skok!y!", g_szPrefix );
         }
      }
      case 3: // Bunny hop
      {
         if( !g_bActived_BunnyHop[ id ] )
         {
            if( iMoney >= 20 )
            {
               g_iMoney[ id ] -= 20;
               
               g_bActived_BunnyHop[ id ] = true;
               
               color_chat( id, "%s !yKupil si si !tBunny hop!y!", g_szPrefix );
            } else {
               color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
            }
         } else {
            color_chat( id, "%s !yUz si si kupil !tBunny hop!y!", g_szPrefix );
         }
      }
      case 4: // Super zbran
      {
         if( !g_bActived_SuperKnife[ id ] )
         {
            if( iMoney >= 100 )
            {
               if( get_user_flags( id ) & ADMIN_VIP )
               {
                  g_iMoney[ id ] -= 100;
                  
                  g_iSuperKnife++;
                  g_bActived_SuperKnife[ id ] = true;
                  
                  new iWeapon; iWeapon = fm_cs_get_current_weapon_ent( id );
                  if( pev_valid( iWeapon ) )
                     replace_weapon_models( id );
                     
                  color_chat( id, "%s !yUz si si kupil !tSuper zbran!y!", g_szPrefix );
                  color_chat( id, "%s !yKupil si si !tSuper zbran!y!", g_szPrefix );
               } else {
                  if( g_iSuperKnife <= get_pcvar_num( g_Knf_SuperKnife_Limit ) )
                  {
                     g_iMoney[ id ] -= 100;
                     
                     g_iSuperKnife++;
                     g_bActived_SuperKnife[ id ] = true;
                     
                     new iWeapon; iWeapon = fm_cs_get_current_weapon_ent( id );
                     if( pev_valid( iWeapon ) )
                        replace_weapon_models( id );
                        
                     color_chat( id, "%s !yUz si si kupil !tSuper zbran!y!", g_szPrefix );
                  } else {
                     color_chat( id, "%s !yVela hracov si kupilo !tSuper zbran!y!", g_szPrefix );
                  }
               }
            } else {
               color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
            }
         } else {
            color_chat( id, "%s !yUz si si kupil !tSuper zbran!y!", g_szPrefix );
         }
      }
      case 5: // Neviditelnost
      {
         if( !g_bActived_Invisible[ id ] )
         {
            if( iMoney >= 40 )
            {
               g_iMoney[ id ] -= 40;
               
               if( task_exists( id + TASK_INVI ) )
                  remove_task( id + TASK_INVI );
                  
               g_bActived_Invisible[ id ] = true;
               
               client_cmd( id, "amx_tr trail off" );
               set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0 );
               set_task( 3.0, "Task_Invisible", id + TASK_INVI );
               
               color_chat( id, "%s !yKupil si si !tNeviditelnost!y!", g_szPrefix );
            } else {
               color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
            }
         } else {
            color_chat( id, "%s !yUz si si kupil !tNeviditelnost!y!", g_szPrefix );
         }
      }
      case 6: // Prevlek supera
      {
         if( !g_bActived_Disguise[ id ] )
         {
            if( iMoney >= 45 )
            {
               g_iMoney[ id ] -= 45;
               
               g_bActived_Disguise[ id ] = true;
               cs_reset_player_model( id );
               cs_set_player_model( id, ( CsTeams:cs_get_user_team( id ) == CS_TEAM_T ) ? "gign" : "guerilla" );
               
               color_chat( id, "%s !yKupil si si !tPrevlek supera!y!", g_szPrefix );
            } else {
               color_chat( id, "%s !yNemas dostatok penazi!", g_szPrefix );
            }
         } else {
            color_chat( id, "%s !yUz si si kupil !tPrevlek supera!y!", g_szPrefix );
         }
      }
      case 7: Open_KnfMenu( id );
   }
   
   if( iKey >= 1 && iKey <= 6 )
   {
      KMenu( id );
   }
   
   cs_set_user_money( id, g_iMoney[ id ], 1 );
   
   menu_destroy( menu );
   return PLUGIN_HANDLED;
}

public Handler_KnfMenu( id, menu, item )
{
   if( item == MENU_EXIT )
   {
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   if( g_iRoundEnd == 1 )
   {
      color_chat( id, "%s !yKolo uz skoncilo!", g_szMPrefix );
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   new data[ 7 ], access, callback;
   menu_item_getinfo( menu, item, access, data, charsmax( data ), _, _, callback );
   new iKey = str_to_num( data );
   
   switch( iKey )
   {
      case 1: command_Knives( id );
      case 2: command_Trails( id );
      case 3: command_Glow( id );
      case 4: command_Ability( id );
      case 5: command_Setting( id );
      case 6: show_motd( id, "http://www.trainknife.eu/vip.html", "VIP vyhody" );
      case 7: client_cmd( id, "say /am" );
   }
   
   menu_destroy( menu );
   return PLUGIN_HANDLED;
}

public Handler_Setting( id, menu, item )
{
   if( item == MENU_EXIT )
   {
      menu_destroy( menu );
      return PLUGIN_HANDLED;
   }
   
   new data[ 7 ], access, callback;
   menu_item_getinfo( menu, item, access, data, charsmax( data ), _, _, callback );
   new iKey = str_to_num( data );
   
   switch( iKey )
   {
      case 1:
      {
         g_bKMenu[ id ] = ( g_bKMenu[ id ] ) ? false : true;
         color_chat( id, "%s !yPrave si si !t%s !yFast menu!", g_szMPrefix, ( g_bKMenu[ id ] ) ? "zapol" : "vypol" );
         
         if( g_bKMenu[ id ] )
         {
            Open_KnfMenu( id );
         }
      }
      case 2:
      {
         g_bSkins[ id ] = ( g_bSkins[ id ] ) ? false : true;
         color_chat( id, "%s !yPrave si si !t%s !yskiny!", g_szMPrefix, ( g_bSkins[ id ] ) ? "zapol" : "vypol" );
         
         new iWeapon; iWeapon = fm_cs_get_current_weapon_ent( id );
         if( pev_valid( iWeapon ) )
            replace_weapon_models( id );
            
         command_Setting( id );
      }
      case 3: Open_KnfMenu( id );
   }
   
   menu_destroy( menu );
   return PLUGIN_HANDLED;
}

SaveData( id )
{
   new szAuthid[ 32 ];
   get_user_authid( id, szAuthid, charsmax(szAuthid) );
   
   new szVaultKey[ 64 ], szVaultData[ 64 ];
   
   format( szVaultKey, 63, "knf-%s-points", szAuthid );
   format( szVaultData, 63, "%d", g_iMoney[ id ] );
   set_vaultdata( szVaultKey, szVaultData );
}

LoadData( id )
{
   new szAuthid[ 32 ];
   get_user_authid( id, szAuthid, charsmax(szAuthid) );
   
   new szVaultKey[ 64 ], szVaultData[ 64 ];
   
   format( szVaultKey, 63, "knf-%s-points", szAuthid ) ;
   
   if( get_vaultdata( szVaultKey, szVaultData, 63) )
      g_iMoney[ id ] = str_to_num( szVaultData );
}

public Task_FunRound( )
{
   new szText[ 64 ];
   switch( g_szRound[ TOTAL_ROUNDS ] )
   {
      case ROUND_STAB: formatex( szText, charsmax( szText ), "FUN KOLO! ONLY STAB, Mozes sposobit zasah iba STAB utokom!!" );
      case ROUND_SLASH: formatex( szText, charsmax( szText ), "FUN KOLO! ONLY SLASH, Mozes sposobit zasah iba SLASH utokom!!" );
   }
   
   set_hudmessage( 0, 255, 0, -1.0, 0.0, _, _, 1.0 );
   ShowSyncHudMsg( 0, Hud[ 0 ], szText );
   set_task( 1.0, "Task_FunRound", TASK_TIMER );
}

public Task_Gravity( id )
{
   id -= TASK_GRAVITY;
   if( g_bIsAlive[ id ] )
   {
      set_user_gravity( id, 1.0 );
      color_chat( id, "%s !ySkoncila sa ti !tGravitacia!y!", g_szPrefix );
   }
}

public Task_Invisible( id )
{
   id -= TASK_INVI;
   if( knf_get_user_glow( id ) == GLOW_NONE )
   {
      set_user_rendering( id );
   } else {
      knf_set_user_glow( id, knf_get_user_glow( id ) );
   }
   
   if( knf_get_user_trail( id ) != TRAIL_NONE )
      knf_set_user_trail( id, knf_get_user_trail( id ) );
      
   if( g_bIsAlive[ id ] )
      color_chat( id, "%s !ySkoncila sa ti !tNeviditelnost!y!", g_szPrefix );
}

fnGetAlivePlayers( )
{
   new iPlayers[ 32 ], iNum;
   get_players( iPlayers, iNum, "a" );
   return iNum;
}

stock fm_cs_get_current_weapon_ent( id )
{
   if( pev_valid( id ) != PDATA_SAFE )
      return -1;
      
   return get_pdata_cbase( id, m_pActiveItem, linux_diff_player );
}

stock fm_cs_get_weapon_ent_owner( id )
{
   if( pev_valid( id ) != PDATA_SAFE )
      return -1;
      
   return get_pdata_cbase( id, m_pPlayer, OFFSET_LINUX );
}

stock color_chat( id, const szStr[ ], any:... )
{
   new szMsg[ 191 ], iPlayers[ 32 ], iCount = 1;
   
   vformat( szMsg, sizeof szMsg - 1, szStr, 3 );
   
   replace_all( szMsg, 190, "!g", "^4" );
   replace_all( szMsg, 190, "!y", "^1" );
   replace_all( szMsg, 190, "!t", "^3" );
   
   if( id )
   {
      iPlayers[ 0 ] = id;
   } else {
      get_players( iPlayers, iCount, "ch" );
   }
   
   for( new i = 0 ; i < iCount ; i++ )
   {
      if( IsUserValidConnected( iPlayers[ i ] ) )
      {
         message_begin( MSG_ONE_UNRELIABLE, g_iMsgSayText, _, iPlayers[ i ] );
         write_byte( iPlayers[ i ] );
         write_string( szMsg );
         message_end( );
      }
   }
}

Zkus, ale se sounds ti nedokážu pomoct. Zkus to okopírovat třeba z jb.

_________________
BaseBuilder = 50% Obrázek

ObrázekObrázek


Nahoru
  
 
 Předmět příspěvku: Re: Knife Mod [Uprava/Oprava]
PříspěvekNapsal: ned 07. dub 2019 9:57:22 
Offline
AMXX Junior Newbie
AMXX Junior Newbie
Uživatelský avatar

Registrován: pon 23. říj 2017 10:50:55
Příspěvky: 127
Poděkoval: 16 x
Obdržel poděkování: 1 x
Ahoj, tak dál jsem to zkompilovat a hodilo mi jeden error


Kód:
knife_mod2.sma(748) : error 017: undefined symbol "id"
knife_mod2.sma(748) : warning 215: expression has no effect

1 Error.
Compile failed!

Nevim jak to opravit páč se v tom nevyznam :)
Jestli to viš opravit, mužeš to zkusit?

_________________
Moje CS 1.6 Servery
Knife Server [VIP ZDARMA] -> 82.208.17.105:27235

Hledám niekoho kdo by se chtěl stát Adminem :) 15+


Nahoru
  
 
 Předmět příspěvku: Re: Knife Mod [Uprava/Oprava]
PříspěvekNapsal: ned 07. dub 2019 10:32:10 
Offline
AMXX Newbie
AMXX Newbie
Uživatelský avatar

Registrován: úte 31. črc 2018 18:16:48
Příspěvky: 246
Poděkoval: 27 x
Obdržel poděkování: 10 x
g_bActived_Invisible[ id ] = false;
-->
g_bActived_Invisible[ victim ] = false;

_________________
BaseBuilder = 50% Obrázek

ObrázekObrázek


Nahoru
  
 
 Předmět příspěvku: Re: Knife Mod [Uprava/Oprava]
PříspěvekNapsal: ned 07. dub 2019 11:31:31 
Offline
AMXX Junior Newbie
AMXX Junior Newbie
Uživatelský avatar

Registrován: pon 23. říj 2017 10:50:55
Příspěvky: 127
Poděkoval: 16 x
Obdržel poděkování: 1 x
Ahoj, tak furt to nejde :)

EDIT// mam tým na mysli tie schopnosti

_________________
Moje CS 1.6 Servery
Knife Server [VIP ZDARMA] -> 82.208.17.105:27235

Hledám niekoho kdo by se chtěl stát Adminem :) 15+


Nahoru
  
 
 Předmět příspěvku: Re: Knife Mod [Uprava/Oprava]
PříspěvekNapsal: ned 07. dub 2019 18:07:40 
Offline
AMXX Member
AMXX Member
Uživatelský avatar

Registrován: sob 27. čer 2015 10:24:56
Příspěvky: 457
Poděkoval: 13 x
Obdržel poděkování: 30 x
Skús toto (ten invis, a schopnosti by mali byť opravené).


Nemáte oprávnění prohlížet přiložené soubory.

_________________
https://github.com/Kalendarky


Nahoru
  
 
 Předmět příspěvku: Re: Knife Mod [Uprava/Oprava]
PříspěvekNapsal: ned 07. dub 2019 19:08:36 
Offline
AMXX Junior Newbie
AMXX Junior Newbie
Uživatelský avatar

Registrován: pon 23. říj 2017 10:50:55
Příspěvky: 127
Poděkoval: 16 x
Obdržel poděkování: 1 x
Ďakujeem :3 Máš podakovanie :) Môžete lock

_________________
Moje CS 1.6 Servery
Knife Server [VIP ZDARMA] -> 82.208.17.105:27235

Hledám niekoho kdo by se chtěl stát Adminem :) 15+


Nahoru
  
 
 [ Příspěvků: 7 ] 

Všechny časy jsou v UTC


Kdo je online

Uživatelé procházející toto fórum: CommonCrawl [Bot] a 0 návštevníků



Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Přejít na:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All rights reserved 2007 - 2019 © by AMXMODX.cz, kopírování textů nebo grafických prvků z této stránky je bez souhlasu administrátora (jab.jab@seznam.cz) přísně zakázáno!


TOPlist