Иконка ресурса

Steam Profile 1.0RUS

Black_Yuzia

Зарабатываю на жизнь Мемами про Крузю.
Сообщения
693
Реакции
372
Пользователь Best_Kronky разместил новый ресурс:

[any games] Steam Profile - Узнать STEAMID | Увидеть Steam Profile

Описание:
attachment.php

Плагин позволяет игрокам найти Steam ID игроков и показать вам их профили Steam

Скрины
attachment.php

990764hl22017080811305652.png
...

Узнать больше об этом ресурсе...
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #2
Клиент STEAM
Пиратам просто не покажется MOTD окно
А что если у клиента в настройках отключено это motd окно, что тогда?

Инструкция по установке вообще не понятна для нового пользователя. Пишите подробнее.

Используйте префиксы для выделения игр, а не
 

Black_Yuzia

Зарабатываю на жизнь Мемами про Крузю.
Сообщения
693
Реакции
372
@White Wolf в след. раз учту.
Просто под any games - имеется ввиду любые игры на движке.

Сейчас приложу плагин для включения motd.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
с год назад писал себе такой же плагин
до сих пор на сервере работает
PHP:
#pragma semicolon 1

#pragma newdecls required

#include <sourcemod>

#define PLUGIN_NAME        "Steam Profile View"
#define PLUGIN_VERSION    "1.0.1"

ConVar hEnable, hSelf;

bool bMotDOff[MAXPLAYERS+1];

public Plugin myinfo =
{
    name        = PLUGIN_NAME,
    author        = "Grey83",
    description    = "Show Players Steam Profile in MotD Window",
    version        = PLUGIN_VERSION,
    url            = ""
};

public void OnPluginStart()
{
    LoadTranslations("common.phrases");
    CreateConVar("sm_spview_version", PLUGIN_VERSION, PLUGIN_NAME, FCVAR_SPONLY | FCVAR_REPLICATED | FCVAR_NOTIFY | FCVAR_DONTRECORD);
    hEnable = CreateConVar("sm_spview_enable", "1", "1/0 - Enable/Disable Plugin", 0, true, 0.0, true, 1.0);
    hSelf = CreateConVar("sm_spview_self", "1", "1/0 - Enable/Disable show player his own profile", 0, true, 0.0, true, 1.0);

    RegConsoleCmd("sm_profile", Cmd_SPView, "Show Players Steam Profile in MotD Window");
}

public Action Cmd_SPView(int client, int args)
{
    if(GetConVarBool(hEnable) && 0 < client <= MaxClients)
    {
        QueryClientConVar(client, "cl_disablehtmlmotd", CheckMotD);
        if(bMotDOff[client]) PrintToChat(client, "You need to set 'cl_disablehtmlmotd' to '0' to be able to use this command.");
        else
        {
            Menu menu = new Menu(Handler_SPView);
            menu.SetTitle("Show Steam profile:");
            int num;
            for (int i = 1; i <= MaxClients; i++)
            {
                char SID[18];
                if(IsClientInGame(i) && !IsFakeClient(i) && GetClientAuthId(i, AuthId_SteamID64, SID, sizeof(SID)))
                {
                    if(client == i && !GetConVarBool(hSelf)) continue;
                    num++;
                    static char name[64];
                    GetClientName(i, name, sizeof(name));
                    menu.AddItem(SID, name);    // определение id и добавление пункта в меню
                }
            }
            if(num < 10) SetMenuPagination(menu, MENU_NO_PAGINATION);
            menu.ExitButton = true;
            if(num > 0) menu.Display(client, MENU_TIME_FOREVER);
            else ReplyToCommand(client, "[SM] %t", "No matching clients");
        }
    }
    else if(!client) ReplyToCommand(client, "[SM] %t", "Command is in-game only");

    return Plugin_Handled;
}

public void CheckMotD(QueryCookie cookie, int client, ConVarQueryResult result, const char[] cvarName, const char[] cvarValue)
{
    bMotDOff[client] = (result == ConVarQuery_Okay && StringToInt(cvarValue) > 0);
}

public int Handler_SPView(Menu menu, MenuAction action, int client, int param)
{
    if(action == MenuAction_Select)
    {
        char info[53], buffer[64];
        menu.GetItem(param, info, sizeof(info), _, buffer, sizeof(buffer));
        Format(info, sizeof(info), "http://steamcommunity.com/profiles/%s", info);
        Format(buffer, sizeof(buffer), "%s's Steam Profile", buffer);
        ShowMOTDPanel(client, buffer, info, MOTDPANEL_TYPE_URL);
        menu.DisplayAt(client, GetMenuSelectionPosition(), MENU_TIME_FOREVER);
    }
    else if(action == MenuAction_End) delete menu;
}
При вызове команды проверяет значение переменной cl_disablehtmlmotd у клиента
 

Black_Yuzia

Зарабатываю на жизнь Мемами про Крузю.
Сообщения
693
Реакции
372
@Grey83 если хотите. Можете сделать тему и в нее залить этот плагин. Если, конечно, вы хотите.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Best_Kronky, нет, не хочу: тогда его до ума придётся доводить, встраивать поддержку других игр.
А оно мне нужно?
Я просто показал как можно проверки сделать.
Можешь использовать как шпаргалку
 

Black_Yuzia

Зарабатываю на жизнь Мемами про Крузю.
Сообщения
693
Реакции
372
@Grey83 спасибо. Но увы я не кодер (а не автор уж тем более). И даже основ не изучал.
Возможно кому-то пригодиться.
 

Larsalex

Сообщения
812
Реакции
404
Русская версия плагина от меня.

20170810132622_1.jpg
20170810132644_1.jpg


C-подобный:
#include <sourcemod>
#include <adminmenu>

public Plugin:myinfo =
{
    name = "SteamID",
    author = "Facksy",
    description = "SteamID",
    version = "1.0",
    url = "http://steamcommunity.com/id/iamfacksy/"
};

public OnPluginStart()
{
    RegConsoleCmd("sm_id", Cmd_id, "id");
    RegConsoleCmd("sm_steamid", Cmd_id, "id");
    RegConsoleCmd("sm_info", Cmd_id, "id");
}

public Action:Cmd_id(client, args)
{
    if(args == 0)
    {
        ShowTheMenu(client);
        return Plugin_Handled;
    }
    else if(args >= 1)
    {
        decl String:Target[64];
        GetCmdArg(1, Target, 64);
       
        new itarget = FindTarget(client, Target);
        if(itarget == -1)
        {
            PrintToChat(client, "[SM] Не является возможным найти указанную цель");
            return Plugin_Handled;
        }
        decl String:targetname[64];
        decl String:targetid[64];
        decl String:targetid64[64];
       
        decl String:ctargetname[64];
        decl String:ctargetid[64];
        decl String:ctargetprofile[64];
        decl String:ctargetadmin[64];
       
        GetClientName(itarget, targetname, 64);
        GetClientAuthId(itarget, AuthId_Engine, targetid, 64);
        GetClientAuthId(itarget, AuthId_SteamID64, targetid64, 64);
       
        if(GetUserFlagBits(itarget) & (ADMFLAG_SLAY) == (ADMFLAG_SLAY))
        {
            Format(ctargetadmin, 64, "ПРАВА: Администратор");
        }
        else if(GetUserFlagBits(itarget) & (ADMFLAG_ROOT) == (ADMFLAG_ROOT))
        {
            Format(ctargetadmin, 64, "ПРАВА: Владелец");
        }
        else
        {
            Format(ctargetadmin, 64, "ПРАВА: Игрок");
        }          
       
        Format(ctargetname, 64, "НИК: %s", targetname);
        Format(ctargetid, 64, "SteamID: %s", targetid);
        Format(ctargetprofile, 64, "http://steamcommunity.com/profiles/%s", targetid64);
       
        new Handle:menu = CreateMenu(SteamID);
        SetMenuTitle(menu, "Цель: %s", targetname);
       
        AddMenuItem(menu, "1", ctargetname, ITEMDRAW_DISABLED);
        AddMenuItem(menu, "2", ctargetid, ITEMDRAW_DISABLED);
        AddMenuItem(menu, "3", "--------", ITEMDRAW_DISABLED);
        AddMenuItem(menu, "4", ctargetadmin, ITEMDRAW_DISABLED);
        AddMenuItem(menu, ctargetprofile, "Просмотреть STEAM-профиль");
        if(StrEqual(targetid, "БОТ"))
        {
            RemoveMenuItem(menu, 4);
            AddMenuItem(menu, "5", "Это бот, Вы не можете просмотреть его STEAM-профиль.", ITEMDRAW_DISABLED);
        }
       
        SetMenuExitButton(menu, true);
        DisplayMenu(menu, client, MENU_TIME_FOREVER);
    }
}

public Action:ShowTheMenu(client)
{
    new Handle:menu2 = CreateMenu(MenuName);
    SetMenuTitle(menu2, "Выберите игрока:");
    new String:temp[MAX_NAME_LENGTH], String:id[16];
    for(new i=1;i<=MaxClients;i++)
    {
        if(IsClientInGame(i))           //&& client != i)
        {
            GetClientName(i, temp, sizeof(temp));
            Format(id, sizeof(id), "%d", i);
            AddMenuItem(menu2, temp, temp);
        }
    }
    SetMenuExitButton(menu2, true);
    DisplayMenu(menu2, client, MENU_TIME_FOREVER);
}
   
public MenuName(Handle:menu, MenuAction:action, client, param2)
{
    if(action == MenuAction_End)
    {
        CloseHandle(menu);
    }  
    if(action == MenuAction_Select)
    {
        decl String:inform[64];
        GetMenuItem(menu, param2, inform, sizeof(inform));
        new targ = FindTarget(client, inform)
        decl String:username2[64];
        GetClientName(targ, username2, 64);
        FakeClientCommand(client, "sm_id %s", username2);
    }
}

public MenuNameOLD(Handle:menu, MenuAction:action, client, param2)
{
    if(action == MenuAction_End)
    {
        CloseHandle(menu);
    }  
    if(action == MenuAction_Select)
    {
        decl String:inform[64];
        GetMenuItem(menu, param2, inform, sizeof(inform));
        new targ = StringToInt(inform);
        decl String:username2[64];
        GetClientName(targ, username2, 64);
        FakeClientCommand(client, "sm_id %s", username2);
        FakeClientCommand(client, "sm_id %c", username2);
    }
}

public SteamID(Handle:menu, MenuAction:action, client, param2)
{
    if(action == MenuAction_End)
    {
        CloseHandle(menu);
    }  
    if(action == MenuAction_Select)
    {
        decl String:xinfo[100];  
        GetMenuItem(menu, param2, xinfo, sizeof(xinfo));
        if(!StrEqual(xinfo, "6"))
        {
            KeyValues kv = CreateKeyValues("data");
            kv.SetString("title", "AGC Steam Group");
            kv.SetString("msg", xinfo);
            kv.SetNum("customsvr", 1);
            kv.SetNum("type", MOTDPANEL_TYPE_URL);
            ShowVGUIPanel(client, "info", kv, true);
            kv.Close();
   
            return Plugin_Handled;
        }
    }
    return Plugin_Handled;
}
 

Вложения

  • SteamID [v1.0 RUS].rar
    9.1 КБ · Просмотры: 20

Black_Yuzia

Зарабатываю на жизнь Мемами про Крузю.
Сообщения
693
Реакции
372
@Larsalex, Спасибо большое. Сейчас залью сразу.
 

Black_Yuzia

Зарабатываю на жизнь Мемами про Крузю.
Сообщения
693
Реакции
372
@Larsalex, Добавил вот только что. а то забыл что там нет :D
Оффтоп
 
Сверху Снизу