Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- new const VERSION[]="1.1" // current saved version of this plug-in.
- /* ===========================================================================================
- _______________________________________________________________________
- |This program is free software: you can redistribute it and/or modify |
- |it under the terms of the GNU General Public License as published by |
- |the Free Software Foundation, either version 1.1 of the License, or |
- |(at your option) any later version. |
- | |
- |This program is distributed in the hope that it will be useful, |
- |but WITHOUT ANY WARRANTY; without even the implied warranty of |
- |MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
- |GNU General Public License for more details. |
- | |
- |You should have received a copy of the GNU General Public License |
- |along with this program. If not, see <http://www.gnu.org/licenses/>.|
- | |
- |In addition, as a special exception, the author gives permission to |
- |link the code of this program with the Half-Life Game Engine ("HL |
- |Engine") and Modified Game Libraries ("MODs") developed by Valve, |
- |L.L.C ("Valve"). You must obey the GNU General Public License in all |
- |respects for all of the code used other than the HL Engine and MODs |
- |from Valve. If you modify this file, you may extend this exception |
- |to your version of the file, but you are not obligated to do so. If |
- |you do not wish to do so, delete this exception statement from your |
- |version |
- | |
- |_____________________________________________________________________|
- |@ Rj's Plug-ins License |
- |_____________________________________________________________________|
- |CS:GO Knives Selector V1.1 - Copyright (c) 2016 by .:Rj:. | |
- |_____________________________________________________________________|
- _________________________________________________________
- CS:GO Knives Selector V1.1
- - by .:Rj:.
- DESCRIPTION:
- Menu of all CS:GO Knives; switch your knife to CS:GO Knife models.
- Both teams have own arm textures (unlike other csgo knife selector plugins)
- To show the menu, choose at least one command below then type it on console.
- ________________________
- COMMANDS :
- ________________________
- - say /csgoknives
- - say /csgok
- - say /knivescsgo
- - say /knives
- - say /selectknives
- - say /knivesselector
- ________________________
- CS:GO AVAILABLE KNIVES :
- ________________________
- - Default CS:GO Knife
- - Bayonet
- - Gutt Knife
- - Flip Knife
- - Hunstman
- - Shadow Daggers
- - Butterfly Knife
- - Karambit
- - M9 Bayonet
- --------------------------------------------------------------------------------------
- CHANGE LOG/ BUG LOG/ UPDATE LOG :
- --------------------------------------------------------------------------------------
- 1.0
- * First Release
- --------------------------------------------------------------------------------------
- 1.1:
- - Change register_event "CurWeapon" to Register_Ham "Ham_Item_Deploy [weapon_knife]"
- - Reported as being lag to BOTs, fixed!.
- + Added engclient_cmd "weapon_knife" after set_pev "pev_viewmodel2"
- (view arm model) codes to switch the current weapon to knife, and
- added set_task for anti- model bug...
- - Bug confirmed, fixed!.
- - removed set_pcvar_num "csgoks_knife" to 0 in client_putinserver
- (player selected a team) and client_discnonected (player disconnected).
- - not neccessary, removed!.
- --------------------------------------------------------------------------------------
- */
- //====================================================
- #include <amxmodx>
- #include <amxmisc>
- #include <cstrike>
- #include <fakemeta>
- #include <hamsandwich>
- //====================================================
- #define PLUGIN "CSGO Knives Selector"
- //====================================================
- new Menu
- new SayText
- const m_iPlayer = 41
- new cvar_enable,cvar_admin
- //====================================================
- // Do not change the codes below. If you would like to change the model, go to the folder and rename it with 'v_knife.mdl'.
- new const V_DEFAULT[] = "models/csgoks_knives/default/ct_hands/v_knife.mdl"
- new const T_DEFAULT[] = "models/csgoks_knives/default/leet_hands/v_knife.mdl"
- new const V_BAYONET[] = "models/csgoks_knives/bayonet/ct_arms/v_knife.mdl"
- new const T_BAYONET[] = "models/csgoks_knives/bayonet/leet_arms/v_knife.mdl"
- new const V_GUT[] = "models/csgoks_knives/gut/ct_arms/v_knife.mdl"
- new const T_GUT[] = "models/csgoks_knives/gut/leet_arms/v_knife.mdl"
- new const V_FLIP[] = "models/csgoks_knives/flip/ct_arms/v_knife.mdl"
- new const T_FLIP[] = "models/csgoks_knives/flip/leet_arms/v_knife.mdl"
- new const V_HUNSTMAN[] = "models/csgoks_knives/huntsman/ct_arms/v_knife.mdl"
- new const T_HUNSTMAN[] = "models/csgoks_knives/huntsman/leet_arms/v_knife.mdl"
- new const V_SHADOW[] = "models/csgoks_knives/shadow/ct_arms/v_knife.mdl"
- new const T_SHADOW[] = "models/csgoks_knives/shadow/leet_arms/v_knife.mdl"
- new const V_BUTTERFLY[] = "models/csgoks_knives/butterfly/ct_arms/v_knife.mdl"
- new const T_BUTTERFLY[] = "models/csgoks_knives/butterfly/leet_arms/v_knife.mdl"
- new const V_KARAMBIT[] = "models/csgoks_knives/karambit/ct_arms/v_knife.mdl"
- new const T_KARAMBIT[] = "models/csgoks_knives/karambit/leet_arms/v_knife.mdl"
- new const V_M9[] = "models/csgoks_knives/m9_bayonet/ct_arms/v_knife.mdl"
- new const T_M9[] = "models/csgoks_knives/m9_bayonet/leet_arms/v_knife.mdl"
- //====================================================
- public plugin_init() {
- //====================================================
- register_plugin(PLUGIN, VERSION, ".:Rj:.")
- //====================================================
- register_clcmd("say /csgoknives","selectknives")
- register_clcmd("say /csgok","selectknives")
- register_clcmd("say /knivescsgo","selectknives")
- register_clcmd("say /knives","selectknives")
- register_clcmd("say /selectknives","selectknives")
- register_clcmd("say /knivesselector","selectknives")
- //====================================================
- cvar_enable = register_cvar("csgok_knife","1")
- cvar_admin = register_cvar("csgo_admin_only","0")
- //====================================================
- /*register_event("CurWeapon" , "fwItemDeployPost" , "be" , "1=1" )*/ // 1.0 reproted bug #1
- RegisterHam(Ham_Item_Deploy, "weapon_knife", "fwItemDeployPost", 1);
- SayText=get_user_msgid("SayText")
- //====================================================
- Menu = menu_create("\yCSGO KNIVES SELECTOR BY .:RJ:.", "CSGO_SelectKnives")
- menu_additem(Menu, "\wDefault", "1")
- menu_additem(Menu, "\wBayonet", "2")
- menu_additem(Menu, "\wGut Knife", "3")
- menu_additem(Menu, "\wFlip Knife", "4")
- menu_additem(Menu, "\wHunstman", "5")
- menu_additem(Menu, "\wShadow Daggers", "6")
- menu_additem(Menu, "\wButterfly Knife", "7")
- menu_additem(Menu, "\wKarambit", "8")
- menu_additem(Menu, "\wM9 Bayonet", "9")
- //====================================================
- menu_addblank(Menu)
- menu_addblank(Menu)
- menu_addblank(Menu)
- //====================================================
- menu_setprop(Menu, MPROP_ORDER)
- //====================================================
- }
- //====================================================
- public plugin_precache() // precaching csgo arms...
- {
- precache_model("models/v_knife.mdl")
- precache_model(V_DEFAULT)
- precache_model(T_DEFAULT)
- precache_model(V_BAYONET)
- precache_model(T_BAYONET)
- precache_model(V_FLIP)
- precache_model(T_FLIP)
- precache_model(V_GUT)
- precache_model(T_GUT)
- precache_model(V_HUNSTMAN)
- precache_model(T_HUNSTMAN)
- precache_model(V_KARAMBIT)
- precache_model(T_KARAMBIT)
- precache_model(V_BUTTERFLY)
- precache_model(T_BUTTERFLY)
- precache_model(V_SHADOW)
- precache_model(T_SHADOW)
- precache_model(V_M9)
- precache_model(T_M9)
- }
- //====================================================
- stock client_printcolor(const id, const input[], any:...)
- {
- new count = 1, players[32]
- static msg[191]
- vformat(msg, 190, input, 3)
- replace_all(msg, 190, "!g", "^4") // Green Color
- replace_all(msg, 190, "!y", "^1") // Default Color
- replace_all(msg, 190, "!t", "^3") // Team Color
- if (id) players[0] = id; else get_players(players, count, "ch")
- {
- for ( new i = 0; i < count; i++ )
- {
- if ( is_user_connected(players[i]) )
- {
- message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i])
- write_byte(players[i]);
- write_string(msg);
- message_end();
- }
- }
- }
- }
- //====================================================
- public selectknives(id) // command to show the menu...
- {
- engclient_cmd(id,"weapon_knife")
- //====================================================
- if(get_pcvar_num(cvar_enable) <= 0 || get_pcvar_num(cvar_enable) > 9)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !gCSGO Knives Selector !yare currently disabled.")
- return 1
- }
- //====================================================
- if(get_pcvar_num(cvar_admin) && get_user_flags(id) != ADMIN_MENU)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yOnly !tADMINs !ycan use !gCSGO Knives Selector!y.")
- return 1
- }
- //====================================================
- if(!is_user_alive(id)) return 1
- menu_display(id, Menu)
- //====================================================
- return 1
- }
- //====================================================
- public CSGO_SelectKnives(id, Menu, item) // Menu of knives.
- {
- //====================================================
- if(item == MENU_EXIT)
- {
- menu_destroy(Menu)
- return PLUGIN_HANDLED
- }
- //====================================================
- new iData[6]
- new iAccess
- new iCallback
- new iName[64]
- //====================================================
- menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback)
- //====================================================
- switch(str_to_num(iData))
- {
- //====================================================
- case 1:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 1)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,1)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_DEFAULT)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_DEFAULT)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gDefault!y.")
- }
- //====================================================
- case 2:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 2)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,2)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_BAYONET)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_BAYONET)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gBayonet!y.")
- }
- //====================================================
- case 3:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 3)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,3)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_GUT)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_GUT)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gGut Knife!y.")
- }
- //====================================================
- case 4:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 4)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,4)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_FLIP)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_FLIP)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gFlip Knife!y.")
- }
- //====================================================
- case 5:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 5)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,5)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_HUNSTMAN)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_HUNSTMAN)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gHunstman!y.")
- }
- //====================================================
- case 6:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 6)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,6)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_SHADOW)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_SHADOW)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gShadow Daggers!y.")
- }
- //====================================================
- case 7:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 7)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,7)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_BUTTERFLY)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_BUTTERFLY)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gButterfly Knife!y.")
- }
- //====================================================
- case 8:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 8)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,8)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_KARAMBIT)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_KARAMBIT)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gKarambit!y.")
- }
- //====================================================
- case 9:
- {
- if(!is_user_alive(id) )
- return 1
- if(get_pcvar_num(cvar_enable) <= 0)
- return 1
- if(get_pcvar_num(cvar_enable) == 9)
- {
- client_printcolor(id,"!t[!gCSGOKS!t] !yYou !galready own !ythis Knife.")
- return 1
- }
- set_pcvar_num(cvar_enable,9)
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_M9)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_M9)
- set_task(0.2,"knife_switching",id)
- client_printcolor(id,"!t[!gCSGOKS!t] !yKnife switched to !gM9 Bayonet!y.")
- }
- //====================================================
- }
- return 1
- }
- //====================================================
- public fwItemDeployPost(weapon)
- {
- //====================================================
- static id;
- id = get_pdata_cbase(weapon, m_iPlayer, 4);
- //====================================================
- /*if(get_user_weapon(id) != CSW_KNIFE) return*/
- if(get_pcvar_num(cvar_enable) > 9 || get_pcvar_num(cvar_enable) <= 0)
- {
- set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 1)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_DEFAULT)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_DEFAULT)
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 2)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_BAYONET)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_BAYONET)
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 3)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_GUT)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_GUT)
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 4)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_FLIP)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_FLIP)
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 5)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_HUNSTMAN)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_HUNSTMAN)
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 6)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_SHADOW)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_SHADOW)
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 7)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_BUTTERFLY)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_BUTTERFLY)
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 8)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_KARAMBIT)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_KARAMBIT)
- return
- }
- //====================================================
- if(get_pcvar_num(cvar_enable) == 9)
- {
- if(cs_get_user_team(id) == CS_TEAM_CT)
- set_pev(id, pev_viewmodel2, V_M9)
- else if(cs_get_user_team(id) == CS_TEAM_T)
- set_pev(id, pev_viewmodel2, T_M9)
- return
- }
- //====================================================
- return
- }
- public knife_switching(id) engclient_cmd( id, "weapon_knife" ) // task to switch knife (time :0 .2)
- // 1.0 bug reported #3
- //====================================================
- /*
- //====================================================
- public client_putinserver()
- set_pcvar_num(cvar_enable,0)
- //====================================================
- public client_disconnect()
- set_pcvar_num(cvar_enable,0)
- //====================================================
- */
- //====================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement