#include <sourcemod>
#include <sdktools>
#define MODEL_CROWBAR_V "models/weapons/melee/v_crowbar.mdl"
#define MODEL_CRICKETBAT_W "models/weapons/melee/w_cricket_bat.mdl"
#define MODEL_CRICKETBAT_V "models/weapons/melee/v_cricket_bat.mdl"
#define MODEL_ELECTRICGUITAR_W "models/weapons/melee/w_electric_guitar.mdl"
#define MODEL_ELECTRICGUITAR_V "models/weapons/melee/v_electric_guitar.mdl"
#define MODEL_FIREAXE_W "models/weapons/melee/w_fireaxe.mdl"
#define MODEL_FIREAXE_V "models/weapons/melee/v_fireaxe.mdl"
#define MODEL_FRYINGPAN_W "models/weapons/melee/w_frying_pan.mdl"
#define MODEL_FRYINGPAN_V "models/weapons/melee/v_frying_pan.mdl"
#define MODEL_GOLFCLUB_W "models/weapons/melee/w_golfclub.mdl"
#define MODEL_GOLFCLUB_V "models/weapons/melee/v_golfclub.mdl"
#define MODEL_KATANA_W "models/weapons/melee/w_katana.mdl"
#define MODEL_KATANA_V "models/weapons/melee/v_katana.mdl"
#define MODEL_MACHETE_W "models/weapons/melee/w_machete.mdl"
#define MODEL_MACHETE_V "models/weapons/melee/v_machete.mdl"
#define MODEL_TONFA_W "models/weapons/melee/w_tonfa.mdl"
#define MODEL_TONFA_V "models/weapons/melee/v_tonfa.mdl"
new Handle:cvar_maxweaponstotal = INVALID_HANDLE;
new Handle:cvar_maxweaponsclient = INVALID_HANDLE;
new Handle:cvar_meleeannounce = INVALID_HANDLE;
new numweaponstotal;
new numweaponsclient[MAXPLAYERS + 1];
{
name = "[L4D2]Melee",
author = "Adski",
description = "melee",
version = PLUGIN_VERSION,
url = ""
}
{
//melee weapons menu cvar
RegConsoleCmd("sm_melee", MeleeMenu);
//plugin version
CreateConVar("melee_version", PLUGIN_VERSION, "L4D 2 Melee Weapons Menu version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
cvar_maxweaponsclient = CreateConVar("melee_playermax", "10", "How much times one player can get melee weapons", FCVAR_PLUGIN|FCVAR_NOTIFY);
cvar_meleeannounce = CreateConVar("melee_announce", "3", "реклама 1? реклама 2, 3 реклама, 0 нет.",CVAR_FLAGS,true,0.0,true,3.0);
//autoexec
AutoExecConfig(true, "l4d2_melee");
}
{
PrecacheModel(MODEL_CROWBAR_W, true);
PrecacheModel(MODEL_CROWBAR_V, true);
PrecacheModel(MODEL_CRICKETBAT_W, true);
PrecacheModel(MODEL_CRICKETBAT_V, true);
PrecacheModel(MODEL_ELECTRICGUITAR_W, true);
PrecacheModel(MODEL_ELECTRICGUITAR_V, true);
PrecacheModel(MODEL_FIREAXE_W, true);
PrecacheModel(MODEL_FIREAXE_V, true);
PrecacheModel(MODEL_FRYINGPAN_W, true);
PrecacheModel(MODEL_FRYINGPAN_V, true);
PrecacheModel(MODEL_GOLFCLUB_W, true);
PrecacheModel(MODEL_GOLFCLUB_V, true);
PrecacheModel(MODEL_KATANA_W, true);
PrecacheModel(MODEL_KATANA_V, true);
PrecacheModel(MODEL_GOLFCLUB_W, true);
PrecacheModel(MODEL_GOLFCLUB_V, true);
PrecacheModel(MODEL_MACHETE_W, true);
PrecacheModel(MODEL_MACHETE_V, true);
PrecacheModel(MODEL_TONFA_W, true);
PrecacheModel(MODEL_TONFA_V, true);
numweaponstotal = 0;
for(new i = 1; i <= MAXPLAYERS; i++)
numweaponsclient[i] = 0;
}
{
numweaponstotal = 0;
for(new i = 1; i <= MAXPLAYERS; i++)
numweaponsclient[i] = 0;
}
{
for(new i = 1; i <= MAXPLAYERS; i++)
numweaponsclient[i] = 0;
}
{
if (client)
{
if (GetConVarBool(cvar_meleeannounce))
CreateTimer(30.0, AnnounceMelee, client);
}
}
{
if(!client || !IsClientInGame(client))
return Plugin_Handled;
{
PrintToChat(client, "Извините, но рукопашное оружие могут брать только игроки играющие за выживших.");
return Plugin_Handled;
}
{
PrintToChat(client, " установлен Лимит %i оружия для этой карты.", GetConVarInt(cvar_maxweaponstotal));
return Plugin_Handled;
}
{
PrintToChat(client, "Время выдачи рукопашного оружия %i минуты вышло.", GetConVarInt(cvar_maxweaponsclient));
return Plugin_Handled;
}
}
{
new Handle:menu = CreateMenu(MeleeMenuHandler);
AddMenuItem(menu, "option1", "Лом");
AddMenuItem(menu, "option2", "Бита для крикета");
AddMenuItem(menu, "option3", "Электро гитара");
AddMenuItem(menu, "option4", "Топор");
AddMenuItem(menu, "option5", "Сковородка");
AddMenuItem(menu, "option6", "Клюшка");
AddMenuItem(menu, "option7", "Катана");
AddMenuItem(menu, "option8", "Мачете");
AddMenuItem(menu, "option9", "Дигл");
AddMenuItem(menu, "option10", "Дубинка");
AddMenuItem(menu, "option11", "Пистолет");
SetMenuExitButton(menu, true);
DisplayMenu(menu, clientId, MENU_TIME_FOREVER);
}
{
if(advertising == 3)
{
PrintToChatAll("тут будет моя реклама");
PrintToChatAll("тут будет моя реклама");
}
else if(advertising == 2)
{
PrintToChatAll("тут будет моя реклама ");
}
else if(advertising == 1)
{
PrintToChatAll("Тут будет моя реклама");
}
}
{
//Strip the CHEAT flag off of the "give" command
new flags = GetCommandFlags("give");
SetCommandFlags("give", flags & ~FCVAR_CHEAT);
{
case 1: //Crowbar
{
//Give the player a Crowbar
FakeClientCommand(client, "give crowbar");
}
case 2: //Cricket Bat
{
//Give the player a Cricket Bat
FakeClientCommand(client, "give cricket_bat");
}
case 3: //Electric Guitar
{
//Give the player a Electric Guitar
FakeClientCommand(client, "give electric_guitar");
}
case 4: //Fire Axe
{
//Give the player a Fire Axe
FakeClientCommand(client, "give fireaxe");
}
case 5: //Frying Pan
{
//Give the player a Frying Pan
FakeClientCommand(client, "give frying_pan");
}
case 6: //Golf Club
{
//Give the player a Golf Club
FakeClientCommand(client, "give golfclub");
}
case 7: //Katana
{
//Give the player a Katana
FakeClientCommand(client, "give katana");
}
case 8: //Machete
{
//Give the player a Machete
FakeClientCommand(client, "give machete");
}
case 9: //Magnum
{
//Give the player a Magnum
FakeClientCommand(client, "give pistol_magnum");
}
case 10: //Night Stick
{
//Give the player a Night Stick
FakeClientCommand(client, "give tonfa");
}
case 11: //Pistol
{
//Give the player a Pistol
FakeClientCommand(client, "give pistol");
}
}
numweaponstotal++;
numweaponsclient[client]++;
}
SetCommandFlags("give", flags|FCVAR_CHEAT);
}
где тут в у меня в плагине ошибка не могу понять , в игре на сервере при вызове контекстого меню с выбором оружия , оружия начинает работать с цифры 2 то есть смещается выдача , милишка выдается с цифры 2 в менюшке на сервере , но на цифре два на сервере срабатывает выдача рукопашного ружия "Лом" хотя он у меня стоит на цифре 1 , на цифре 1 вообще ничего не выдается , я не могу понять в чем ошибка все проверял вроде все как нужно .