Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

сделать запрет

magis1337
сообщение 15.8.2015, 19:57
Сообщение #1
Стаж: 11 лет
Город: Odessa

Сообщений: 2782
Благодарностей: 1535
Полезность: 918

host5.ru
Меценат Меценат

Добрый день всем, у меня не большая проблема на csdm, у меня сервер пушки+лазеры, дело в том, что игроки с помощью вот такой бинда + скрипта
bind "с" "shop;menuselect 1;wait 1;menuselect 1"
покупают себе сразу много хп через shop, и даже бывает такое, игрокам же такой скрипт продают по 100р, можно как то запретить это делать? кроме банов игроков, а то как то уже бесит это..
Если нужен исходник кину от shopmenu кину
Даже без понятие, как они продумали этот скрипт, что на одну кнопку жмешь, оно сразу пару действий делает

Отредактировал: magis1337, - 15.8.2015, 19:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя csnet
сообщение 15.8.2015, 19:59
Сообщение #2
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

если в меню стоит автозакрытие пункта после покупки, такое не должно канать по идее.


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
magis1337
сообщение 15.8.2015, 20:02
Сообщение #3
Стаж: 11 лет
Город: Odessa

Сообщений: 2782
Благодарностей: 1535
Полезность: 918

host5.ru
Меценат Меценат

csnet, вот сам исходник, хз стоит ли авто закрытие, хотя стоит, вот когда меню открываешь, покупаешь хп, пунк хп закрывается, но у них скрипт такой, одну кнопку c Нажимают, и сразу хп пополняется, ну за валютную сумму игровую, но нужно как то эту фигню убрать, как это не честно, а так через меню что бы покупали, если так делать, он почти как бог без смертный

Cкрытый текст
Код:
/*
5.0.2 Более удобное расположение пунктов меню
5.0.1 Фикс бага с условием сброса скорости
change if (g_iHasSpeed[id]) to if (g_iHasSpeed[id] != -1)
*/

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fun>

/*===============================================================================
=
[Defines & Variables]
================================================================================
=*/

// Plugin Info
#define PLUGIN_NAME "CS Shop"
#define PLUGIN_VERS "5.0.2"
#define PLUGIN_AUTH "iNeedHelp" // Old Name :(

// Weapons BitSum (drop stocks)
#define PRIMARY_WEAPONS_BITSUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90))

// Max Players
#define MAX_PLAYERS 32


#define set_user_money(%1,%2) cs_set_user_money(%1,%2)
#define get_user_money(%1) cs_get_user_money(%1)

#define MAX_HP 900
#define MAX_AP 900

#define DISC_FLAG ADMIN_LEVEL_B
// Pointers
new g_pGravityCvarPointer

// Main Cvars
new g_pCvarPrefix

// Menu Cvars
new g_pMenuEnableCvars[6]
new g_pTeGunsMenuCvars[8]

new g_pInvisibilityMenuCvars[3]
new g_pGravityMenuCvars[4]
new g_pHealthMenuCvars[6]
new g_pArmorMenuCvars[6]
new g_pSpeedMenuCvars[5]

// Menu vars
new g_iHasSpeed[MAX_PLAYERS+1] = { -1, ... }
new g_iHasGravity[MAX_PLAYERS+1] = { -1, ... }
new g_iHasInvis[MAX_PLAYERS+1] = { -1, ... }

// Menus Items
new g_szMainShopMenu[][] =
{
"Меню здоровья",
"Меню брони",
"Меню гравитации",
"Меню невидимости",
"Меню скорости",
"Меню оружия"
}

new g_szTGunsMenu[][] =
{
"АК-47",
"М4А1",
"АВП",
"Фамас",
"Галил",
"Дигл",
"Юсп",
"Глок"
}

new g_szInvisibilityMenu[][] =
{
"Высокая",
"Средняя",
"Слабая"
}

new g_szGravityMenu[][] =
{
"Гравитация 400",
"Гравитация 500",
"Гравитация 600",
"Гравитация 700"
}

new g_szHealthMenu[][] =
{
"Здоровье +450",
"Здоровье +200",
"Здоровье +95",
"Здоровье +65",
"Здоровье +35",
"Здоровье +15"
}

new g_szArmorMenu[][] =
{
"Броня +450",
"Броня +200",
"Броня +95",
"Броня +65",
"Броня +35",
"Броня +15"
}

new g_szSpeedMenu[][] =
{
"Скорость 420",
"Скорость 380",
"Скорость 340",
"Скорость 300",
"Скорость 260"
}


new g_szTGunsWeapons[][] =
{
"weapon_ak47",
"weapon_m4a1",
"weapon_awp",
"weapon_famas",
"weapon_galil",
"weapon_deagle",
"weapon_usp",
"weapon_glock18"
}

new g_szTGunsAmmo[][] = { "762nato", "556nato", "338magnum", "556nato", "556nato", "50ae", "45acp", "9mm"}
new g_iTGunsLoad[] = { 90, 90, 30, 90, 90, 35, 100, 120 }
new g_iTGunsMaxAmmo[] = { 90, 90, 30, 90, 90, 35, 100, 120 }

new g_iInvisibilityLevel[] = { 40, 100, 150 }
new g_iHealthLevel[] = { 450, 200, 95, 65, 35, 15 }
new g_iArmorLevel[] = { 450, 200, 95, 65, 35, 15 }

new Float:g_flGravityLevel[] = { 400.0, 500.0, 600.0, 700.0 }
new Float:g_flSpeedLevel[] = { 420.0, 380.0, 340.0, 300.0, 260.0 }

// Message Hooks
new g_iMsgSayText

/*===============================================================================
=
[Init]
================================================================================
=*/

public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH)

// Multi-Lingual
register_dictionary("shop.txt")

// Commands
register_clcmd("say /shop", "ClCmd_Say")
register_clcmd("shop", "ClCmd_Say")

// Ham Forwards
RegisterHam(Ham_Spawn, "player", "Fwd_PlayerSpawn_Post", 1)

// Events
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")

// Messages Hooks
g_iMsgSayText = get_user_msgid("SayText")

// Cvars
g_pGravityCvarPointer = get_cvar_pointer("sv_gravity")

g_pCvarPrefix = register_cvar("amx_shop_prefix", "[Магазин]")

g_pMenuEnableCvars[0] = register_cvar("amx_shop_hp", "1")
g_pHealthMenuCvars[0] = register_cvar("amx_shop_450hp", "5500")
g_pHealthMenuCvars[1] = register_cvar("amx_shop_200hp", "2800")
g_pHealthMenuCvars[2] = register_cvar("amx_shop_95hp", "1500")
g_pHealthMenuCvars[3] = register_cvar("amx_shop_65hp", "1000")
g_pHealthMenuCvars[4] = register_cvar("amx_shop_35hp", "700")
g_pHealthMenuCvars[5] = register_cvar("amx_shop_15hp", "400")

g_pMenuEnableCvars[1] = register_cvar("amx_shop_ap", "1")
g_pArmorMenuCvars[0] = register_cvar("amx_shop_450ap", "5500")
g_pArmorMenuCvars[1] = register_cvar("amx_shop_200ap", "2800")
g_pArmorMenuCvars[2] = register_cvar("amx_shop_95ap", "1500")
g_pArmorMenuCvars[3] = register_cvar("amx_shop_65ap", "1000")
g_pArmorMenuCvars[4] = register_cvar("amx_shop_35ap", "700")
g_pArmorMenuCvars[5] = register_cvar("amx_shop_15ap", "400")

g_pMenuEnableCvars[2] = register_cvar("amx_shop_grav", "1")
g_pGravityMenuCvars[0] = register_cvar("amx_shop_g400", "4500")
g_pGravityMenuCvars[1] = register_cvar("amx_shop_g500", "3500")
g_pGravityMenuCvars[2] = register_cvar("amx_shop_g600", "2500")
g_pGravityMenuCvars[3] = register_cvar("amx_shop_g700", "1500")

g_pMenuEnableCvars[3] = register_cvar("amx_shop_invis", "1")
g_pInvisibilityMenuCvars[0] = register_cvar("amx_shop_high", "13000")
g_pInvisibilityMenuCvars[1] = register_cvar("amx_shop_medium", "10000")
g_pInvisibilityMenuCvars[2] = register_cvar("amx_shop_low", "6000")

g_pMenuEnableCvars[4] = register_cvar("amx_shop_speed", "1")
g_pSpeedMenuCvars[0] = register_cvar("amx_shop_420speed", "12000")
g_pSpeedMenuCvars[1] = register_cvar("amx_shop_380speed", "10000")
g_pSpeedMenuCvars[2] = register_cvar("amx_shop_340speed", "8000")
g_pSpeedMenuCvars[3] = register_cvar("amx_shop_300speed", "6000")
g_pSpeedMenuCvars[4] = register_cvar("amx_shop_260speed", "4000")

g_pMenuEnableCvars[5] = register_cvar("amx_shop_weapon", "1")
g_pTeGunsMenuCvars[0] = register_cvar("amx_shop_ak47", "500")
g_pTeGunsMenuCvars[1] = register_cvar("amx_shop_m4a1", "400")
g_pTeGunsMenuCvars[2] = register_cvar("amx_shop_awp", "600")
g_pTeGunsMenuCvars[3] = register_cvar("amx_shop_famas", "300")
g_pTeGunsMenuCvars[4] = register_cvar("amx_shop_galil", "300")
g_pTeGunsMenuCvars[5] = register_cvar("amx_shop_deagle", "200")
g_pTeGunsMenuCvars[6] = register_cvar("amx_shop_usp", "200")
g_pTeGunsMenuCvars[7] = register_cvar("amx_shop_glock", "200")
}

//public plugin_precache ()
//{
// precache_sound ( "dmsentries/menu_click.wav" )
// precache_sound ( "dmsentries/error.wav" )
//}

/*===============================================================================
=
[Menus]
================================================================================
=*/

public ClCmd_Say(id)
{
if (!is_user_alive(id))
{
client_print_c(id, "%L", id, "SHOP_DEAD")
return PLUGIN_HANDLED
}

Create_Menu(id)
return PLUGIN_HANDLED
}

Create_Menu(id)
{
new Menu = menu_create("\rМеню прокачки", "MainMenu_Handler")
new Items[32], Position[3]

for (new i = 0; i < sizeof(g_szMainShopMenu); i++)
{
formatex(Items, charsmax(Items), "%s%s", get_pcvar_num(g_pMenuEnableCvars[i]) ? "\w" : "\d", g_szMainShopMenu[i])
num_to_str(i, Position, charsmax(Position))

menu_additem(Menu, Items, Position)
}

menu_setprop(Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(Menu, MPROP_BACKNAME, "Назад")
menu_setprop(Menu, MPROP_EXITNAME, "Выход")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
}

public MainMenu_Handler(id, Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Menu)
return PLUGIN_HANDLED
}

new Data[6], Name[64];
new Access, Callback;
menu_item_getinfo(Menu, item, Access, Data, 5, Name, 63, Callback)

new Key = str_to_num(Data);
new bal, Price

switch (Key)
{
case 0:
{
new Hp_Menu = menu_create("\rМеню здоровья", "HealthMenu_Handler")
new Items[40], PriceString[40], Position[3]

for (new i = 0; i < sizeof(g_szHealthMenu); i++)
{
Price = get_pcvar_num(g_pArmorMenuCvars[i])
if(get_user_flags(id) & DISC_FLAG)
{
Price = floatround(Price*0.8)
if(Price > 100)
bal = (Price % 100)
Price = Price - bal + 100
}
formatex(PriceString, charsmax(PriceString), "- \y$%d", Price)
formatex(Items, charsmax(Items), "%s%s %s", Price > 0 ? "\w" : "\d", g_szHealthMenu[i], Price > 0 ? PriceString : "")

num_to_str(i, Position, charsmax(Position))

menu_additem(Hp_Menu, Items, Position)
}

menu_setprop(Hp_Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(Hp_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(Hp_Menu, MPROP_EXITNAME, "Выход")
menu_setprop(Hp_Menu, MPROP_EXIT, MEXIT_ALL)

if (!get_pcvar_num(g_pMenuEnableCvars[3]))
{
client_print_c(id, "%L", id, "SHOP_HEALTH_OFF")
return PLUGIN_HANDLED
}
else
menu_display(id, Hp_Menu, 0)
}

case 1:
{
new Ap_Menu = menu_create("\rМеню брони", "ArmorMenu_Handler")
new Items[40], PriceString[40], Position[3]

for (new i = 0; i < sizeof(g_szArmorMenu); i++)
{
Price = get_pcvar_num(g_pArmorMenuCvars[i])
if(get_user_flags(id) & DISC_FLAG)
{
Price = floatround(Price*0.8)
if(Price > 100)
bal = (Price % 100)
Price = Price - bal + 100
}
formatex(PriceString, charsmax(PriceString), "- \y$%d", Price)
formatex(Items, charsmax(Items), "%s%s %s", Price > 0 ? "\w" : "\d", g_szArmorMenu[i], Price > 0 ? PriceString : "")

num_to_str(i, Position, charsmax(Position))

menu_additem(Ap_Menu, Items, Position)
}

menu_setprop(Ap_Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(Ap_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(Ap_Menu, MPROP_EXITNAME, "Выход")
menu_setprop(Ap_Menu, MPROP_EXIT, MEXIT_ALL)

if (!get_pcvar_num(g_pMenuEnableCvars[4]))
{
client_print_c(id, "%L", id, "SHOP_ARMOR_OFF")
return PLUGIN_HANDLED
}
else
menu_display(id, Ap_Menu, 0)
}

case 2:
{
new Grav_Menu = menu_create("\rМеню гравитации", "GravityMenu_Handler")
new Items[40], PriceString[40], Position[3]

for (new i = 0; i < sizeof(g_szGravityMenu); i++)
{
if(g_iHasGravity[id] != -1 && i >= g_iHasGravity[id])
continue
Price = get_pcvar_num(g_pGravityMenuCvars[i])
if(get_user_flags(id) & DISC_FLAG)
{
Price = floatround(Price*0.8)
if(Price > 100)
bal = (Price % 100)
Price = Price - bal + 100
}
formatex(PriceString, charsmax(PriceString), "- \y$%d", Price)
formatex(Items, charsmax(Items), "%s%s %s", Price > 0 ? "\w" : "\d", g_szGravityMenu[i], Price > 0 ? PriceString : "")

num_to_str(i, Position, charsmax(Position))

menu_additem(Grav_Menu, Items, Position)
}

menu_setprop(Grav_Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(Grav_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(Grav_Menu, MPROP_EXITNAME, "Выход")
menu_setprop(Grav_Menu, MPROP_EXIT, MEXIT_ALL)

new iItems = menu_items(Grav_Menu)

if (!get_pcvar_num(g_pMenuEnableCvars[2]))
{
client_print_c(id, "%L", id, "SHOP_GRAV_OFF")
return PLUGIN_HANDLED
}
else if(!iItems)
{
client_print_c(id, "У вас максимальная гравитация")
return PLUGIN_HANDLED
}
else
menu_display(id, Grav_Menu, 0)
}

case 3:
{
new Inv_Menu = menu_create("\rМеню невидимости", "InvisibilityMenu_Handler")
new Items[40], PriceString[40], Position[5]

for (new i = 0; i < sizeof(g_szInvisibilityMenu); i++)
{
if(g_iHasInvis[id] != -1 && i >= g_iHasInvis[id])
continue
Price = get_pcvar_num(g_pInvisibilityMenuCvars[i])
if(get_user_flags(id) & DISC_FLAG)
{
Price = floatround(Price*0.8)
if(Price > 100)
bal = (Price % 100)
Price = Price - bal + 100
}

formatex(PriceString, charsmax(PriceString), "- \y$%d", Price)
formatex(Items, charsmax(Items), "%s%s %s", Price > 0 ? "\w" : "\d", g_szInvisibilityMenu[i], Price > 0 ? PriceString : "")

num_to_str(i, Position, charsmax(Position))

menu_additem(Inv_Menu, Items, Position)
}

menu_setprop(Inv_Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(Inv_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(Inv_Menu, MPROP_EXITNAME, "Выход")
menu_setprop(Inv_Menu, MPROP_EXIT, MEXIT_ALL)

new iItems = menu_items(Inv_Menu)

if (!get_pcvar_num(g_pMenuEnableCvars[1]))
{
client_print_c(id, "%L", id, "SHOP_INVIS_OFF")
return PLUGIN_HANDLED
}
else if(!iItems)
{
client_print_c(id, "У вас максимальная невидимость")
return PLUGIN_HANDLED
}
else
menu_display(id, Inv_Menu, 0)
}

case 4:
{
new Speed_Menu = menu_create("\rМеню скорости", "SpeedMenu_Handler")
new Items[40], PriceString[40], Position[3], Price

for (new i = 0; i < sizeof(g_szSpeedMenu); i++)
{
if(g_iHasSpeed[id] != -1 && i >= g_iHasSpeed[id])
continue
Price = get_pcvar_num(g_pSpeedMenuCvars[i])
if(get_user_flags(id) & DISC_FLAG)
{
Price = floatround(Price*0.8)
if(Price > 100)
bal = (Price % 100)
Price = Price - bal + 100
}
formatex(PriceString, charsmax(PriceString), "- \y$%d", Price)
formatex(Items, charsmax(Items), "%s%s %s", Price > 0 ? "\w" : "\d", g_szSpeedMenu[i], Price > 0 ? PriceString : "")

num_to_str(i, Position, charsmax(Position))

menu_additem(Speed_Menu, Items, Position)
}

menu_setprop(Speed_Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(Speed_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(Speed_Menu, MPROP_EXITNAME, "Выход")
menu_setprop(Speed_Menu, MPROP_EXIT, MEXIT_ALL)

new iItems = menu_items(Speed_Menu)

if (!get_pcvar_num(g_pMenuEnableCvars[5]))
{
client_print_c(id, "%L", id, "SHOP_SPEED_OFF")
return PLUGIN_HANDLED
}
else if(!iItems)
{
client_print_c(id, "У вас максимальная скорость")
return PLUGIN_HANDLED
}
else
menu_display(id, Speed_Menu, 0)
}

case 5:
{
new Ts_Menu = menu_create("\rОружие", "TeMenu_Handler")
new Items[40], PriceString[40], Position[3]

for (new i = 0; i < sizeof(g_szTGunsMenu); i++)
{
Price = get_pcvar_num(g_pTeGunsMenuCvars[i])
if(get_user_flags(id) & DISC_FLAG)
{
Price = floatround(Price*0.8)
if(Price > 100)
bal = (Price % 100)
Price = Price - bal + 100
}

formatex(PriceString, charsmax(PriceString), "- \y$%d", Price)
formatex(Items, charsmax(Items), "%s%s %s", Price > 0 ? "\w" : "\d", g_szTGunsMenu[i], Price > 0 ? PriceString : "")

num_to_str(i, Position, charsmax(Position))

menu_additem(Ts_Menu, Items, Position)
}

menu_setprop(Ts_Menu, MPROP_NEXTNAME, "Далее")
menu_setprop(Ts_Menu, MPROP_BACKNAME, "Назад")
menu_setprop(Ts_Menu, MPROP_EXITNAME, "Выход")
menu_setprop(Ts_Menu, MPROP_EXIT, MEXIT_ALL)

if (!get_pcvar_num(g_pMenuEnableCvars[0]))
{
client_print_c(id, "%L", id, "SHOP_T_OFF")
return PLUGIN_HANDLED
}
else
menu_display(id, Ts_Menu, 0)

}
}
menu_destroy(Menu)
return PLUGIN_HANDLED
}

public TeMenu_Handler(id, Tts_Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Tts_Menu)
return PLUGIN_HANDLED
}

new Data[6], Name[64]
new Access, Callback;
menu_item_getinfo(Tts_Menu, item, Access, Data, 5, Name, 63, Callback)

new Key = str_to_num(Data)

new Money = get_user_money(id)
new Pcvar = get_pcvar_num(g_pTeGunsMenuCvars[Key])
new bal
if(get_user_flags(id) & DISC_FLAG)
{
Pcvar = floatround(Pcvar*0.8)
if(Pcvar > 100)
bal = (Pcvar % 100)
Pcvar = Pcvar - bal + 100
}

if (!Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_DISABLED")
//client_cmd ( id, "spk dmsentries/error.wav" )
return PLUGIN_HANDLED
}

if (Money < Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_MONEY")
//client_cmd ( id, "spk dmsentries/error.wav" )
} else
{
client_print_c(id, "%L", id, "SHOP_ITEM_BUY", g_szTGunsMenu[Key])
//client_cmd ( id, "spk dmsentries/menu_click.wav" )

set_user_money(id, Money-Pcvar)


give_item(id, g_szTGunsWeapons[Key])
ExecuteHamB(Ham_GiveAmmo, id, g_iTGunsLoad[Key], g_szTGunsAmmo[Key], g_iTGunsMaxAmmo[Key])
}
menu_destroy(Tts_Menu)
return PLUGIN_HANDLED
}

public InvisibilityMenu_Handler(id, Inv_Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Inv_Menu)
return PLUGIN_HANDLED
}

new Data[6], Name[64]
new Access, Callback;
menu_item_getinfo(Inv_Menu, item, Access, Data, 5, Name, 63, Callback)

new Key = str_to_num(Data)

new Money = get_user_money(id)
new Pcvar = get_pcvar_num(g_pInvisibilityMenuCvars[Key])
new bal
if(get_user_flags(id) & DISC_FLAG)
{
Pcvar = floatround(Pcvar*0.8)
if(Pcvar > 100)
bal = (Pcvar % 100)
Pcvar = Pcvar - bal + 100
}

if (!Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_DISABLED")
//client_cmd ( id, "spk dmsentries/error.wav" )
return PLUGIN_HANDLED
}

if (Money < Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_MONEY")
//client_cmd ( id, "spk dmsentries/error.wav" )
} else
{
g_iHasInvis[id] = Key

client_print_c(id, "%L", id, "SHOP_ITEM_BUY", g_szInvisibilityMenu[Key])
//client_cmd ( id, "spk dmsentries/menu_click.wav" )

set_user_money(id, Money-Pcvar)
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, g_iInvisibilityLevel[Key])
}
menu_destroy(Inv_Menu)
return PLUGIN_HANDLED
}

public GravityMenu_Handler(id, Grav_Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Grav_Menu)
return PLUGIN_HANDLED
}

new Data[6], Name[64]
new Access, Callback;
menu_item_getinfo(Grav_Menu, item, Access, Data, 5, Name, 63, Callback)

new Key = str_to_num(Data)

new Money = get_user_money(id)
new Pcvar = get_pcvar_num(g_pGravityMenuCvars[Key])
new bal
if(get_user_flags(id) & DISC_FLAG)
{
Pcvar = floatround(Pcvar*0.8)
if(Pcvar > 100)
bal = (Pcvar % 100)
Pcvar = Pcvar - bal + 100
}

if (!Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_DISABLED")
//client_cmd ( id, "spk dmsentries/error.wav" )
return PLUGIN_HANDLED
}

if (Money < Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_MONEY")
//client_cmd ( id, "spk dmsentries/error.wav" )
}
else
{
g_iHasGravity[id] = Key

client_print_c(id, "%L", id, "SHOP_ITEM_BUY", g_szGravityMenu[Key])
//client_cmd ( id, "spk dmsentries/menu_click.wav" )

set_user_money(id, Money-Pcvar)
set_user_gravity(id, (g_flGravityLevel[Key] / get_pcvar_float(g_pGravityCvarPointer)))
}
menu_destroy(Grav_Menu)
return PLUGIN_HANDLED
}

public HealthMenu_Handler(id, Hp_Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Hp_Menu)
return PLUGIN_HANDLED
}

new Data[6], Name[64]
new Access, Callback
menu_item_getinfo(Hp_Menu, item, Access, Data, 5, Name, 63, Callback)

new Key = str_to_num(Data)

new Money = get_user_money(id)
new Pcvar = get_pcvar_num(g_pHealthMenuCvars[Key])
new Health = get_user_health(id)
new bal
if(get_user_flags(id) & DISC_FLAG)
{
Pcvar = floatround(Pcvar*0.8)
if(Pcvar > 100)
bal = (Pcvar % 100)
Pcvar = Pcvar - bal + 100
}

if (!Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_DISABLED")
//client_cmd ( id, "spk dmsentries/error.wav" )
return PLUGIN_HANDLED
}
if(Health >= MAX_HP)
{
client_print_c(id, "У вас максимальное кол-во ХП")
//client_cmd ( id, "spk dmsentries/error.wav" )
return PLUGIN_HANDLED
}
if (Money < Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_MONEY")
//client_cmd ( id, "spk dmsentries/error.wav" )
} else
{
client_print_c(id, "%L", id, "SHOP_ITEM_BUY", g_szHealthMenu[Key])
//client_cmd ( id, "spk dmsentries/menu_click.wav" )

if(Health+g_iHealthLevel[Key] > MAX_HP)
{
set_user_health(id, MAX_HP)
set_user_money(id, Money-Pcvar)
return PLUGIN_HANDLED
}
set_user_money(id, Money-Pcvar)
set_user_health(id, Health+g_iHealthLevel[Key])
}
menu_destroy(Hp_Menu)
return PLUGIN_HANDLED
}

public ArmorMenu_Handler(id, Ap_Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Ap_Menu)
return PLUGIN_HANDLED
}

new Data[6], Name[64]
new Access, Callback
menu_item_getinfo(Ap_Menu, item, Access, Data, 5, Name, 63, Callback)

new Key = str_to_num(Data)

new Money = get_user_money(id)
new Pcvar = get_pcvar_num(g_pArmorMenuCvars[Key])
new Armor = get_user_armor(id)
new bal
if(get_user_flags(id) & DISC_FLAG)
{
Pcvar = floatround(Pcvar*0.8)
if(Pcvar > 100)
bal = (Pcvar % 100)
Pcvar = Pcvar - bal + 100
}

if (!Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_DISABLED")
//client_cmd ( id, "spk dmsentries/error.wav" )
return PLUGIN_HANDLED
}

if(Armor >= MAX_AP)
{
client_print_c(id, "У вас максимальное кол-во брони")
//client_cmd ( id, "spk dmsentries/error.wav" )
return PLUGIN_HANDLED
}

if (Money < Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_MONEY")
//client_cmd ( id, "spk dmsentries/error.wav" )
} else
{
client_print_c(id, "%L", id, "SHOP_ITEM_BUY", g_szArmorMenu[Key])
//client_cmd ( id, "spk dmsentries/menu_click.wav" )

if(Armor+g_iArmorLevel[Key] > MAX_AP)
{
cs_set_user_armor(id,MAX_AP,CS_ARMOR_VESTHELM)
set_user_money(id, Money-Pcvar)
return PLUGIN_HANDLED
}

set_user_money(id, Money-Pcvar)
cs_set_user_armor(id,Armor+g_iArmorLevel[Key],CS_ARMOR_VESTHELM)
}
menu_destroy(Ap_Menu)
return PLUGIN_HANDLED
}

public SpeedMenu_Handler(id, Speed_Menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(Speed_Menu)
return PLUGIN_HANDLED
}

new Data[6], Name[64]
new Access, Callback;
menu_item_getinfo(Speed_Menu, item, Access, Data, 5, Name, 63, Callback)

new Key = str_to_num(Data)

new Money = get_user_money(id)
new Pcvar = get_pcvar_num(g_pSpeedMenuCvars[Key])
new bal
if(get_user_flags(id) & DISC_FLAG)
{
Pcvar = floatround(Pcvar*0.8)
if(Pcvar > 100)
bal = (Pcvar % 100)
Pcvar = Pcvar - bal + 100
}

if (!Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_DISABLED")
//client_cmd ( id, "spk dmsentries/error.wav" )
return PLUGIN_HANDLED
}

if (Money < Pcvar)
{
client_print_c(id, "%L", id, "SHOP_ITEM_MONEY")
//client_cmd ( id, "spk dmsentries/error.wav" )
} else
{
g_iHasSpeed[id] = Key

client_print_c(id, "%L", id, "SHOP_ITEM_BUY", g_szSpeedMenu[Key])
//client_cmd ( id, "spk dmsentries/menu_click.wav" )

set_user_money(id, Money-Pcvar)
set_user_maxspeed(id, g_flSpeedLevel[Key])
}
menu_destroy(Speed_Menu)
return PLUGIN_HANDLED
}

/*===============================================================================
=
[Forwards]
================================================================================
=*/

public Fwd_PlayerSpawn_Post(id)
{
if (is_user_alive(id))
{
set_user_rendering(id)
set_user_gravity(id, 1.0)
set_user_maxspeed(id, 250.0)

g_iHasSpeed[id] = -1
g_iHasGravity[id] = -1
g_iHasInvis[id] = -1
}
}

public Event_CurWeapon(id)
{
if (!is_user_alive(id))
return

switch (g_iHasSpeed[id])
{
case 0: set_user_maxspeed(id, 420.0)
case 1: set_user_maxspeed(id, 380.0)
case 2: set_user_maxspeed(id, 340.0)
case 3: set_user_maxspeed(id, 300.0)
case 4: set_user_maxspeed(id, 260.0)
}
}

/*===============================================================================
=
[Stocks]
================================================================================
=*/

stock primary_wpn_drop(index)
{
new weapons[32], num, Weapon
get_user_weapons(index, weapons, num)

for (new i = 0; i < num; i++)
{
Weapon = weapons[i]

if (PRIMARY_WEAPONS_BITSUM & (1<<Weapon))
{
static wname[32]
get_weaponname(Weapon, wname, sizeof wname - 1)

engclient_cmd(index, "drop", wname)
}
}
}

stock secondary_wpn_drop(index)
{
new weapons[32], num, Weapon
get_user_weapons(index, weapons, num)

for (new i = 0; i < num; i++)
{
Weapon = weapons[i]

if (!(PRIMARY_WEAPONS_BITSUM & (1<<Weapon)))
{
static wname[32]
get_weaponname(Weapon, wname, sizeof wname - 1)

engclient_cmd(index, "drop", wname)
}
}
}

stock client_print_c(index, const Msg[], {Float, Sql, Result,_}:...)
{
if (!is_user_connected(index))
return;

new Buffer[512], Buffer2[512], Prefix[32]
get_pcvar_string(g_pCvarPrefix, Prefix, charsmax(Prefix))
formatex(Buffer2, charsmax(Buffer2), "^x04%s ^x01%s", Prefix, Msg);
vformat(Buffer, charsmax(Buffer), Buffer2, 3);

message_begin(MSG_ONE_UNRELIABLE, g_iMsgSayText, _, index);
write_byte(index);
write_string(Buffer);
message_end();
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
magis1337
сообщение 15.8.2015, 20:13
Сообщение #4
Стаж: 11 лет
Город: Odessa

Сообщений: 2782
Благодарностей: 1535
Полезность: 918

host5.ru
Меценат Меценат

Все решил проблему, поменял значение вызова команды, как возможно они угодали команду shop по дефолду, щас изменил, уже не катит фишка
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Leksandr
сообщение 15.8.2015, 20:23
Сообщение #5
Стаж: 13 лет
Город: Украина, Сумы (Ахтырка)

Сообщений: 1000
Благодарностей: 458
Полезность: 821

Цитата(magis1337 @ 15.8.2015, 21:08) *
Все решил проблему, поменял значение вызова команды, как возможно они угодали команду shop по дефолду, щас изменил, уже не катит фишка

cbf1b2bfde1a.gif ubeysya.gif
Не сложно посмотреть и изменить бинд. Так просто не исправить эту штуку.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.8.2015, 20:35
Сообщение #6


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

magis1337, антифлуд нужно делать, т.е. что бы между покупками в магазине должно было пройти не меньше X секунд.
csnet, автозакрытие меню ничего не даст:
bind "с" "shop;menuselect 1;wait 1;menuselect 1"
>>>
bind "с" "shop;menuselect 1;wait 1;shop;menuselect 1;wait 1;shop;menuselect 1;wait 1;shop;menuselect 1;wait 1;shop;menuselect 1;wait 1;shop;menuselect 1;wait 1;shop;menuselect 1;wait 1;shop;menuselect 1;"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
magis1337
сообщение 15.8.2015, 20:44
Сообщение #7
Стаж: 11 лет
Город: Odessa

Сообщений: 2782
Благодарностей: 1535
Полезность: 918

host5.ru
Меценат Меценат

Leksandr, я как бы не знал, и по этому решил создать. Но потом решили так сделать, не нужно стоить всемогущего умника из себя

Bloo, да спасибо, если опять узнаю команду, сделаю так как написал
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 15.8.2015, 20:47
Сообщение #8
Стаж: 13 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

А в чём проблема-то? Деньги же снимает? И здоровье максимальное не превышает? Если проблема в том, что очень часто покупают, то сделай задержку между покупками, как говорит Bloo, или ограничение по количеству за раунд, например.

И зачем 1 после wait?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
magis1337
сообщение 15.8.2015, 20:48
Сообщение #9
Стаж: 11 лет
Город: Odessa

Сообщений: 2782
Благодарностей: 1535
Полезность: 918

host5.ru
Меценат Меценат

[WPMG]PRoSToTeM@, да проблема в том, то что как то не так, за 1 сек, у тебя 900хп, а так пока менюшку выбрал выбрал хп и т.д это время, да и еще скрипт у меня на сервер продают по 100 рублей, да я так и сделаю, если подобная ситуация будет еще раз..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 15.8.2015, 20:51
Сообщение #10
Стаж: 13 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

Цитата(magis1337 @ 15.8.2015, 21:44) *
за 1 сек, у тебя 900хп

Ну вот и сделай ограничение по времени.

Это меню же может открываться ещё из какого-то меню? Тогда можно биндом открывать сначала главное меню, а потом из него уже меню покупки.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
magis1337
сообщение 15.8.2015, 20:54
Сообщение #11
Стаж: 11 лет
Город: Odessa

Сообщений: 2782
Благодарностей: 1535
Полезность: 918

host5.ru
Меценат Меценат

[WPMG]PRoSToTeM@, есть меню на m
там есть пункс магазин, заходишь в магазин, там есть пункц купить хп, в пункте хп, выбераешь 450хп, и все, это все действие. А они сразу два или 1 раз нажимают, сразу 900хп и все. По этому сменил вызов команды, надеюсь эта команда через консоль не проскочит
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя [WPMG]PRoSToTeM@
сообщение 15.8.2015, 20:59
Сообщение #12
Стаж: 13 лет

Сообщений: 1514
Благодарностей: 1025
Полезность: 725

Цитата(magis1337 @ 15.8.2015, 21:49) *
[WPMG]PRoSToTeM@, есть меню на m
там есть пункс магазин, заходишь в магазин, там есть пункц купить хп, в пункте хп, выбераешь 450хп, и все, это все действие. А они сразу два или 1 раз нажимают, сразу 900хп и все. По этому сменил вызов команды, надеюсь эта команда через консоль не проскочит

chooseteam;menuselect X;wait;menuselect 1;menuselect 1
Где X пункт магазина, возможно надо ещё wait добавить.

Отредактировал: [WPMG]PRoSToTeM@, - 15.8.2015, 21:00
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: