[CS:GO] Проверка на non-steam

Kruzi

Участник
Сообщения
153
Реакции
20
Как проверить игрока на non-steam?
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
@Kruzi, можно использовать эту библиотеку. С задачей справляется.
SteamWorks/SteamWorks.inc at master · KyleSanderson/SteamWorks · GitHub

C-подобный:
#pragma semicolon 1
#include <SteamWorks>
#pragma newdecls required

#define CSGO_APPID 730

public Plugin myinfo =
{
    author = "Hejter",
    name = "Steam checker",
    version = "0.01",
};

public void OnPluginStart()
{
    RegAdminCmd("sm_steamchecker", Cmd_SteamChecker, ADMFLAG_ROOT);
}

public Action Cmd_SteamChecker(int client, int args)
{
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && !IsFakeClient(i))
        {
            switch (SteamWorks_HasLicenseForApp(i, CSGO_APPID))
            {
                case k_EUserHasLicenseResultHasLicense: // HasLicense [Игрок имеет steam]
                {
                    PrintToConsole(client, "Steam = %N", i);
                }
               
                case k_EUserHasLicenseResultDoesNotHaveLicense: // DoesNotHaveLicense [Игрок имеет nosteam]
                {
                    PrintToConsole(client, "Non-Steam = %N", i);
                }
               
                case k_EUserHasLicenseResultNoAuth: // NoAuth [Игрок не авторизовался]
                {
                    PrintToConsole(client, "No auth = %N", i);
                }
            }
        }
    }
    return Plugin_Handled;
}
 
Последнее редактирование:

Kruzi

Участник
Сообщения
153
Реакции
20
@Kruzi, можно использовать эту библиотеку. С задачей справляется.
SteamWorks/SteamWorks.inc at master · KyleSanderson/SteamWorks · GitHub

C-подобный:
#pragma semicolon 1
#include <SteamWorks>
#pragma newdecls required

#define CSGO_APPID 730

public Plugin myinfo =
{
    author = "Hejter",
    name = "Steam checker",
    version = "0.01",
};

public void OnPluginStart()
{
    RegAdminCmd("sm_steamchecker", Cmd_SteamChecker, ADMFLAG_ROOT);
}

public Action Cmd_SteamChecker(int client, int args)
{
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && !IsFakeClient(i))
        {
            switch (SteamWorks_HasLicenseForApp(client, CSGO_APPID))
            {
                case k_EUserHasLicenseResultHasLicense: // HasLicense [Игрок имеет steam]
                {
                    PrintToConsole(client, "Steam = %N", client);
                }
              
                case k_EUserHasLicenseResultDoesNotHaveLicense: // DoesNotHaveLicense [Игрок имеет nosteam]
                {
                    PrintToConsole(client, "Non-Steam = %N", client);
                }
              
                case k_EUserHasLicenseResultNoAuth: // NoAuth [Игрок не авторизовался]
                {
                    PrintToConsole(client, "No auth = %N", client);
                }
            }
        }
    }
    return Plugin_Handled;
}
Спасибо, отпишу когда проверю. У меня нет библиотеки socket, поделитесь, кому не трудно )
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
@Kruzi, она тут не требуется. Я тебе скинул библиотеку SteamWorks. Но вроде понадобиться еще расширение steamwork.ext (попробуй без расширения, но с библиотекой, если ни чего писать не будет , то просто поставь расширение на сервер steamworks.ext)
 

Kruzi

Участник
Сообщения
153
Реакции
20
Я в общем говорю про socket, вдруг ещё надо будет.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
@AS TRO, Оффтоп
 

Webman

Nevermind
Сообщения
803
Реакции
330
Наверное, еще можно проверить через аккаунт стима. У пиратов вроде бы ошибку выдается какую-то, если переходишь по их стимайди.
 

Kruzi

Участник
Сообщения
153
Реакции
20
@Kruzi, она тут не требуется. Я тебе скинул библиотеку SteamWorks. Но вроде понадобиться еще расширение steamwork.ext (попробуй без расширения, но с библиотекой, если ни чего писать не будет , то просто поставь расширение на сервер steamworks.ext)
Я чёт не доганяю. А где расширение?
 

Kruzi

Участник
Сообщения
153
Реакции
20
@Kruzi, попробуй вначале без расширения. Я пока точно не уверен, нужно ли оно тут вообще.
Рсширение: [ANY] SteamWorks - AlliedModders
Без расширения рестартнул сервер - всё равно пишет
Unknown command: sm_steamchecker

50 <Failed> "Steam checker" (0.01) by Hejter
 
Сверху Снизу