Kod:
#pragma semicolon 1
#define DEBUG
#define PLUGIN_AUTHOR "northeaster"
#define PLUGIN_VERSION "1.0"
#include <sourcemod>
#include <steamworks>
#include <basecomm>
#include <discord_steamworks>
//#include <sourcebanspp>
#pragma newdecls required
bool sban;
ConVar g_cSourcebans = null;
public Plugin myinfo =
{
name = "Discord Ban Log",
author = PLUGIN_AUTHOR,
description = "",
version = PLUGIN_VERSION,
url = "https://forum.sourceturk.net/"
};
public void OnPluginStart()
{
webhook = CreateConVar("dc_ban_log", "https://discordapp.com/api/webhooks/...", "Discord webhook");
g_cSourcebans = CreateConVar("dc_sourcebans_url", "https://alanadiniz.com/index.php?p=banlist&searchText={STEAMID}", "Link to sourcebans.");
AutoExecConfig(true, "dc_ban_log");
LoadTranslations("dc_ban.phrases");
}
public void OnAllPluginsLoaded()
{
if (!LibraryExists("sbpp_main"))
{
sban = false;
}
else
{
sban = true;
}
}
public Action OnBanClient(int client, int time, int flags, const char[] reason, const char[] kick_message, const char[] command, any source)
{
if(sban == false)
{
char SteamIDClient[32], SteamIDSource[32], mesaj[256];
GetClientAuthId(client, AuthId_Steam2, SteamIDClient, sizeof(SteamIDClient));
GetClientAuthId(source, AuthId_Steam2, SteamIDSource, sizeof(SteamIDSource));
Format(mesaj, sizeof(mesaj), "%t", "BANNED", source, client, time, reason, SteamIDClient, SteamIDSource);
SendToDiscord(mesaj);
}
}
public int SBPP_OnBanPlayer(int iAdmin, int iTarget, int iTime, const char[] sReason)
{
if(sban == true)
{
PrePareMsg(iAdmin, iTarget, iTime, sReason);
}
}
public int OnSBBanPlayer(int client, int target, int time, char[] reason)
{
if(sban == true)
{
PrePareMsg(client, target, time, reason);
}
}
void PrePareMsg(int client, int target, int time, const char[] reason)
{
char sAuth[32], sName[32], sAdminName[32], sSourcebans[512], mesaj[256];
GetClientAuthId(target, AuthId_Steam2, sAuth, sizeof(sAuth));
GetClientName(target, sName, sizeof(sName));
if(client && IsClientInGame(client))
{
GetClientName(client, sAdminName, sizeof(sAdminName));
}
else
{
sAdminName = "CONSOLE";
}
g_cSourcebans.GetString(sSourcebans, sizeof(sSourcebans));
Format(mesaj, sizeof(mesaj), "%t", "SOURCEBANS BAN", sSourcebans, sAuth, reason, time, sAdminName, sName);
SendToDiscord(mesaj);
}
Kod:
"Phrases"
{
"BANNED"
{
"#format" "{1:N},{2:N},{3:d},{4:s},{5:s},{6:s}"
"en" "```BAN \n Yetkili: {1} - SteamID: {6} \n Oyuncu: {2} - SteamID: {5} \n Dakika: {3} \n Neden: {4}```"
}
"SOURCEBANS BAN"
{
"#format" "{1:s},{2:s},{3:s},{4:d},{5:s},{6:s}"
"en" "```BAN \n SB Link: {1} \n Yetkili: {5} \n Oyuncu: {6} - SteamID: {2} \n Dakika: {4} \n Neden: {3} ```"
}
}
Kodlar düzgün çalışır diye düşünüyorum deneme fırsatı bulamadım. Ama çeviri dosyasında i s d tanımlamalarını yanlış yapmış olabilirim. Onları da kontrol eder misiniz?