搜索
查看: 2760|回复: 5

老大们进来啊,关于restmenu_nocd.amxx插件。

[复制链接]
发表于 2005-6-10 09:42:51 | 显示全部楼层 |阅读模式 来自 河南许昌
这是restmenu_nocd.amxx插件源码。哪位老大把它改改,让它在CD Server 4.29上也起作用。
改成没有CD只能拿刀

/* AMX Mod X script.
*
*
* NoCD Restrict Weapons by KRoTaL based on Rest Menu by OlO and Xad and on Steam Weapon Voting System by Pimp Daddy.
* => Restrict weapons only for players who don't have Cheating-Death.
* Weapons restricted can't be bought or picked up on the ground.
*
*
*
Commands:
*
* amx_restmenu_nocd - 显示限制菜单
* amx_restrict_nocd - 显示帮助限制命令
*
Example:
*
* 写入 : amx_restrict_nocd on m3 xm1014 ak47 m4a1 sg552 aug m249 scout awp g3sg1 sg550 shield
* 在你的 amxx.cfg 里面设置限制这些武器 (每一个地图)
*
*/

// Uncomment if you use CS 1.6
//#define NO_STEAM

// Uncomment if you want to have seperate settings for each map
//#define MAPSETTINGS


#include <amxmodx>
#include <amxmisc>

#if !defined NO_STEAM
#define MAXMENUPOS 34
#else
#define MAXMENUPOS 31
#endif

new g_Position[33]
new g_Modified
new g_blockPos[112]
new g_saveFile[64]
new g_Restricted[] = "*** 没有开 C-D 该武器或装备购买是禁止的 ***"
new g_menusNames[7][] = {
"pistol",
"shotgun",
"sub",
"rifle",
"machine",
"equip",
"ammo"
}
new g_MenuTitle[7][] = {
"Handguns",
"Shotguns",
"Sub-Machine Guns",
"Assault & Sniper Rifles",
"Machine Guns",
"Equipment",
"Ammunition"
}
new g_menusSets[7][2] = {
#if !defined NO_STEAM
{0,6},{6,8},{8,13},{13,23},{23,24},{24,32},{32,34}
#else
{0,6},{6,8},{8,13},{13,21},{21,22},{22,29},{29,31}
#endif
}
#if !defined NO_STEAM
new g_AliasBlockNum
new g_AliasBlock[MAXMENUPOS]
#endif

// First position is a position of menu (0 for ammo, 1 for pistols, 6 for equipment etc.)
// Second is a key for TERRORIST (all is key are minus one, 1 is 0, 2 is 1 etc.)
// Third is a key for CT
// Position with -1 doesn't exist
new g_Keys[MAXMENUPOS][3] = {
#if !defined NO_STEAM
{1,1,1}, // H&K USP .45 Tactical
{1,0,0}, // Glock18 Select Fire
{1,3,3}, // Desert Eagle .50AE
{1,2,2}, // SIG P228
{1,4,-1}, // Dual Beretta 96G Elite
{1,-1,4}, // FN Five-Seven
{2,0,0}, // Benelli M3 Super90
{2,1,1}, // Benelli XM1014
{3,1,1}, // H&K MP5-Navy
{3,-1,0}, // Steyr Tactical Machine Pistol
{3,3,3}, // FN P90
{3,0,-1}, // Ingram MAC-10
{3,2,2}, // H&K UMP45
{4,1,-1}, // AK-47
{4,0,-1}, // Gali
{4,-1,0}, // Famas
{4,3,-1}, // Sig SG-552 Commando
{4,-1,2}, // Colt M4A1 Carbine
{4,-1,3}, // Steyr Aug
{4,2,1}, // Steyr Scout
{4,4,5}, // AI Arctic Warfare/Magnum
{4,5,-1}, // H&K G3/SG-1 Sniper Rifle
{4,-1,4}, // Sig SG-550 Sniper
{5,0,0}, // FN M249 Para
{6,0,0}, // Kevlar Vest
{6,1,1}, // Kevlar Vest & Helmet
{6,2,2}, // Flashbang
{6,3,3}, // HE Grenade
{6,4,4}, // Smoke Grenade
{6,-1,6}, // Defuse Kit
{6,5,5}, // NightVision Goggles
{6,-1,7}, // Tactical Shield
{0,5,5}, // Primary weapon ammo
{0,6,6} // Secondary weapon ammo
#else
{1,0,0}, // H&K USP .45 Tactical
{1,1,1}, // Glock18 Select Fire
{1,2,2}, // Desert Eagle .50AE
{1,3,3}, // SIG P228
{1,4,-1}, // Dual Beretta 96G Elite
{1,-1,5}, // FN Five-Seven
{2,0,0}, // Benelli M3 Super90
{2,1,1}, // Benelli XM1014
{3,0,0}, // H&K MP5-Navy
{3,-1,1}, // Steyr Tactical Machine Pistol
{3,2,2}, // FN P90
{3,3,-1}, // Ingram MAC-10
{3,4,4}, // H&K UMP45
{4,0,-1}, // AK-47
{4,1,-1}, // Sig SG-552 Commando
{4,-1,2}, // Colt M4A1 Carbine
{4,-1,3}, // Steyr Aug
{4,4,4}, // Steyr Scout
{4,5,5}, // AI Arctic Warfare/Magnum
{4,6,-1}, // H&K G3/SG-1 Sniper Rifle
{4,-1,7}, // Sig SG-550 Sniper
{5,0,0}, // FN M249 Para
{6,0,0}, // Kevlar Vest
{6,1,1}, // Kevlar Vest & Helmet
{6,2,2}, // Flashbang
{6,3,3}, // HE Grenade
{6,4,4}, // Smoke Grenade
{6,-1,5}, // Defuse Kit
{6,6,6}, // NightVision Goggles
{0,5,5}, // Primary weapon ammo
{0,6,6} // Secondary weapon ammo
#endif
}

#if !defined NO_STEAM
new g_WeapId[30] = {
10, // P228
111, // SHIELD
34, // SCOUT
51, // HEGRENADE
17, // XM1014
0, // C4
24, // MAC10
91, // AUG
52, // SMOKEGRENADE
12, // ELITE
68, // FIVESEVEN
26, // UMP45
92, // SG550
32, // GALI
88, // FAMAS
9, // USP
8, // GLOCK18
36, // AWP
25, // MP5NAVY
40, // M249
16, // M3
90, // M4A1
80, // TMP
37, // G3SG1
50, // FLASHBANG
11, // DEAGLE
35, // SG552
33, // AK47
0, // KNIFE
27 // P90
}
#else
new g_WeapId[30] = {
11, // P228
0, // NOTHING
36, // SCOUT
51, // HEGRENADE
17, // XM1014
0, // C4
27, // MAC10
91, // AUG
52, // SMOKEGRENADE
12, // ELITE
69, // FIVESEVEN
28, // UMP45
95, // SG550
0, // GALI
0, // FAMAS
8, // USP
9, // GLOCK18
37, // AWP
24, // MP5NAVY
40, // M249
16, // M3
90, // M4A1
81, // TMP
38, // G3SG1
50, // FLASHBANG
10, // DEAGLE
33, // SG552
32, // AK47
0, // KNIFE
26 // P90
}
#endif

#if !defined NO_STEAM
new g_WeapId2[30] = {
66, // P228
111, // SHIELD
89, // SCOUT
107, // HEGRENADE
73, // XM1014
0, // C4
24, // MAC10
91, // AUG
108, // SMOKEGRENADE
12, // ELITE
68, // FIVESEVEN
82, // UMP45
92, // SG550
32, // GALI
88, // FAMAS
65, // USP
64, // GLOCK18
93, // AWP
81, // MP5NAVY
96, // M249
72, // M3
90, // M4A1
80, // TMP
37, // G3SG1
106, // FLASHBANG
67, // DEAGLE
35, // SG552
33, // AK47
0, // KNIFE
83 // P90
}
#else
new g_WeapId2[30] = {
67, // P228
0, // NOTHING
92, // SCOUT
107, // HEGRENADE
73, // XM1014
0, // C4
27, // MAC10
91, // AUG
108, // SMOKEGRENADE
12, // ELITE
69, // FIVESEVEN
84, // UMP45
95, // SG550
0, // GALI
0, // FAMAS
64, // USP
65, // GLOCK18
93, // AWP
80, // MP5NAVY
96, // M249
72, // M3
90, // M4A1
81, // TMP
38, // G3SG1
106, // FLASHBANG
66, // DEAGLE
33, // SG552
32, // AK47
0, // KNIFE
82 // P90
}
#endif


new g_WeaponNames[MAXMENUPOS][] = {
"H&K USP .45 Tactical",
"Glock18 Select Fire",
"Desert Eagle .50AE",
"SIG P228",
"Dual Beretta 96G Elite",
"FN Five-Seven",
"Benelli M3 Super90",
"Benelli XM1014",
"H&K MP5-Navy",
"Steyr Tactical Machine Pistol",
"FN P90",
"Ingram MAC-10",
"H&K UMP45",
"AK-47",
#if !defined NO_STEAM
"Gali",
"Famas",
#endif
"Sig SG-552 Commando",
"Colt M4A1 Carbine",
"Steyr Aug",
"Steyr Scout",
"AI Arctic Warfare/Magnum",
"H&K G3/SG-1 Sniper Rifle",
"Sig SG-550 Sniper",
"FN M249 Para",
"Kevlar Vest",
"Kevlar Vest & Helmet",
"Flashbang",
"HE Grenade",
"Smoke Grenade",
"Defuse Kit",
"NightVision Goggles",
#if !defined NO_STEAM
"Tactical Shield",
#endif
"Primary weapon ammo",
"Secondary weapon ammo"
}

new g_MenuItem[MAXMENUPOS][] = {
"\yHandguns^n\w^n%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w^n",

"\yShotguns^n\w^n%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w^n",

"\ySub-Machine Guns^n\w^n%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w^n",

"\yAssault Rifles^n\w^n%d. %s\y\R%s^n\w",
#if !defined NO_STEAM
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
#endif
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w^n",

"\ySniper Rifles^n\w^n%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w^n",

"\yMachine Guns^n\w^n%d. %s\y\R%s^n\w^n",

"\yEquipment^n\w^n%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w",
#if !defined NO_STEAM
"%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w^n",
#else
"%d. %s\y\R%s^n\w^n",
#endif

"\yAmmunition^n\w^n%d. %s\y\R%s^n\w",
"%d. %s\y\R%s^n\w"
}

new g_Aliases[MAXMENUPOS][] = {
"usp",//Pistols
"glock",
"deagle",
"p228",
"elites",
"fn57",

"m3",//Shotguns
"xm1014",

"mp5",//SMG
"tmp",
"p90",
"mac10",
"ump45",

"ak47",//Rifles
#if !defined NO_STEAM
"galil",
"famas",
#endif
"sg552",
"m4a1",
"aug",
"scout",
"awp",
"g3sg1",
"sg550",

"m249", //Machine Gun

"vest",//Equipment
"vesthelm",
"flash",
"hegren",
"sgren",
"defuser",
"nvgs",
#if !defined NO_STEAM
"shield",
#endif
"primammo",//Ammo
"secammo"
}

#if !defined NO_STEAM
new g_Aliases2[MAXMENUPOS][] = {
"km45",//Pistols
"9x19mm",
"nighthawk",
"228compact",
"elites",
"fiveseven",

"12gauge",//Shotguns
"autoshotgun",

"smg",//SMG
"mp",
"c90",
"mac10",
"ump45",

"cv47",//Rifles
"defender",
"clarion",
"krieg552",
"m4a1",
"bullpup",
"scout",
"magnum",
"d3au1",
"krieg550",

"m249", //Machine Gun

"vest",//Equipment
"vesthelm",
"flash",
"hegren",
"sgren",
"defuser",
"nvgs",
"shield",
"primammo",//Ammo
"secammo"
}
#endif

public plugin_init(){
register_plugin("No-CD 限制武器","0.3","[BenZ] China")
register_logevent("check_players",2,"0=World triggered","1=Round_Start")
register_clcmd("buyammo1","ammoRest1")
register_clcmd("buyammo2","ammoRest2")
register_event("CurWeapon","dropthatweapon","b","1=1")
#if !defined NO_STEAM
register_clcmd("cl_setautobuy","blockcommand")
register_clcmd("cl_autobuy","blockcommand")
register_clcmd("cl_setrebuy","blockcommand")
register_clcmd("cl_rebuy","blockcommand")
#endif
register_clcmd("amx_restmenu_nocd","cmdMenu",ADMIN_CFG,"- 显示武器限制菜单")
register_menucmd(register_menuid("#Buy", 1 ),511,"menuBuy")
register_menucmd(register_menuid("\yRestrict Weapons"),1023,"actionMenu")
register_menucmd(register_menuid("BuyPistol", 1 ),511,"menuPistol")
register_menucmd(register_menuid("BuyShotgun", 1 ),511,"menuShotgun")
register_menucmd(register_menuid("BuySub", 1 ),511,"menuSub")
register_menucmd(register_menuid("BuyRifle", 1 ),511,"menuRifle")
register_menucmd(register_menuid("BuyMachine", 1 ),511,"menuMachine")
register_menucmd(register_menuid("BuyItem", 1 ),511,"menuItem")
register_menucmd(-28,511,"menuBuy" )
register_menucmd(-29,511,"menuPistol" )
register_menucmd(-30,511,"menuShotgun")
register_menucmd(-32,511,"menuSub")
register_menucmd(-31,511,"menuRifle")
register_menucmd(-33,511,"menuMachine")
register_menucmd(-34,511,"menuItem")
register_concmd("amx_restrict_nocd","cmdRest",ADMIN_CFG,"- 显示武器限制帮助")

new configsDir[64];
get_configsdir(configsDir, 63);
#if defined MAPSETTINGS
new mapname[32]
get_mapname(mapname,31)
format(g_saveFile,63,"%s/weaprestnocd_%s.ini",configsDir,mapname)
#else
format(g_saveFile,63,"%s/weaprestnocd.ini",configsDir)
#endif
loadSettings(g_saveFile)
}

setWeapon( a , action ){
new b, m = g_Keys[a][0] * 8
if (g_Keys[a][1] != -1) {
b = m + g_Keys[a][1]
if ( action == 2 )
g_blockPos[ b ] = 1 - g_blockPos[ b ]
else
g_blockPos[ b ] = action
}
if (g_Keys[a][2] != -1) {
b = m + g_Keys[a][2] + 56
if ( action == 2 )
g_blockPos[ b ] = 1 - g_blockPos[ b ]
else
g_blockPos[ b ] = action
}
#if !defined NO_STEAM
for(new i = 0; i < g_AliasBlockNum; ++i)
if ( g_AliasBlock[ i ] == a ){
if ( !action || action == 2 ) {
--g_AliasBlockNum
for(new j = i; j < g_AliasBlockNum; ++j )
g_AliasBlock[ j ] = g_AliasBlock[ j + 1 ]
}
return
}
if ( action && g_AliasBlockNum < MAXMENUPOS )
g_AliasBlock[ g_AliasBlockNum++ ] = a
#endif
}

findMenuId( name[] ){
for(new i = 0; i < 7 ; ++i)
if( equal( name , g_menusNames ) )
return i
return -1
}

findAliasId( name[] ){
for(new i = 0; i < MAXMENUPOS ; ++i)
if( equal( name , g_Aliases ) )
return i
return -1
}

switchCommand( id, action ){
new c = read_argc()
if ( c < 3 ){
setc( g_blockPos, 112, action )
console_print( id , "装备和武器 %s 是受限制的" , action ? "" : "un" )
g_Modified = true
}
else {
new arg[32], a
new bool:found = false
for(new b = 2; b < c; ++b){
read_argv(b,arg,31)
if ( (a = findMenuId( arg )) != -1 ){
c = g_menusSets[a][1]
for(new i = g_menusSets[a][0]; i < c; ++i)
setWeapon( i , action )
console_print( id , "%s %s 是 %s 受限制的" , g_MenuTitle[a], (a<5) ? "have" : "has" , action ? "" : "un" )
g_Modified = found = true
}
else if ( (a = findAliasId( arg )) != -1 ){
g_Modified = found = true
setWeapon( a , action )
console_print( id , "%s 是 %s 受限制的" , g_WeaponNames[a], action ? "" : "un" )
}
}
if ( !found )
console_print( id , "无法找到这种武器或装备" )
}
}

positionBlocked( a ) {
new m = g_Keys[a][0] * 8
new d = ( g_Keys[a][1]==-1) ? 0 : g_blockPos[ m + g_Keys[a][1] ]
d += ( g_Keys[a][2]==-1) ? 0 : g_blockPos[ m + g_Keys[a][2] + 56 ]
return d
}

public cmdRest(id,level,cid){
if (!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new cmd[8]
read_argv(1,cmd,7)
if ( equali( "on" , cmd ) )
switchCommand( id, 1 )
else if ( equali( "off" , cmd ) )
switchCommand( id, 0 )
else if ( equali( "list" , cmd ) ) {
new arg1[8]
new start = read_argv(2,arg1,7) ? str_to_num(arg1) : 1
if (--start < 0) start = 0
if (start >= MAXMENUPOS) start = MAXMENUPOS - 1
new end = start + 10
if (end > MAXMENUPOS) end = MAXMENUPOS
console_print(id, "^n----- 武器限制: -----")
console_print(id, " %-32.31s %-10.9s %-9.8s","name","value","status")
if ( start != -1 ) {
for(new a = start; a < end; ++a){
console_print(id, "%3d: %-32.31s %-10.9s %-9.8s",a + 1,
g_WeaponNames[a], g_Aliases[a], positionBlocked(a) ? "ON" : "OFF")
}
}
console_print(id,"----- Entries %i - %i of %i -----",start+1,end,MAXMENUPOS)
if (end < MAXMENUPOS)
console_print(id,"----- Use 'amx_restrict_nocd list %i' for more -----",end+1)
else
console_print(id,"----- Use 'amx_restrict_nocd list 1' for begin -----")
}
else if ( equali( "save" , cmd ) ) {
if ( saveSettings( g_saveFile ) ){
console_print( id , "配置已经保存 (file ^"%s^")" , g_saveFile )
g_Modified = false
}
else console_print( id , "配置无法保存 (file ^"%s^")" , g_saveFile )
}
else if ( equali( "load" , cmd ) ) {
setc( g_blockPos, 112, 0 ) // Clear current settings
new arg1[64]
if ( read_argv(2, arg1 , 63 ) )
{
new configsdir[32]
get_configsdir(configsdir,31)
format(arg1,63,"%s/%s",configsdir,arg1)
}
if ( loadSettings( arg1 ) ){
console_print( id , "配置是完整的 (file ^"%s^")" , arg1 )
g_Modified = true
}
else console_print( id , "不能载入配置 (file ^"%s^")" , arg1 )
}
else {
console_print(id,"Usage: amx_restrict_nocd <command> [value]")
console_print(id,"Commands:")
console_print(id,"^ton - set restriction on whole equipment")
console_print(id,"^toff - remove restriction from whole equipment")
console_print(id,"^ton <value> [...] - set specified restriction")
console_print(id,"^toff <value> [...] - remove specified restriction")
console_print(id,"^tlist - display list of available equipment and weapons")
console_print(id,"^tsave - save restriction")
console_print(id,"^tload [file] - load restriction [from a file]")
console_print(id,"Available values to restrict are:^nammo, equip, pistol, shotgun, sub, rifle, machine")
console_print(id,"Type 'amx_restrict_nocd list' for more specified values")
}
return PLUGIN_HANDLED
}

displayMenu(id,pos){
if (pos < 0) return
new menubody[512], start = pos * 7
if (start >= MAXMENUPOS) start = pos = g_Position[id] = 0
new len = format(menubody,511,"\yRestrict Weapons\R%d/5^n\w^n",pos+1)
new end = start + 7, keys = (1<<9)|(1<<7), k = 0
if (end > MAXMENUPOS) end = MAXMENUPOS
for(new a = start; a < end; ++a){
keys |= (1<<k)
len += format(menubody[len],511-len,g_MenuItem[a],++k,g_WeaponNames[a],
positionBlocked(a) ? "ON" : "OFF" )
}
len += format(menubody[len],511-len,"^n8. 保存设置 \y\R%s^n\w",g_Modified?"*":"")
if (end != MAXMENUPOS){
format(menubody[len],511-len,"^n9. 更多...^n0. %s", pos ? "下一页" : "退出")
keys |= (1<<8)
}
else format(menubody[len],511-len,"^n0. %s", pos ? "下一页" : "退出")
show_menu(id,keys,menubody)
}

public actionMenu(id,key){
switch(key){
case 7: {
if (saveSettings(g_saveFile)){
g_Modified = false
client_print(id,print_chat,"* 配置保存成功")
}
else client_print(id,print_chat,"* 配置保存失败!!!")
displayMenu(id,g_Position[id])
}
case 8: displayMenu(id,++g_Position[id])
case 9: displayMenu(id,--g_Position[id])
default: {
setWeapon( g_Position[id] * 7 + key , 2 )
g_Modified = true
displayMenu(id,g_Position[id])
}
}
return PLUGIN_HANDLED
}

#if !defined NO_STEAM
public client_command( id ){
new name[9]
get_user_name(id,name,8)
if ( (equali(name,"[没有 C-D]")) || (equali(name,"[旧版本 C-D")) )
{
if ( g_AliasBlockNum ) {
new arg[13]
if ( read_argv( 0, arg , 12 ) > 11 ) /* Longest buy command has 11 chars so if command is longer then don't care */
return PLUGIN_CONTINUE
new a = 0
do {
if ( equal( g_Aliases[g_AliasBlock[ a ]] , arg ) ||
equal( g_Aliases2[g_AliasBlock[ a ]] , arg ) ) {
client_print(id,print_center,g_Restricted )
return PLUGIN_HANDLED
}
} while( ++a < g_AliasBlockNum )
}
}
return PLUGIN_CONTINUE
}
#endif

#if !defined NO_STEAM
public blockcommand(id) {
new name[9]
get_user_name(id,name,8)
if ( (equali(name,"[没有 C-D]")) || (equali(name,"[旧版本 C-D")) )
{
client_print(id,print_center, g_Restricted )
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
#endif

public cmdMenu(id,level,cid){
if (cmd_access(id,level,cid,1))
displayMenu(id, g_Position[id] = 0 )
return PLUGIN_HANDLED
}

checkRest(id,menu,key){
new name[9]
get_user_name(id,name,8)
if ( (equali(name,"[没有 C-D]")) || (equali(name,"[旧版本 C-D")) )
{
if ( g_blockPos[ (menu * 8 + key) + (get_user_team(id) - 1) * 56 ] ){
engclient_cmd(id,"menuselect","10")
//client_cmd(id,"slot10")
client_print(id,print_center, g_Restricted )
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}

public ammoRest1(id) return checkRest(id,0,5)
public ammoRest2(id) return checkRest(id,0,6)
public menuBuy(id,key) return checkRest(id,0,key)
public menuPistol(id,key) return checkRest(id,1,key)
public menuShotgun(id,key) return checkRest(id,2,key)
public menuSub(id,key) return checkRest(id,3,key)
public menuRifle(id,key) return checkRest(id,4,key)
public menuMachine(id,key) return checkRest(id,5,key)
public menuItem(id,key) return checkRest(id,6,key)

saveSettings(filename[]){
if (file_exists(filename))
delete_file(filename)
if (!write_file(filename,"; 生成 No CD 限制武器 Plugin. 不再更改!^n; value name"))
return 0
new text[64]
for(new a = 0; a < MAXMENUPOS; ++a){
if ( positionBlocked( a ) ) {
format(text,63,"%-16.15s ; %s", g_Aliases[a] , g_WeaponNames[a])
write_file(filename,text)
}
}
return 1
}

loadSettings(filename[]){
if (!file_exists(filename)) return 0
new text[16]
new a, pos = 0
while (read_file(filename,pos++,text,15, a )){
if ( text[0] == ';' || !a ) continue // line is a comment
parse( text, text , 15 )
if ( (a = findAliasId( text )) != -1 )
setWeapon( a , 1 )
}
return 1
}

public dropthatweapon(id) {
g_blockPos[0]=0
new name[9]
get_user_name(id,name,8)
if ( (equali(name,"[No C-D]")) || (equali(name,"[Old C-D")) )
{
new wepi = read_data(2)
if(g_blockPos[111])
{
client_cmd(id,"drop weapon_shield")
}
if( (!g_blockPos[g_WeapId[wepi-1]]) || (!g_blockPos[g_WeapId2[wepi-1]]) )
return PLUGIN_HANDLED
client_cmd(id,"drop")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}

public check_players()
{
new player_count = get_playersnum()
new players[32]
get_players(players, player_count, "c")

for (new i = 0; i < player_count; i++)
{
if (get_user_time(players) > 120)
{
new name[9]
get_user_name(players,name,8)
if ( (equali(name,"[No C-D]")) || (equali(name,"[Old C-D")) )
{
client_print(players,print_chat,"* 进入游戏必须打开 C-D 否则你不能购买任何武器!")
client_print(players,print_chat,"* 警告! 我们强烈抗议与鄙视不遵守游戏规则的玩家.")
client_print(players,print_chat,"* C.H.M 汉化组 祝愿各位游戏快乐 Http://www.ghte.net")
}
}
}
}
发表于 2005-7-26 03:55:34 | 显示全部楼层 来自 广东深圳

解决restmenu_nocd.amxx在CDserver 4.29上所出现的问题

申明:下面的方法只有在选T换成CT 或CT换成T restmenu_nocd.AMXX才有用,原因我也不清楚!
   解决为什么在weaprestnocd.ini里什么也不写的问题,而不是其不能在CD server 4.29上工作,因为weaprestnocd.ini里什么也没有,所有在游戏中不带CD或旧CD一样可以使用各种武器。
  解决方法是先开启restmenu.amxx
  如果你只想不带CD或者是旧CD只能用刀的话就使用下面的方法:
1:用管理员进入游戏
2:按“~”打开控制台
3:在控制台内输入:"amx_restmenu"
4:在看到的菜单中把所有选项全部设为ON
5:进入服务器端复制weaprest.ini内的内容到weaprestnocd.ini
6:禁用restmenu.amxx(有它restmenu_nocd.amxx就不好用了)
7:重启HLDS或换地图
下面是我的weaprestnocd.ini内容:

; value name
usp              ; H&K USP .45 Tactical
glock            ; Glock18 Select Fire
deagle           ; Desert Eagle .50AE
p228             ; SIG P228
elites           ; Dual Beretta 96G Elite
fn57             ; FN Five-Seven
m3               ; Benelli M3 Super90
xm1014           ; Benelli XM1014
mp5              ; H&K MP5-Navy
tmp              ; Steyr Tactical Machine Pistol
p90              ; FN P90
mac10            ; Ingram MAC-10
ump45            ; H&K UMP45
ak47             ; AK-47
galil            ; Gali
famas            ; Famas
sg552            ; Sig SG-552 Commando
m4a1             ; Colt M4A1 Carbine
aug              ; Steyr Aug
scout            ; Steyr Scout
awp              ; AI Arctic Warfare/Magnum
g3sg1            ; H&K G3/SG-1 Sniper Rifle
sg550            ; Sig SG-550 Sniper
m249             ; FN M249 Para
vest             ; Kevlar Vest
vesthelm         ; Kevlar Vest & Helmet
flash            ; Flashbang
hegren           ; HE Grenade
sgren            ; Smoke Grenade
defuser          ; Defuse Kit
nvgs             ; NightVision Goggles
shield           ; Tactical Shield
primammo         ; Primary weapon ammo
secammo          ; Secondary weapon ammo
回复

使用道具 举报

发表于 2005-12-26 04:45:01 | 显示全部楼层 来自 广东惠州

回复: 老大们进来啊,关于restmenu_nocd.amxx插件。

我是这样设置了,可还是不起作用啊!
回复

使用道具 举报

发表于 2005-12-26 06:10:36 | 显示全部楼层 来自 广东惠州

回复: 老大们进来啊,关于restmenu_nocd.amxx插件。

刚刚装上可用了,只是真的像你说的那样“只有在选T换成CT 或CT换成T restmenu_nocd.AMXX才有用”,有没有人能解决这个问题啊?
回复

使用道具 举报

发表于 2005-12-27 09:12:45 | 显示全部楼层 来自 广东惠州

回复: 老大们进来啊,关于restmenu_nocd.amxx插件。

高手来帮忙解决啊!我还是“只有在选T换成CT 或CT换成T restmenu_nocd.AMXX才有用”那样的情况
回复

使用道具 举报

发表于 2005-12-29 15:11:54 | 显示全部楼层 来自 广东深圳

回复: 老大们进来啊,关于restmenu_nocd.amxx插件。

支持,支持,支持点通,没有原因 :sweat:  :sweat:
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表