sayangnya tebakanmu salah :llaugh:
mana bisa gw coding" gituan :phihi:
Printable View
Ojan bante Clarkkent ?
dafuq, imposs
di poor itu
hmmmmmmm
what happend now
no happen what what
now what ??
ah sepele itu mah ..Quote:
Klo u di suruh Bikin Kaya Gini gimana Ini baru 1 Prodesur doank loh belom yang lain
Code:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using aIW;
namespace adminpig
{
public class adminpig : AdminPluginBase
{
public int i = 0;
public long[] GUIDs = new long[128];
public bool needUpdate = true;
public bool voteInProgress = false;
public int target = 0;
public int got = 0;
public string mapTarget = "mp_rust";
public long[] alreadyVoted = new long[18];
#region InArray
public static bool InArray(long[] myArray, long myObject)
{
foreach (long aObject in myArray)
{
if (aObject.ToString() == myObject.ToString())
return true;
}
return false;
}
#endregion
#region OnSay
public override EventEat OnSay(AdminClient client, string message)
{
if (message.StartsWith("!reload"))
{
needUpdate = true;
}
else if (message.StartsWith("!"))
{
Commands(message, client);
return EventEat.EatNone;
}
else if (message.StartsWith("/"))
{
Commands(message, client);
return EventEat.EatAll;
}
return EventEat.EatNone;
}
#endregion
//This function is generated every frame.
#region OnFrame
public override void OnFrame()
{
try
{
if (needUpdate)
{
AdminLevel.UpdateAdminList();
needUpdate = false;
}
}
catch (Exception e)
{
Log.Info("PigAdminError: " + Convert.ToString(e));
}
}
#endregion
#region Commands.
public void Commands(string message, AdminClient client)
{
string[] messageFirstArr = message.Split(' ');
string messageFirstStr = "";
messageFirstStr = messageFirstArr[0];
//removed the ! or / from start
messageFirstStr = messageFirstStr.Substring(1);
switch (messageFirstStr)
{
case "rcon":
RCon(message, client);
break;
//Added !say
case "say":
Say(message, client);
break;
case "kick":
kickPerson(message, client);
break;
case "map":
changeMap(message, client);
break;
case "ban":
banPerson(message, client);
break;
}
}
#endregion
#region RCon
public void RCon(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) == 3)
{
if (message.Length < 7)
{
SayTo(client, "^1Invalid Parameters.");
}
else
{
Log.Info(client.Name + " executed RCon Command: " + message.Substring(6));
ExecuteCommand(message.Substring(6));
SayTo(client, "^5Executed RCON: ^7" + message.Substring(6));
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
#region Say
public void Say(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) == 3)
{
if (message.Length < 6)
{
SayTo(client, "^1Invalid Parameters.");
}
else
{
//Executes the say command to server.
ExecuteCommand("say " + message.Substring(5));
//SayTo(client, "^2Said: ^7" + message.Substring(5));
//logs it
Log.Info(client.Name + " executed Say Command: " + message.Substring(5));
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
#region changeMap
public void changeMap(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) >= 2)
{
if (message.Length < 6)
{
SayTo(client, "^1Invalid Parameters.");
}
else
{
//Executes the say command to server.
ExecuteCommand("map " + message.Substring(5));
//SayTo(client, "^2Said: ^7" + message.Substring(5));
//logs it
Log.Info(client.Name + " changed map to: " + message.Substring(5));
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
#region partNametoclientID
public short realPlayerName(string partName)
{
// AdminPluginBase test = new aIW.AdminPluginBase();
var tempname = "";
var clients = GetClients();
foreach (var client in clients)
{
tempname = client.Name;
tempname = tempname.ToLower();
partName = partName.ToLower();
if (tempname.Contains(partName) == true)
{
return client.ClientNum;
}
}
return -1;
}
#endregion
#region KickPerson
public void kickPerson(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) >= 1)
{
if (message.Substring(4) == "k " || message.Substring(4) == "k")
{
SayTo(client, "^2Invalid parameters");
}
else
{
string command = "";
string namereason = message.Substring(6);
string[] namereasonArr = Split_(namereason, " ", "\"", true);
if (namereasonArr.Length > 1)
{
string name = namereasonArr[0];
name = name.Replace("\"", "");
// Console.WriteLine("\"\" Filtered: " + name);
short nameID;
nameID = realPlayerName(name);
if (nameID == -1)
{
SayTo(client, "^2Player is invalid");
return;
}
string reason = namereason.Substring(name.Length + 1); ;
// Console.WriteLine("Full text to output: kick \"" + name + "\" \"" + reason + "\"");
SayAll(AdminClient.Get(nameID).Name + " has been kicked for reason: " + reason);
command = "clientkick " + nameID + " \"" + reason + "\"";
}
else
{
string name = namereasonArr[0];
name = name.Replace("\"", "");
// Console.WriteLine("\"\" Filtered: " + name);
short nameID;
nameID = realPlayerName(name);
if (nameID == -1)
{
SayTo(client, "^2Player is invalid");
return;
}
SayAll(AdminClient.Get(nameID).Name + " has been kicked");
command = "clientkick " + nameID;
//AdminPluginBase.ExecuteCommand(command);
}
ExecuteCommand(command);
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
#region SplitWithQuantitative
static public string[] Split_(string expression, string delimiter,
string qualifier, bool ignoreCase)
{
bool _QualifierState = false;
int _StartIndex = 0;
System.Collections.ArrayList _Values = new System.Collections.ArrayList();
for (int _CharIndex = 0; _CharIndex < expression.Length - 1; _CharIndex++)
{
if ((qualifier != null)
& (string.Compare(expression.Substring
(_CharIndex, qualifier.Length), qualifier, ignoreCase) == 0))
{
_QualifierState = !(_QualifierState);
}
else if (!(_QualifierState) & (delimiter != null)
& (string.Compare(expression.Substring
(_CharIndex, delimiter.Length), delimiter, ignoreCase) == 0))
{
_Values.Add(expression.Substring
(_StartIndex, _CharIndex - _StartIndex));
_StartIndex = _CharIndex + 1;
}
}
if (_StartIndex < expression.Length)
_Values.Add(expression.Substring
(_StartIndex, expression.Length - _StartIndex));
string[] _returnValues = new string[_Values.Count];
_Values.CopyTo(_returnValues);
return _returnValues;
}
#endregion
#region banPerson
public void banPerson(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) >= 1)
{
if (message.Substring(3) == "n " || message.Substring(3) == "n")
{
SayTo(client, "^2Invalid parameters");
}
else
{
string command = "";
string namereason = message.Substring(5);
string[] namereasonArr = Split_(namereason, " ", "\"", true);
if (namereasonArr.Length > 1)
{
string name = namereasonArr[0];
name = name.Replace("\"", "");
// Console.WriteLine("\"\" Filtered: " + name);
short nameID;
nameID = realPlayerName(name);
if (nameID == -1)
{
SayTo(client, "^2Player is invalid");
return;
}
string reason = namereason.Substring(name.Length + 1); ;
// Console.WriteLine("Full text to output: kick \"" + name + "\" \"" + reason + "\"");
SayAll(AdminClient.Get(nameID).Name + " has been banned for reason: " + reason);
command = "tempbanclient " + nameID + " \"" + reason + "\"";
}
else
{
string name = namereasonArr[0];
name = name.Replace("\"", "");
// Console.WriteLine("\"\" Filtered: " + name);
short nameID;
nameID = realPlayerName(name);
if (nameID == -1)
{
SayTo(client, "^2Player is invalid");
return;
}
SayAll(AdminClient.Get(nameID).Name + " has been banned");
command = "tempbanclient " + nameID;
//AdminPluginBase.ExecuteCommand(command);
}
ExecuteCommand(command);
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
}
#region AdminLevelClass
public class AdminLevel
{
//#region static helpers
//private static Dictionary<long, Client> XUIDClients { get; set; }
//#endregion
//Removed isL1, isL2, isL3. Whats better is having one: isAdmin, which returns the level. If no admin is found, then the value returned is -1.
public static int IsAdmin(long xuid)
{
if (L1.Contains(xuid))
return 1;
else if (L2.Contains(xuid))
return 2;
else if (L3.Contains(xuid))
return 3;
return -1;
}
private static List<long> L1 { get; set; }
private static List<long> L2 { get; set; }
private static List<long> L3 { get; set; }
public static void UpdateAdminList()
{
L1 = new List<long>();
L2 = new List<long>();
L3 = new List<long>();
//Relocated admin.txt to be in the /plugins/adminpig folder.
if (!File.Exists("./plugins/adminpig/admin.txt"))
{
Log.Error("No admin file, quitting.");
return;
}
//Relocated admin.txt to be in the /plugins/adminpig folder.
var adminFile = File.OpenText("./plugins/adminpig/admin.txt");
while (!adminFile.EndOfStream)
{
var line = adminFile.ReadLine().Trim();
if (line == "")
{
continue;
}
//added another ignore if the line starts with //
if (line[0] == ';' || line[0] == '#' || (line[0] == '/' && line[1] == '/'))
{
continue;
}
var data = line.Split(' ');
if (data.Length != 2)
{
continue;
}
//Changed the stuff at the front to lowercase, just in case we use other things
data[0] = data[0].ToLower();
Log.Info(data.ToString());
try
{
switch (data[0])
{
case "l1":
Log.Info("Found L1 admin of XUID " + data[1] + " and a GUID of " + long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
L1.Add(long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
break;
case "l2":
Log.Info("Found L2 admin of XUID " + data[1] + " and a GUID of " + long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
L3.Add(long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
break;
case "l3":
Log.Info("Found L3 admin of XUID " + data[1] + " and a GUID of " + long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
L3.Add(long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
break;
}
}
catch (FormatException) { }
}
adminFile.Close();
}
}
#endregion
}
cuman modal copy-paste doang itu
si acong akew aheng aloy juga bisa
:llaugh:
ah sepele itu mah ..Quote:
Klo u di suruh Bikin Kaya Gini gimana Ini baru 1 Prodesur doank loh belom yang lain
Code:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using aIW;
namespace adminpig
{
public class adminpig : AdminPluginBase
{
public int i = 0;
public long[] GUIDs = new long[128];
public bool needUpdate = true;
public bool voteInProgress = false;
public int target = 0;
public int got = 0;
public string mapTarget = "mp_rust";
public long[] alreadyVoted = new long[18];
#region InArray
public static bool InArray(long[] myArray, long myObject)
{
foreach (long aObject in myArray)
{
if (aObject.ToString() == myObject.ToString())
return true;
}
return false;
}
#endregion
#region OnSay
public override EventEat OnSay(AdminClient client, string message)
{
if (message.StartsWith("!reload"))
{
needUpdate = true;
}
else if (message.StartsWith("!"))
{
Commands(message, client);
return EventEat.EatNone;
}
else if (message.StartsWith("/"))
{
Commands(message, client);
return EventEat.EatAll;
}
return EventEat.EatNone;
}
#endregion
//This function is generated every frame.
#region OnFrame
public override void OnFrame()
{
try
{
if (needUpdate)
{
AdminLevel.UpdateAdminList();
needUpdate = false;
}
}
catch (Exception e)
{
Log.Info("PigAdminError: " + Convert.ToString(e));
}
}
#endregion
#region Commands.
public void Commands(string message, AdminClient client)
{
string[] messageFirstArr = message.Split(' ');
string messageFirstStr = "";
messageFirstStr = messageFirstArr[0];
//removed the ! or / from start
messageFirstStr = messageFirstStr.Substring(1);
switch (messageFirstStr)
{
case "rcon":
RCon(message, client);
break;
//Added !say
case "say":
Say(message, client);
break;
case "kick":
kickPerson(message, client);
break;
case "map":
changeMap(message, client);
break;
case "ban":
banPerson(message, client);
break;
}
}
#endregion
#region RCon
public void RCon(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) == 3)
{
if (message.Length < 7)
{
SayTo(client, "^1Invalid Parameters.");
}
else
{
Log.Info(client.Name + " executed RCon Command: " + message.Substring(6));
ExecuteCommand(message.Substring(6));
SayTo(client, "^5Executed RCON: ^7" + message.Substring(6));
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
#region Say
public void Say(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) == 3)
{
if (message.Length < 6)
{
SayTo(client, "^1Invalid Parameters.");
}
else
{
//Executes the say command to server.
ExecuteCommand("say " + message.Substring(5));
//SayTo(client, "^2Said: ^7" + message.Substring(5));
//logs it
Log.Info(client.Name + " executed Say Command: " + message.Substring(5));
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
#region changeMap
public void changeMap(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) >= 2)
{
if (message.Length < 6)
{
SayTo(client, "^1Invalid Parameters.");
}
else
{
//Executes the say command to server.
ExecuteCommand("map " + message.Substring(5));
//SayTo(client, "^2Said: ^7" + message.Substring(5));
//logs it
Log.Info(client.Name + " changed map to: " + message.Substring(5));
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
#region partNametoclientID
public short realPlayerName(string partName)
{
// AdminPluginBase test = new aIW.AdminPluginBase();
var tempname = "";
var clients = GetClients();
foreach (var client in clients)
{
tempname = client.Name;
tempname = tempname.ToLower();
partName = partName.ToLower();
if (tempname.Contains(partName) == true)
{
return client.ClientNum;
}
}
return -1;
}
#endregion
#region KickPerson
public void kickPerson(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) >= 1)
{
if (message.Substring(4) == "k " || message.Substring(4) == "k")
{
SayTo(client, "^2Invalid parameters");
}
else
{
string command = "";
string namereason = message.Substring(6);
string[] namereasonArr = Split_(namereason, " ", "\"", true);
if (namereasonArr.Length > 1)
{
string name = namereasonArr[0];
name = name.Replace("\"", "");
// Console.WriteLine("\"\" Filtered: " + name);
short nameID;
nameID = realPlayerName(name);
if (nameID == -1)
{
SayTo(client, "^2Player is invalid");
return;
}
string reason = namereason.Substring(name.Length + 1); ;
// Console.WriteLine("Full text to output: kick \"" + name + "\" \"" + reason + "\"");
SayAll(AdminClient.Get(nameID).Name + " has been kicked for reason: " + reason);
command = "clientkick " + nameID + " \"" + reason + "\"";
}
else
{
string name = namereasonArr[0];
name = name.Replace("\"", "");
// Console.WriteLine("\"\" Filtered: " + name);
short nameID;
nameID = realPlayerName(name);
if (nameID == -1)
{
SayTo(client, "^2Player is invalid");
return;
}
SayAll(AdminClient.Get(nameID).Name + " has been kicked");
command = "clientkick " + nameID;
//AdminPluginBase.ExecuteCommand(command);
}
ExecuteCommand(command);
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
#region SplitWithQuantitative
static public string[] Split_(string expression, string delimiter,
string qualifier, bool ignoreCase)
{
bool _QualifierState = false;
int _StartIndex = 0;
System.Collections.ArrayList _Values = new System.Collections.ArrayList();
for (int _CharIndex = 0; _CharIndex < expression.Length - 1; _CharIndex++)
{
if ((qualifier != null)
& (string.Compare(expression.Substring
(_CharIndex, qualifier.Length), qualifier, ignoreCase) == 0))
{
_QualifierState = !(_QualifierState);
}
else if (!(_QualifierState) & (delimiter != null)
& (string.Compare(expression.Substring
(_CharIndex, delimiter.Length), delimiter, ignoreCase) == 0))
{
_Values.Add(expression.Substring
(_StartIndex, _CharIndex - _StartIndex));
_StartIndex = _CharIndex + 1;
}
}
if (_StartIndex < expression.Length)
_Values.Add(expression.Substring
(_StartIndex, expression.Length - _StartIndex));
string[] _returnValues = new string[_Values.Count];
_Values.CopyTo(_returnValues);
return _returnValues;
}
#endregion
#region banPerson
public void banPerson(string message, AdminClient client)
{
if (AdminLevel.IsAdmin(client.GUID) >= 1)
{
if (message.Substring(3) == "n " || message.Substring(3) == "n")
{
SayTo(client, "^2Invalid parameters");
}
else
{
string command = "";
string namereason = message.Substring(5);
string[] namereasonArr = Split_(namereason, " ", "\"", true);
if (namereasonArr.Length > 1)
{
string name = namereasonArr[0];
name = name.Replace("\"", "");
// Console.WriteLine("\"\" Filtered: " + name);
short nameID;
nameID = realPlayerName(name);
if (nameID == -1)
{
SayTo(client, "^2Player is invalid");
return;
}
string reason = namereason.Substring(name.Length + 1); ;
// Console.WriteLine("Full text to output: kick \"" + name + "\" \"" + reason + "\"");
SayAll(AdminClient.Get(nameID).Name + " has been banned for reason: " + reason);
command = "tempbanclient " + nameID + " \"" + reason + "\"";
}
else
{
string name = namereasonArr[0];
name = name.Replace("\"", "");
// Console.WriteLine("\"\" Filtered: " + name);
short nameID;
nameID = realPlayerName(name);
if (nameID == -1)
{
SayTo(client, "^2Player is invalid");
return;
}
SayAll(AdminClient.Get(nameID).Name + " has been banned");
command = "tempbanclient " + nameID;
//AdminPluginBase.ExecuteCommand(command);
}
ExecuteCommand(command);
}
}
else
{
SayTo(client, "^1You don't have ^4admin ^1access.");
}
}
#endregion
}
#region AdminLevelClass
public class AdminLevel
{
//#region static helpers
//private static Dictionary<long, Client> XUIDClients { get; set; }
//#endregion
//Removed isL1, isL2, isL3. Whats better is having one: isAdmin, which returns the level. If no admin is found, then the value returned is -1.
public static int IsAdmin(long xuid)
{
if (L1.Contains(xuid))
return 1;
else if (L2.Contains(xuid))
return 2;
else if (L3.Contains(xuid))
return 3;
return -1;
}
private static List<long> L1 { get; set; }
private static List<long> L2 { get; set; }
private static List<long> L3 { get; set; }
public static void UpdateAdminList()
{
L1 = new List<long>();
L2 = new List<long>();
L3 = new List<long>();
//Relocated admin.txt to be in the /plugins/adminpig folder.
if (!File.Exists("./plugins/adminpig/admin.txt"))
{
Log.Error("No admin file, quitting.");
return;
}
//Relocated admin.txt to be in the /plugins/adminpig folder.
var adminFile = File.OpenText("./plugins/adminpig/admin.txt");
while (!adminFile.EndOfStream)
{
var line = adminFile.ReadLine().Trim();
if (line == "")
{
continue;
}
//added another ignore if the line starts with //
if (line[0] == ';' || line[0] == '#' || (line[0] == '/' && line[1] == '/'))
{
continue;
}
var data = line.Split(' ');
if (data.Length != 2)
{
continue;
}
//Changed the stuff at the front to lowercase, just in case we use other things
data[0] = data[0].ToLower();
Log.Info(data.ToString());
try
{
switch (data[0])
{
case "l1":
Log.Info("Found L1 admin of XUID " + data[1] + " and a GUID of " + long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
L1.Add(long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
break;
case "l2":
Log.Info("Found L2 admin of XUID " + data[1] + " and a GUID of " + long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
L3.Add(long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
break;
case "l3":
Log.Info("Found L3 admin of XUID " + data[1] + " and a GUID of " + long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
L3.Add(long.Parse(data[1], System.Globalization.NumberStyles.HexNumber));
break;
}
}
catch (FormatException) { }
}
adminFile.Close();
}
}
#endregion
}
cuman modal copy-paste doang itu
si acong akew aheng aloy juga bisa
:llaugh:
SCRIPT ANAK TK !
OFFICE BOY GUA JUGA BISA
KALO CUMAN KEK GITU MAH
***** KOK DIPIARA ?
MENDING PIARA JANDA
INDEHOY ..
crut .. crut .. crut ..
kayak nya ini script dari game selain dota deh, karena setahu gw script game berbau dota baik bot atau dota sendiri ngga ada kata2 "SayTo" nya,Quote:
SayTo(client, "^1You don't have ^4admin ^1access.");
"ini sepertinya game yang identik dengan angka "4" CMIIW
@nozer : oiii dah gajian lom, klo udah jangan lupa pajak 30% setor ke gw ya,
itu punya si cybertank...
gw cupu ga paham gituan
tapi kayaknya berantakan
.......
apa memang coding kayak gitu?
:llaugh:
numpang ngakak
anjer lg jaman kloningan yeh skrg..
tp kloningan staff :phmm:
numpang mejeng.,.,.,
wah itu coding waktu gw di ajarin ama master(om gw) gw pas kelas 6 SD...
huammmmmm..
ga ada yang lebih ribet gitu codingnya..??
yang 5 ribu gitu barisnya...<<projekan 1M
ckckckckck..

