Есть такой плагин CSGO knives для кс 1.6 с иммунитетом ADMIN_LEVEL_H. Но когда кто-то заходит с одним больше флагом или админ со всеми флагами не получается открыть меню пишет что он для админов с иммунитетом(ADMIN_LEVEL_H). Можете помочь?
- Код: Выделить всё
[list=1]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","1")
//====================================================
/*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_LEVEL_H)
{
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)
//====================================================
*/
//====================================================
[/list]