【菜单开发】在菜单中显示当前尚存活的电脑人 代码鉴赏

我不当学长 管理员组 2022-9-3 794

public void OnPluginStart()
{
    RegConsoleCmd("sm_bot", Cmd_ShowBotsMenu, "Show Bots Menu.");
}

public Action Cmd_ShowBotsMenu(int client, int args)
{
    if(!client || !IsClientInGame(client))
        return Plugin_Handled;

    PrintToChat(client, "Menu Opened");
    Menu menu = new Menu(BotsList);
    menu.SetTitle("Select A Bot:");

    char uid[8], sName[MAX_NAME_LENGTH];
    for(int i = 1; i <= MaxClients; i++)
        if(IsClientInGame(i) && IsFakeClient(i) && IsPlayerAlive(i) && GetClientTeam(i) == 2)
        {
            GetClientName(i, sName, sizeof(sName));
            FormatEx(uid, sizeof(uid), "%i", GetClientUserId(i));
            menu.AddItem(uid, sName);
        }

    if(!menu.ItemCount) menu.AddItem("", "Bots not found", ITEMDRAW_DISABLED);
    menu.Display(client, MENU_TIME_FOREVER);

    return Plugin_Handled;
}

public int BotsList(Menu menu, MenuAction action, int client, int param)
{
    switch(action)
    {
        case MenuAction_Select:
        {
            char sInfo[8];
            menu.GetItem(param, sInfo, sizeof(sInfo));
            int target = StringToInt(sInfo);
            if(target && (target = GetClientUserId(target)))
                PrintToChatAll("%N has selected %N.", client, target);
            else Cmd_ShowBotsMenu(client, 0);
        }
        case MenuAction_End: delete menu;
    }

    return 0;
} 

参考:


CSGO插件分享-申明 1、本网站名称:CSGO插件分享-中文站  网址:https://bbs.csgocn.net
2、本站的宗旨在于为CSGO玩家提供一个插件分享的中文资源平台,多数插件来源于SourceMod论坛,并配以中文介绍和安装教程。
3、欢迎有能力的朋友共享有趣的CSGO插件资源。
4、本站资源大多为百度网盘,如发现链接失效,可以点: 这里进行反馈,我们会第一时间更新。
最新回复 (0)
返回