Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include common_scripts\utility;
- #include maps\mp\_utility;
- #include maps\mp\gametypes\_hud_util;
- init()
- {
- level thread onPlayerConnect();
- //LogPrint( "test" );
- }
- onPlayerConnect()
- {
- for(;;)
- {
- level waittill( "connected", player );
- player thread onPlayerSpawned();
- }
- }
- MysqlReturnQuery( Query )
- {
- self endon( "query_finished" );
- self endon( "query_failed" );
- RandomId = "";
- RandomId += RandomIntRange( 1000, 9999 );
- //self SayAll( RandomId );
- //self SayAll( RandomId + "" );
- LogPrint( "SQL&RETURN&" + Query + "&" + RandomId + "\n" );
- wait 0.25;
- LoopCounter = 0;
- for( ;; )
- {
- self endon( "query_finished" );
- self endon( "query_failed" );
- //self SayAll( "I want data: " + RandomId );
- ReturnData = GetDvar( "server1", "Handled" );
- ReturnDataArray = [];
- ReturnDataArray = ExtractReturnData( ReturnData );
- if( ReturnDataArray[ 0 ] == ( RandomId + "" ) )
- {
- //self SayAll( ReturnDataArray[ 0 ] );
- //self SayAll( RandomId );
- //self SayAll( "Handled" );
- SetDvar( "server1", "Handled" );
- //self SayAll( ReturnDataArray[ 1 ] );
- return ReturnDataArray[ 1 ] + "-";
- self notify( "query_finished" );
- }
- else
- {
- LoopCounter++;
- wait 1.0;
- }
- if( LoopCounter >= 25 )
- {
- self SayAll( "I finally failed!" );
- return "query_failed";
- self notify( "query_failed" );
- }
- }
- }
- Ip()
- {
- self endon( "ip_finished" );
- self endon( "ip_failed" );
- RandomId = "";
- RandomId += RandomIntRange( 1000, 9999 );
- SetDvar( "server2", "Handled" );
- LogPrint( "IP" + "&" + self.guid + "&" + RandomId );
- wait 0.25;
- LoopCounter = 0;
- for( ;; )
- {
- ReturnData = GetDvar( "server2", "Handled" );
- ReturnDataArray = [];
- ReturnDataArray = ExtractReturnData( ReturnData );
- if( ReturnDataArray[ 0 ] == self.guid )
- {
- SetDvar( "server2", "Handled" );
- return ReturnDataArray[ 1 ];
- self notify( "ip_finished" );
- }
- else
- {
- LoopCounter++;
- wait 1.0;
- }
- if( LoopCounter >= 25 )
- {
- return "ip_failed";
- self notify( "ip_failed" );
- }
- }
- }
- ExtractReturnData( ReturnData )
- {
- TempArray = strtok( ReturnData, "&" );
- return TempArray;
- }
- onPlayerSpawned()
- {
- self endon( "disconnect" );
- for(;;)
- {
- self waittill( "spawned_player" );
- self thread onPlayerDeath();
- self thread monitorTeabag();
- if( self.hasHerpes != true )
- self.hasHerpes = false;
- if( self.name == "=BC= Ardivaba" )
- {
- /*
- wait 1.0;
- self.ip = self Ip();
- self iPrintLnBold( self.ip );
- */
- }
- }
- }
- onPlayerDeath()
- {
- self endon( "disconnect" );
- for( ;; )
- {
- self waittill( "death" );
- //self SayAll( self.origin );
- level.herpes[ self.guid ] = newHudElem();
- level.herpes[ self.guid ].origin = self.origin;
- level.herpes[ self.guid ].guid = self.guid;
- level.herpes[ self.guid ].name = self.name;
- if( self.hasHerpes == "true" )
- level.herpes[ self.guid ].hasHerpes = "true";
- else
- level.herpes[ self.guid ].hasHerpes = "false";
- wait 1.0;
- }
- }
- monitorTeabag()
- {
- self endon( "disconnect" );
- self endon( "death" );
- for( ;; )
- {
- self notifyOnPlayerCommand( "pressC", "togglecrouch" );
- self waittill( "pressC" );
- foreach( herpes in level.herpes )
- {
- if( distance( self.origin, herpes.origin ) <= 100 )
- {
- self.teaCount += 1;
- if( distance( self.origin, self.teaOrigin ) >= 50 )
- self.teaCount = 0;
- if( self.teaCount >= 10 )
- {
- self.teaCount = 0;
- if( self.hasHerpes == false )
- {
- //self.sqldata = self thread MysqlReturnQuery( "UPDATE players SET points=points+1 WHERE xuid = '" + self.guid + "'" );
- MysqlReturn = self MysqlReturnQuery( "SELECT * FROM players WHERE xuid = '" + self.guid + "'" );
- if( strtok( MysqlReturn, "," )[2] == "1" )
- {
- self.hasHerpes = true;
- self SayAll( "^3I gave ^2" + herpes.name + " ^1 HERPES^3!" );
- foreach( player in level.players )
- {
- if( player.name == herpes.name )
- {
- player thread MysqlReturnQuery( "UPDATE players SET herpes=herpes+1 WHERE xuid = '" + player.guid + "'" );
- }
- }
- }
- }
- else
- {
- self SayAll( "^3I gave ^2" + herpes.name + " ^1 HERPES^3!" );
- foreach( player in level.players )
- {
- if( player.name == herpes.name )
- {
- player thread MysqlReturnQuery( "UPDATE players SET herpes=1 WHERE xuid = '" + player.guid + "'" );
- player SayAll( "UPDATE players SET herpes=1 WHERE xuid = '" + player.guid + "'" );
- }
- }
- }
- /*
- self.teaCount = 0;
- if( herpes.hasHerpes == "true" )
- {
- self SayAll( "I teabagged " + herpes.name + " and got herpes >:(" );
- foreach( player in level.players )
- {
- if( player.name == herpes.name )
- {
- if( player.hasHerpes != "true" )
- {
- player.hasHerpes = "true";
- player SayAll( self.name + " gave me herpes :(" );
- }
- }
- }
- self SayAll( "sql teabag " + herpes.guid );
- }
- else
- self SayAll( "I teabagged " + herpes.name );
- */
- herpes destroy();
- }
- self.teaOrigin = self.origin;
- wait 0.1;
- }
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using aIW;
- using System.IO;
- using System.Threading;
- using System.Text.RegularExpressions;
- namespace GSCApi
- {
- public class gscapi : AdminPluginBase
- {
- public List<AdminClient> Players = new List<AdminClient>();
- public bool Init = false;
- string GetIpGuid = "";
- public Mysqlcs mysql = new Mysqlcs("localhost", "dbtest", "root", "");
- public override EventEat OnSay(AdminClient client, string message)
- {
- HandleMessage(client.GUID.ToString("X1"), message);
- if (message.StartsWith("!"))
- {
- return EventEat.EatAll;
- }
- else
- return EventEat.EatNone;
- }
- public void HandleMessage(string guid, string message)
- {
- if (message == "!ip")
- GetIp("0" + guid.ToLower());
- }
- public override void OnFrame()
- {
- if (Init == false)
- {
- Thread WatchLogThread = new Thread(new ThreadStart(WatchLog));
- WatchLogThread.Start();
- Init = true;
- }
- }
- void WatchLog()
- {
- var logPath = @"C:\Users\Ardi\Desktop\SERVER\mods\xerpes\games_mp.log";
- long lengthOld = 0;
- long length = 0;
- bool start = true;
- var fs = new FileStream(logPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
- var FI = new FileInfo(logPath);
- var DT = DateTime.Now;
- while (true)
- {
- DT = DateTime.Now;
- try
- {
- lengthOld = length;
- FI.Refresh();
- length = FI.Length;
- if (start != true)
- {
- if (length != lengthOld)
- {
- fs.Seek(lengthOld, SeekOrigin.Begin);
- byte[] newData = new byte[length - lengthOld];
- var huh = fs.Read(newData, 0, Convert.ToInt32(length - lengthOld));
- var newDataStr = System.Text.Encoding.UTF8.GetString(newData);
- var newDataArr = newDataStr.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
- foreach (var fLine in newDataArr)
- {
- string line = fLine.Substring(7);
- if (line != "" && line.StartsWith("SQL"))
- {
- parseSql(line);
- }
- else if (line != "" && line.StartsWith("IP"))
- {
- parseIP(line);
- }
- else if (line != "" && line.StartsWith("J"))
- {
- parseConnect(line);
- }
- }
- }
- }
- else start = false;
- }
- catch
- {
- //SayAll(e.ToString());
- }
- if (!(new TimeSpan(DateTime.Now.Ticks).TotalSeconds - new TimeSpan(DT.Ticks).TotalSeconds < 1))
- Thread.Sleep(1000);
- }
- }
- void parseIP(string line)
- {
- string[] LineArray = line.Split('&');
- string error = "";
- GetIp( LineArray[1] );
- }
- void parseSql(string line)
- {
- string[] LineArray = line.Split('&');
- string MySqlData = "";
- MySqlData = "LOLL";
- string error = "";
- try
- {
- error = mysql.SingleQuery(LineArray[2]).ToString();
- }
- catch (Exception e)
- {
- error = e.ToString();
- }
- ExecuteCommand("server1 \"" + LineArray[3] + "&" + error + "\"\n");
- //ExecuteCommand("server2 \"" + error + "\"");
- SayAll("FUCKTARDS");
- }
- void parseConnect(string line)
- {
- string[] LineArray = line.Split(';');
- mysql.NoReturnQuery("INSERT INTO players ( xuid, points ) VALUES ( '" + LineArray[1] + "', '0' )");
- }
- void GetIp(string name)
- {
- GetIpGuid = name;
- CommandRedirectDelegate del = GetDvar_Redirect;
- ExecuteCommand("status\n", del);
- }
- void GetDvar_Redirect(string Status)
- {
- ExecuteCommand("server2 \"" + GetIpGuid + "&" + Status.Substring(Status.IndexOf(GetIpGuid) + GetIpGuid.Length + 25 + 2, 18) + "\"");
- //System.Windows.Forms.MessageBox.Show(Status.Substring(Status.IndexOf(GetIpGuid) + GetIpGuid.Length + 25 + 2, 18));
- //System.Windows.Forms.MessageBox.Show("server2 \"" + GetIpGuid + "&" + Status.Substring(Status.IndexOf(GetIpGuid) + GetIpGuid.Length + 25 + 2, 18) + "\"");
- GetIpGuid = "";
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using MySql;
- using MySql.Data.MySqlClient;
- using MySql.Data.Types;
- using System.Windows.Forms;
- namespace GSCApi
- {
- public class Mysqlcs
- {
- string Host = null;
- string Database = null;
- string Username = null;
- string Password = null;
- public MySqlConnection connection = null;
- public Mysqlcs(string inHost, string inDatabase, string inUsername, string inPassword)
- {
- Host = inHost;
- Database = inDatabase;
- Username = inUsername;
- Password = inPassword;
- string ConString = "SERVER=" + Host + ";" +
- "DATABASE=" + Database + ";" +
- "UID=" + Username + ";" +
- "PASSWORD=" + Password + ";";
- Connect(ConString);
- }
- void Connect(string ConString)
- {
- connection = new MySqlConnection(ConString);
- connection.Open();
- }
- public string SingleQuery(string Query)
- {
- string Result = "";
- try
- {
- MySqlCommand Command = connection.CreateCommand();
- MySqlDataReader Reader;
- Command.CommandText = Query;
- Reader = Command.ExecuteReader();
- Result = "";
- while (Reader.Read())
- {
- string thisrow = "";
- for (int i = 0; i < Reader.FieldCount; i++)
- thisrow += Reader.GetValue(i).ToString() + ",";
- Result += thisrow + "&";
- }
- Reader.Close();
- Reader.Dispose();
- Command.Cancel();
- Command.Dispose();
- }
- catch (Exception e) { }
- //MessageBox.Show(Result.ToString());
- //MessageBox.Show(Query);
- return Result;
- }
- public void NoReturnQuery(string Query)
- {
- try
- {
- MySqlCommand Command = connection.CreateCommand();
- Command.CommandText = Query;
- Command.ExecuteNonQuery();
- }
- catch { }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement