New Plugin: ConnectAnnounceNewPlayers
This commit is contained in:
parent
9a876ea06b
commit
39e55a630d
95
ConnectAnnounce/scripting/ConnectAnnounceNewPlayers.sp
Normal file
95
ConnectAnnounce/scripting/ConnectAnnounceNewPlayers.sp
Normal file
@ -0,0 +1,95 @@
|
||||
#pragma semicolon 1
|
||||
|
||||
#include <sourcemod>
|
||||
#include <multicolors>
|
||||
|
||||
bool NewPlayer[MAXPLAYERS + 1] = { false, ... };
|
||||
|
||||
Database g_hDatabase;
|
||||
|
||||
public Plugin myinfo =
|
||||
{
|
||||
name = "ConnectAnnounceNewPlayers",
|
||||
author = "'Dogan",
|
||||
description = "Connect Announcer for new Players",
|
||||
version = "1.0.0",
|
||||
url = ""
|
||||
}
|
||||
|
||||
public void OnPluginStart()
|
||||
{
|
||||
Database.Connect(SQL_OnDatabaseConnect, "unloze_newplayers");
|
||||
}
|
||||
|
||||
public void OnClientPostAdminCheck(int client)
|
||||
{
|
||||
if(IsFakeClient(client) || IsClientSourceTV(client))
|
||||
return;
|
||||
|
||||
char sAuthID[32];
|
||||
GetClientAuthId(client, AuthId_Steam2, sAuthID, sizeof(sAuthID));
|
||||
|
||||
char sQuery[512];
|
||||
Format(sQuery, sizeof(sQuery), "SELECT * FROM connections WHERE auth='%s'", sAuthID);
|
||||
|
||||
g_hDatabase.Query(SQL_OnQueryCompleted, sQuery, GetClientSerial(client), DBPrio_Low);
|
||||
}
|
||||
|
||||
public void SQL_OnDatabaseConnect(Database db, const char[] error, any data)
|
||||
{
|
||||
if(!db || strlen(error))
|
||||
{
|
||||
LogError("Database error: %s", error);
|
||||
return;
|
||||
}
|
||||
|
||||
g_hDatabase = db;
|
||||
|
||||
char sQuery[512];
|
||||
Format(sQuery, sizeof(sQuery), "CREATE TABLE IF NOT EXISTS connections (`auth` varchar(32))");
|
||||
|
||||
g_hDatabase.Query(SQL_OnQueryCompleted, sQuery, _, DBPrio_Low);
|
||||
}
|
||||
|
||||
public void SQL_OnQueryCompleted(Database db, DBResultSet results, const char[] error, any data)
|
||||
{
|
||||
if(!db || strlen(error))
|
||||
{
|
||||
LogError("Query error: %s", error);
|
||||
return;
|
||||
}
|
||||
|
||||
int client;
|
||||
if ((client = GetClientFromSerial(data)) == 0)
|
||||
return;
|
||||
|
||||
char sAuthID[32];
|
||||
GetClientAuthId(client, AuthId_Steam2, sAuthID, sizeof(sAuthID));
|
||||
|
||||
if(results.RowCount && results.FetchRow())
|
||||
{
|
||||
int iFieldNum;
|
||||
char sResultAddress[32];
|
||||
results.FieldNameToNum("auth", iFieldNum);
|
||||
results.FetchString(iFieldNum, sResultAddress, sizeof(sResultAddress));
|
||||
|
||||
if(StrEqual(sAuthID, sResultAddress, true))
|
||||
return;
|
||||
}
|
||||
|
||||
NewPlayer[client] = true;
|
||||
NewPlayerMessage(client);
|
||||
char sQuery[512];
|
||||
Format(sQuery, sizeof(sQuery), "INSERT INTO connections (auth) VALUES ('%s')" , sAuthID);
|
||||
|
||||
g_hDatabase.Query(SQL_OnQueryCompleted, sQuery, _, DBPrio_Low);
|
||||
}
|
||||
|
||||
public Action NewPlayerMessage(int client)
|
||||
{
|
||||
char sName[128];
|
||||
GetClientName(client, sName, sizeof(sName));
|
||||
|
||||
CPrintToChatAll("{cyan}Player {midnightblue}%s {cyan}has just connected an Unloze Server for the first time! Welcome!", sName);
|
||||
CPrintToChat(client, "{cyan}Hi %s. Welcome to the {midnightblue}Unloze Zombie Escape Server{cyan}! We hope you enjoy your stay here and add our server to your favorites. Make sure to check out our website at {midnightblue}www.unloze.com{cyan}.", sName);
|
||||
}
|
Loading…
Reference in New Issue
Block a user