AlmazON
Не путать с самим yand3xmail
- Сообщения
- 5,099
- Реакции
- 2,755
Там же: Version Added: 1.5.0-manual. Так что, это давно так и впрямь.на что я наткнулся
Там же: Version Added: 1.5.0-manual. Так что, это давно так и впрямь.на что я наткнулся
Может кто знает как можно проверить плагин на утечки?
...
AddCommandListener(Undef_command, "status");
AddCommandListener(Undef_command, "ping");
...
public Action:Undef_command(client, const String:command[], argc)
{
if (client && !(GetUserFlagBits(client) & ADMFLAG_ROOT))
{
ReplyToCommand(client, "[SM] %t", "Block Command");
return Plugin_Handled;
}
return Plugin_Continue
}
Индекс же известен .... в callback'еОсталось узнать индекс передаваемого клиента в листене.
Я говорю сейчас об Source Enine 2009, зачем мне v34 я уже написал выше ...Имелось ввиду, что в v34 передается 0, поэтому и был дан первый и #132 пост.
#undef REQUIRE_PLUGIN
#include <adminmenu>
TopMenu h_AdminMenu;
TopMenuObject h_AdminMenu_Object;
public Plugin Myinfo =
{
name = "L4D AdminMenu Extension",
author = "Vitamin" ,
description = "Extend Admin Menu for Others Commands",
version = "1.0",
url = "http://l4d-zone.ru"
}
public void OnPluginStart()
{
if (LibraryExists("adminmenu"))
{
OnAdminMenuReady(GetAdminTopMenu());
}
}
public void OnLibraryRemoved(const char[] name)
{
if (StrEqual(name, "adminmenu"))
{
h_AdminMenu = null;
}
}
public void OnAdminMenuReady(TopMenu topmenu)
{
if (topmenu == null || topmenu == h_AdminMenu)
{
return;
}
h_AdminMenu = topmenu;
TopMenuObject h_AdminMenu_Object_Buffer = FindTopMenuCategory(h_AdminMenu, ADMINMENU_PLAYERCOMMANDS);
if (h_AdminMenu_Object_Buffer == INVALID_TOPMENUOBJECT)
{
return;
}
h_AdminMenu_Object = AddToTopMenu(h_AdminMenu, "AdminMenu_Extension", TopMenuObject_Item, Item_CallBack, h_AdminMenu_Object_Buffer, "sm_kick", ADMFLAG_KICK);
}
public void Item_CallBack(TopMenu topmenu, TopMenuAction action, TopMenuObject object_id, int client, char[] buffer, int maxlength)
{
if (action == TopMenuAction_DisplayOption)
{
Format(buffer, maxlength, "Test");
}
else if (action == TopMenuAction_DisplayTitle)
{
Format(buffer, maxlength, "Выберите опцию:");
}
}
//SourceMod Batch Compiler
// by the SourceMod Dev Team
//// l4d_adminmenu.sp
//
// C:\Program Files\valve\left4dead\left4dead\addons\sourcemod\scripting\l4d_adm
inmenu.sp(32) : error 181: function argument named 'topmenu' differs from protot
ype
// C:\Program Files\valve\left4dead\left4dead\addons\sourcemod\scripting\l4d_adm
inmenu.sp(47) : error 100: function prototypes do not match
// C:\Program Files\valve\left4dead\left4dead\addons\sourcemod\scripting\l4d_adm
inmenu.sp(47) : warning 204: symbol is assigned a value that is never used: "h_A
dminMenu_Object"
//
// 2 Errors.
//
// Compilation Time: 0,23 sec
// ----------------------------------------
Press enter to exit ...
Исправил но осталось все равно 1 ошибка:А даже в API:PHP:void OnAdminMenuReady(Handle topmenu)
//SourceMod Batch Compiler
// by the SourceMod Dev Team
//// l4d_adminmenu.sp
//
// C:\Program Files\valve\left4dead\left4dead\addons\sourcemod\scripting\l4d_adm
inmenu.sp(47) : error 100: function prototypes do not match
// C:\Program Files\valve\left4dead\left4dead\addons\sourcemod\scripting\l4d_adm
inmenu.sp(47) : warning 204: symbol is assigned a value that is never used: "h_A
dminMenu_Object"
//
// 1 Error.
//
// Compilation Time: 0,12 sec
// ----------------------------------------
Press enter to exit ...
Это тоже не то:C-подобный:([B]TopMenu[/B] topmenu, TopMenuAction action, TopMenuObject object_id, int client, char[] buffer, int maxlength)
(Handle topmenu, TopMenuAction action, TopMenuObject topobj_id, int param, char[] buffer, int maxlength)
Так и будет, пока не уберёшь переменную или не станешь её использовать.(47) : warning 204: symbol is assigned a value that is never used: "h_AdminMenu_Object"