AMD
Участник
- Сообщения
- 180
- Реакции
- 18
Скорее всего я юзаю не тот компилятор...А почему у него вдруг ошибка и после - загадка самого автора.
Версия: Snapshots 1.5.4-git4077
А какой юзаете вы?
Скорее всего я юзаю не тот компилятор...А почему у него вдруг ошибка и после - загадка самого автора.
AMD, лучше бы сказал, работает или нет. Я не проверял, у меня итак нет меню закупки на GunGame.
У меня не CS:GO, CS:S. Там всё на 1.5.3 отлично работает.какую версию см юзать
У меня не CS:GO, CS:S. Там всё на 1.5.3 отлично работает.
public OnPluginStart()
{
RegConsoleCmd("buymenu", cmd_BuyMenu);
}
public Action:cmd_BuyMenu(client, args)
{
if (client > 0 && args < 1)
OpenBuyMenu(client);
PrintToChat(client, "#debug: Buymenu entered by %N", client);
return Plugin_Handled;
}
public OnPluginStart()
{
AddCommandListener(cmd_BuyMenu, "buymenu");
}
public Action:cmd_BuyMenu(client, const String:sCommand[], args)
{
OpenBuyMenu(client);
PrintToChat(client, "#debug: Buymenu entered by %N", client);
return Plugin_Handled;
}
HookUserMessage(GetUserMessageId("VGUIMenu"),HookUserMessages,true);
public Action:HookUserMessages(UserMsg:msg_id, Handle:bf, const players[], playersNum, bool:reliable, bool:init)
{
// проверяешь что это меню закупки
return Plugin_Handled;
}
Так впиши код перед return в строчке, что я дал:мне надо чтобы нажатии клавиши открывалось свое меню покупок
public Action:CS_OnBuyCommand(client, const String:weapon[])
{
OpenBuyMenu(client);
PrintToChat(client, "#debug: Buymenu entered by %N", client);
return Plugin_Handled;
}
А что там с сообщением "Вы не в зоне покупок"? Помню, была такая проблема и вопрос. В итоге, лучше удалить все зоны закупок на карте.ему нужно заблочить всё меню
decl String:szClass[65];
if( GetConVarInt( bztoggle ))
{
for (new i = MaxClients; i <= GetMaxEntities(); i++)
{
if(IsValidEdict(i) && IsValidEntity(i))
{
GetEdictClassname(i, szClass, sizeof(szClass));
if(StrEqual("func_buyzone", szClass))
{
RemoveEdict(i);
}
}
}
}
Cтранно, что во всех стандартных стоках банально не могли вписать ++i; вместо i++;Преинкремент быстрее
public Action:HookUserMessages(UserMsg:msg_id, Handle:bf, const players[], playersNum, bool:reliable, bool:init)
{
decl String:type[10];
BfReadString(bf, type, sizeof(type));
if(StrEqual(type, "buymenu"))
{
return Plugin_Handled;
}
return Plugin_Continue;
}
if(strcmp(type, "buy", 8) == 0)
if(strcmp(type, "buy", false) == 0)
if(strcmp(type, "buymenu", 8) == 0)
if(strcmp(type, "buymenu", false) == 0)
public OnMapStart()
{
new iMaxEntities = GetMaxEntities(), String:eName[64];
for (new i=MaxClients;i<iMaxEntities;i++)
{
if (IsValidEdict(i) && IsValidEntity(i) && GetEdictClassname(i, eName, sizeof(eName)))
{
if(StrContains(eName, "func_buyzone") != -1)
{
AcceptEntityInput(i, "Kill");
}
}
}
}
OnConfigsExecuted() для данного случая подойдёт.В OnMapStart?
if( GetConVarInt( bztoggle ))
{
decl String:szClass[14];
for (new i = GetEntityCount(); i > MaxClients; --i)
{
if(IsValidEdict(i))
{
GetEdictClassname(i, szClass, 14);
if(strcmp("func_buyzone", szClass) == 0)
{
RemoveEdict(i);
}
}
}