I love the smell of UnrealEd crashing in the morning. – tarquin
UE1:NBSPReporter (Class)
From Unreal Wiki, The Unreal Engine Documentation Site
Purpose
Variables
Functions
function n() Input: string a, string b Output: None
- Concatenate the contents of a and b then store the result in a.
- Call the nlog() function of nsbp and send it the contents of a.
Discussion
Complete source code
//============================================================================= // NBSPReporter ==> NoBullShitPlus v1.09 //============================================================================= class NBSPReporter extends Info; var NBSP nbsp; var PlayerPawn p; function n( String a, String b ) { a = a @ b; nbsp.nlog(a); } //Report ServerMessage function ReportServerMessage(playerpawn b, private string f, private string g) { local string a; a = Right(f, (Len(f)-(InStr(f,",")+1))); nbsp.nlog("#### ---------------------------------------------- "); nbsp.nlog("#### NBSP - CLIENT HACK DETECTED -"@Left(f, InStr(f,","))); nbsp.nlog("#### ---------------------------------------------- "); nbsp.nlog("#### - Player Name: "$b.PlayerReplicationInfo.PlayerName); nbsp.nlog("#### - Player IP: "$nbsp.IPOnly(b.GetPlayerNetworkAddress())); if (len(f) == 0) nbsp.nlog("#### - Details: Data caused a problem."); else nbsp.nlog("#### - Details: "$Left(a, Instr(a,","))$"."); if (len(g) != 0) nbsp.nlog("#### - Method: "$g); nbsp.nlog("#### - Panic degree: "$Mid(Mid(a, (Instr(a,","))+1), (Instr(Mid(a, (Instr(a,","))+1),","))+1)$"."); nbsp.nlog("#### - Date/Time: "$Level.Month$"-"$Level.Day$"-"$Level.Year$" / "$Level.Hour$":"$Level.Minute$":"$Level.Second); nbsp.nlog("#### ----------------------------------------------"); } //Report ClientMessage function ReportClientMessage(playerpawn b, private string f, private string g) { local string a; a = Right(f, (Len(f)-(InStr(f,",")+1))); b.ClientMessage( "========================================================" ); b.ClientMessage( "NBSP - Possible Client Hack Detected/"$Left(f, InStr(f,","))); b.ClientMessage( "========================================================" ); b.ClientMessage( "Your client has been found with a possible hack."); b.ClientMessage( "**"); if (len(f) == 0) { b.ClientMessage( "Details: Package data caused a problem..." ); b.ClientMessage( " NBSP had trouble recieving data from the client." ); b.ClientMessage( " Panic degree is Medium!" ); } else { b.ClientMessage( "Details:"@Left(a, Instr(a,","))$"..."); b.ClientMessage( " "@Left(Mid(a, (Instr(a,","))+1), InStr(Mid(a, (Instr(a,","))+1),","))$"."); b.ClientMessage( " Panic degree is"@Mid(Mid(a, (Instr(a,","))+1), (Instr(Mid(a, (Instr(a,","))+1),","))+1)$"!"); } if (len(g) != 0) { b.ClientMessage( " "); b.ClientMessage( "Cause:"@g); } b.ClientMessage( "**"); b.ClientMessage( "Any Problems? Email <"$nbsp.settings.AdminEmail$">"); if (len(nbsp.settings.ServerURL) != 0) b.ClientMessage( "Or Visit:"@nbsp.settings.ServerURL); b.ClientMessage( "========================================================" ); } function GetErrorMessage(private int a, out String b) { switch (a) { case 0: //No error b = ""; break; case 1: b = "CORE,Illegal system paths detected,You have modified your default system paths,Low"; break; case 2: b = "CLASS,Illegal classes encounted,Client has possibly intercepted a class,High"; break; case 3: b = "TIMEOUT,Client failed to initialise,Your client has timed out after "$nbsp.settings.MaxTimeout@"seconds,Low"; break; case 4: b = "OBJECT,Active illegal package encountered,Client is running an unspecified package,High"; break; case 5: b = "PACKAGE,Invalid default package encountered,You have an illegal default package,High"; break; case 6: b = "CRC,Invalid checksum recieved,You have modified a package,Very High"; break; case 7: b = "NBSP,Illegal tampered data encountered,Client has tampered with NBSP,Very High"; break; case 8: b = "CONSOLE,Console data not recieved,Client has tampered with NBSP/Console,Low"; break; case 9: b = "CANVAS,Illegal canvas limit exceeded,You are trying to use an illegal canvas/radar,High"; break; case 10: b = "SKINS,Illegal skin hack detected,Your client was involved with an illegal skin,Medium"; break; case 11: b = "PACKAGE,Illegal package encountered,Your client has an illegal package,High"; break; case 12: b = "MOD,Illegal mod encountered,Your client has an illegal mod,High"; break; case 13: b = "VERSION,Unsupported client version encountered,Please update your current version of Unreal Tournament,Low"; break; case 14: b = "EXTERNAL,External hack detected,Your client may be using an external hack,Very High"; break; case 15: b = "CRC,Checksum generation failed,You have failed to generate a checksum,Low"; break; case 16: b = "LIGHT,Illegal light combination,Your client was involved with illegal light intergers,High"; break; default: b = "UNKNOWN,Unknown fault detected,NBSP has detected a fault on your client,Low"; break; } } //Report Joins/Parts of the server function ReportEvent(private string a, private string b) { nbsp.nlog("[NBSP]- "$a@b); } //Report Log Parsing function zzParse (private string n, private string a) { nbsp.nlog("[NBSP]- Parsing "$a$" for "$n$"..."); } function serverlog (private string n, private string a) { nbsp.nlog("[NBSP]["$n$"]- "$a); } defaultproperties { bHidden=true }