[Любая игра] - MF Connect Info [1.5.1] - давний способ. Простой, но не эффективный. Точный предлагали аж через расширение socket делать.проверить игрока на non-steam
#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;
}
Спасибо, отпишу когда проверю. У меня нет библиотеки socket, поделитесь, кому не трудно )@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; }
Я чёт не доганяю. А где расширение?@Kruzi, она тут не требуется. Я тебе скинул библиотеку SteamWorks. Но вроде понадобиться еще расширение steamwork.ext (попробуй без расширения, но с библиотекой, если ни чего писать не будет , то просто поставь расширение на сервер steamworks.ext)
Без расширения рестартнул сервер - всё равно пишет@Kruzi, попробуй вначале без расширения. Я пока точно не уверен, нужно ли оно тут вообще.
Рсширение: [ANY] SteamWorks - AlliedModders
50 <Failed> "Steam checker" (0.01) by Hejter
@Kruzi,@Kruzi, попробуй вначале без расширения. Я пока точно не уверен, нужно ли оно тут вообще.
Рсширение: [ANY] SteamWorks - AlliedModders