TabAdmin v2
TabAdmin v2
#include <a_samp>
#define FILTERSCRIPT
#define DIALOG_BASEADMIN 1
/*
#define DIALOG_AKICK 2
#define DIALOG_ABAN 3
*/
#define DIALOG_ASTATS 4
#define DIALOG_ADMIN 5
#define VERSION 2
new ChosenPlayerID[MAX_PLAYERS];
enum PlayerStatistics
{
Warnings,
SecondsConnected,
MinutesConnected,
HoursConnected,
};
new Player[MAX_PLAYERS][PlayerStatistics];
public OnFilterScriptInit()
{
SetTimer("TTP", 1000, true);
forward TTP();
forward KickTimer(playerid);
forward BanTimer(playerid);
forward RestartTimer();
public RestartTimer()
{
SendRconCommand("gmx");
}
public KickTimer(playerid)
{
Kick(ChosenPlayerID[playerid]);
ChosenPlayerID[playerid] = 0;
}
public BanTimer(playerid)
{
Ban(ChosenPlayerID[playerid]);
ChosenPlayerID[playerid] = 0;
}
public TTP()
{
for(new i=0; i < MAX_PLAYERS; i++)
{
if(Player[i][SecondsConnected] < 60)
{
Player[i][SecondsConnected] += 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
Player[playerid][Warnings] = 0;
}
main()
{
case 10:
{
switch(listitem)
{
case 0:
{
new string[255];
GetPlayerName(playerid, PlayerName,
sizeof(PlayerName));
format(string, sizeof(string), "ADMIN %s: The
server will restart in 15 seconds.");
SetTimer("RestartTimer", 15000, false);
}
}
}
case 11:
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, -1, "You've given
yourself a {E8253C}Minigun{FFFFFF}.");
GivePlayerWeapon(playerid, 38, 9999);
}
case 1:
{
SendClientMessage(playerid, -1, "You've given
yourself a {E8253C}Desert Eagle{FFFFFF}.");
GivePlayerWeapon(playerid, 24, 9999);
}
case 2:
{
SendClientMessage(playerid, -1, "You've given
yourself a {E8253C}Minigun{FFFFFF}.");
GivePlayerWeapon(playerid, 35, 9999);
}
case 3:
{
SendClientMessage(playerid, -1, "You've given
yourself an {E8253C}M4{FFFFFF}.");
GivePlayerWeapon(playerid, 31, 9999);
}
}
}
case 12:
{
switch(listitem)
{
case 0:
{
GivePlayerMoney(playerid, 10000);
SendClientMessage(playerid, GREY, "You have given
yourself $10,000");
}
case 1:
{
GivePlayerMoney(playerid, 25000);
SendClientMessage(playerid, GREY, "You have given
yourself $25,000");
}
case 2:
{
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, GREY, "You have given
yourself $50,000");
}
}
}
case 1:
{
switch(listitem)
{
case 0:
{
for(new i=0; i < MAX_PLAYERS; i++)
{
GetPlayerName(ChosenPlayerID[playerid],
PlayerName, sizeof(PlayerName));
GetPlayerName(playerid, APlayerName,
sizeof(APlayerName));
format(nameString, sizeof(nameString), "ADMIN
%s: has kicked %s off the server.", APlayerName, PlayerName);
SendClientMessage(i, LIGHTRED, nameString);
SetTimerEx("KickTimer", 1000, false, "i",
playerid);
}
}
case 1:
{
for(new i=0; i < MAX_PLAYERS; i++)
{
GetPlayerName(ChosenPlayerID[playerid],
PlayerName, sizeof(PlayerName));
GetPlayerName(playerid, APlayerName,
sizeof(APlayerName));
format(nameString, sizeof(nameString), "ADMIN
%s: has banned %s off the server.", APlayerName, PlayerName);
SendClientMessage(i, LIGHTRED, nameString);
SetTimerEx("KickTimer", 1000, false, "i",
playerid);
}
}
case 2:
{
new string[255];
format(string, sizeof(string), "Total time
played: %d hours, %d minutes, %d seconds\nMoney: $%d\nScore: %d\nPing: %d",
Player[ChosenPlayerID[playerid]][HoursConnected], Player[ChosenPlayerID[playerid]]
[MinutesConnected], Player[ChosenPlayerID[playerid]][SecondsConnected],
GetPlayerMoney(ChosenPlayerID[playerid]), GetPlayerScore(ChosenPlayerID[playerid]),
GetPlayerPing(ChosenPlayerID[playerid]));
ShowPlayerDialog(playerid, DIALOG_ASTATS,
DIALOG_STYLE_MSGBOX, "Statistics", string, "Close", "Close");
}
case 3:
{
if(Player[ChosenPlayerID[playerid]][Warnings] <
2)
{
new string[255];
GetPlayerName(ChosenPlayerID[playerid], PlayerName,
sizeof(PlayerName));
GetPlayerName(playerid, APlayerName,
sizeof(APlayerName));
Player[ChosenPlayerID[playerid]]
[Warnings] += 1;
format(string, sizeof(string), "You have
warned %s", PlayerName);
return 1;
}