23.10.2011, 05:48
(
Last edited by GAMER_PS2; 24/10/2011 at 06:20 AM.
)
I notice this bug today.
also my friend has this problem when i gave the admin system
to him. he say he cant use any command and it maybe the admin
restoring bug. Heres The Deal on it.
Example:When you set from the .ini file the admin level to 10
it will work fine but after some 2 secs your admin level sets to 0
i have proof coz when i try to use /ban it doesnt work. on the beginning
it work but after some secs my admin level sets to 0.
ADDITIONAL FAVOR: Can anyone help me making in /warn <id> <reason>
Note: It must be in ZCMD Format to have a rep
Note: Format just like this "Administrator %s has warn %s <Reason: %s> <Warnings: %d/%d>"
ADDITIONAL FAVOR: Also Help me in Making Level 0 Name
"Member/Player"
Heres my Admin System Code:
Please help me
You will recieve 1+ rep if you help me
UPDATE: The Problem is Solved Thanks to me i solve it by myself and thanks SmiT you give me a /warn command 1+ rep to you
also my friend has this problem when i gave the admin system
to him. he say he cant use any command and it maybe the admin
restoring bug. Heres The Deal on it.
Example:When you set from the .ini file the admin level to 10
it will work fine but after some 2 secs your admin level sets to 0
i have proof coz when i try to use /ban it doesnt work. on the beginning
it work but after some secs my admin level sets to 0.
ADDITIONAL FAVOR: Can anyone help me making in /warn <id> <reason>
Note: It must be in ZCMD Format to have a rep
Note: Format just like this "Administrator %s has warn %s <Reason: %s> <Warnings: %d/%d>"
ADDITIONAL FAVOR: Also Help me in Making Level 0 Name
"Member/Player"
Heres my Admin System Code:
pawn Code:
//
// Xtreme Admin System V1.0
// Made By
// [SP]Mr.Kakashi[WP] & GAMER_PS2
// Copyright 2011 - 2016
//
#include <a_samp>
#include <YSI\y_ini>
#include <zcmd>
#include <sscanf2>
#include <XKA>
//============================================================================//
#define ADM_CHAT_LOG true //Turns off/on Saving Admin Chat!
#define SaveLogs true //Turns off/on Save Logs To The Admin Folder
#define AUTOLOGIN //Admin System Autologin Dont use it if you dont want it
//============================================================================//
enum pInfo
{
pPass,
pCash,
pScore,
pAdmin,
pKills,
Freeze,
pDeaths
};
new PlayerInfo[MAX_PLAYERS][pInfo],
pIP[MAX_PLAYERS][16],
pLogged[MAX_PLAYERS],
AdmRank[128];
forward SaveIn(filename[],text[]);
forward LoadUser_data(playerid,name[],value[]);
#define DIALOG_REGISTER 451
#define DIALOG_LOGIN 452
#define PATH "Server/Users/%s.ini"
#define REGISTERED_MONEY 5000
//============================================================================//
#define red "{FF002B}"
#define pink "{FF00D9}"
#define purple "{DFA7F2}"
#define blue "{A1C2FF}"
#define green "{3DE3B1}"
#define yellow "{FAF623}"
#define black "{69670C}"
#define orange "{F2C80C}"
#define ice "{03F2FF}"
#define white "{FFFFFF}"
#define lime "{00FF40}"
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_RED 0xFF0000FF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF99AADD
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_MEDIUMBLUE 0x63AFF00A
#define COLOR_NEUTRAL 0xABCDEF97
#define COLOR_BLACK 0x00000000
#define COLOR_NEUTRALGREEN 0x81CFAB00
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_LIGHTGREEN 0x24FF0AB9
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_BLUEGREEN 0x46BBAA00
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_RED1 0xFF0000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF
//============================================================================//
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Xtreme Administration V1.0.0 ");
print(" Made by Mr.Kakashi ");
print(" Copyright 2011 - 2016 ");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#endif
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password", PlayerInfo[playerid][pPass]);
INI_String("IP",pIP[playerid],16);
INI_Int("Cash",PlayerInfo[playerid][pCash]);
INI_Int("Score",PlayerInfo[playerid][pScore]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Kills",PlayerInfo[playerid][pKills]);
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
return 1;
}
public OnPlayerConnect(playerid)
{
pLogged[playerid] = 0;
#if defined AUTOLOGIN
new tmpIP[16];
GetPlayerIp(playerid,tmpIP,sizeof(tmpIP));
#endif
if(fexist(UserPath(playerid))) {
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
#if defined AUTOLOGIN
if(strcmp(tmpIP,pIP[playerid],true) == 0) {
pLogged[playerid] = 1;
SetPlayerScore(playerid,PlayerInfo[playerid][pScore]);
GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
if(PlayerInfo[playerid][pAdmin] >= 0)
{
switch(PlayerInfo[playerid][pAdmin])
{
case 1: AdmRank = "Trial Moderator";
case 2: AdmRank = "Moderator";
case 3: AdmRank = "Global Moderator";
case 4: AdmRank = "Trial Manager";
case 5: AdmRank = "Header Administrator";
case 6: AdmRank = "Senior Administrator";
case 7: AdmRank = "Junior Administrator";
case 8: AdmRank = "Scripter/Mapper";
case 9: AdmRank = "Co-Owner";
}
if(PlayerInfo[playerid][pAdmin] >= 10)
{
AdmRank = "Server Owner";
}
new string[128];
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
format(string,sizeof(string),"You have been automaticlly login | Level %d - %s - |",PlayerInfo[playerid][pAdmin],AdmRank);
SendClientMessage(playerid,COLOR_GREEN,string);
return 1;
}
return 1;
}
#endif
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""white"Login",""red"Note:"white"If this is not your account please leave to this account and create your own one.\n\n"white"Type your password below to login to your account","Login","Exit");
} else {
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""white"Register",""red"Note:"white"If you crash ingame your account will be save.\n\n"white"Type the password below to create new account","Register","Exit");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));
if(pLogged[playerid] == 1) {
INI_SetTag(File,"data");
INI_WriteString(File,"IP",pIP[playerid]);
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
INI_WriteInt(File,"Score",GetPlayerScore(playerid));
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
INI_Close(File);
}
pLogged[playerid] = 0;
new pname[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
switch(reason)
{
case 0: format(string, sizeof(string), "%s has left the server. (Lost Connection/Crash)", pname);
case 1: format(string, sizeof(string), "%s has left the server. (Leaving)", pname);
case 2: format(string, sizeof(string), "%s has left the server. (Kicked/Banned)", pname);
}
SendClientMessageToAll(COLOR_GREY, string);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(pLogged[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"ERROR: You must Register Before Spawning!");
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
PlayerInfo[killerid][pKills]++;
PlayerInfo[playerid][pDeaths]++;
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public SaveIn(filename[],text[])
{
#if SaveLogs == true
new File:Lfile;
new filepath[256];
new string[256];
new year,month,day;
new hour,minute,second;
getdate(year,month,day);
gettime(hour,minute,second);
format(filepath,sizeof(filepath),"Server/Logs/%s.txt",filename);
Lfile = fopen(filepath,io_append);
format(string,sizeof(string),"[%02d/%02d/%02d | %02d:%02d:%02d] %s\r\n",day,month,year,hour,minute,second,text);
fwrite(Lfile,string);
fclose(Lfile);
#endif
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTER)
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""white"Register",""red"Note:"white"If you crash ingame your account will be save.\n\n"white"Type the password below to create new account","Register","Exit");
GetPlayerIp(playerid,pIP[playerid],16);
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
#if defined AUTOLOGIN
INI_WriteString(File,"IP",pIP[playerid]);
#endif
INI_WriteInt(File,"Cash",REGISTERED_MONEY);
INI_WriteInt(File,"Score",0);
INI_Close(File);
pLogged[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "You have successfully register.");
return 1;
}
}
if(dialogid == DIALOG_LOGIN)
{
if (!response) return Kick (playerid);
if(response)
{
if(udb_hash(inputtext)) {
pLogged[playerid] = 1;
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
SendClientMessage(playerid, COLOR_GREEN, "You have successfully login to your account.");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""white"Login",""red"You have entered an incorrect password.\n"white"Type your password below to login.","Login","Exit");
}
return 1;
}
}
return 1;
}
//==========================COMMANDS==========================//
CMD:freeze(playerid, params[])
{
new victimname[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], reason[128], id;
if (PlayerInfo[playerid][pAdmin] >= 2)
{
if (sscanf(params, "rs", id, reason)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /freeze <playerid/name> <reason>");
if(!IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid)
{
GetPlayerName(id, victimname, sizeof(victimname));
GetPlayerName(playerid, adminname, sizeof(adminname));
new str[128];
if(PlayerInfo[id][Freeze] == 0)
{
format(str,128,"Administrator %s has frozen %s <Reason: %s>",adminname,victimname,reason);
SendClientMessageToAll(COLOR_RED,str);
format(str, sizeof(str), "Administrator %s has freeze you",adminname);
SendClientMessage(id,COLOR_GREEN,str);
format(str, sizeof(str), "You freeze %s <Reason: %s>",victimname,reason);
SendClientMessage(id,COLOR_GREEN,str);
TogglePlayerControllable(id,1);
format(str, sizeof(str), "Administrator %s has freeze %s",adminname,victimname);
SendToAdmins(COLOR_GREY,str);
format(str, sizeof(str), "Administrator %s has freeze %s",adminname,victimname);
printf(str);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is Already Freeze");
}
else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected or its yourself.");
}
else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 2 to use this command");
return 1;
}
CMD:unfreeze(playerid, params[])
{
new victimname[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], id;
if (PlayerInfo[playerid][pAdmin] >= 2)
{
if (sscanf(params, "rs", id)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /unfreeze <playerid/name>");
if(!IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid)
{
GetPlayerName(id, victimname, sizeof(victimname));
GetPlayerName(playerid, adminname, sizeof(adminname));
new str[128];
if(PlayerInfo[id][Freeze] == 1)
{
format(str,128,"Administrator %s has unfreeze %s",adminname,victimname);
SendClientMessageToAll(COLOR_RED,str);
format(str, sizeof(str), "Administrator %s has unfreeze you",adminname);
SendClientMessage(id,COLOR_GREEN,str);
format(str, sizeof(str), "You unfreeze %s",victimname);
SendClientMessage(id,COLOR_GREEN,str);
TogglePlayerControllable(id,0);
format(str, sizeof(str), "Administrator %s has unfreeze %s",adminname,victimname);
SendToAdmins(COLOR_GREY,str);
format(str, sizeof(str), "Administrator %s has unfreeze %s",adminname,victimname);
printf(str);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not Frozen");
}
else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected or its yourself.");
}
else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 2 to use this command");
return 1;
}
CMD:setscore(playerid, params[])
{
new string[128], pName[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], pID, score;
if(PlayerInfo[playerid][pAdmin] >= 4)
{
if(sscanf(params, "ud", pID, score)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /setscore <playerid/name> <amount>");
if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
{
GetPlayerName(playerid, adminname, sizeof(adminname));
GetPlayerName(pID, pName, sizeof(pName));
format(string, sizeof(string), "Administrator %s has set %s's score to %d", adminname,pName,score);
SendClientMessageToAll(COLOR_GREEN, string);
format(string, sizeof(string), "Administrator %s has set your score to %d", adminname, score);
SendClientMessage(pID,COLOR_GREEN, string);
format(string, sizeof(string), "You set %s's score to %d score",pName,score);
SendClientMessage(playerid,COLOR_GREEN, string);
SetPlayerScore(pID, score);
format(string, sizeof(string), "Administrator %s has set %s's Score to %d",adminname,pName,score);
SendToAdmins(COLOR_GREY,string);
format(string, sizeof(string), "Administrator %s has set %s's Score to %d",adminname,pName,score);
printf(string);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected!");
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR:You must be Administrator Level 2 to use this command");
return 1;
}
CMD:makeadmin(playerid, params[])
{
new victimname[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], admlvl, id;
new str[128];
PlayerInfo[id][pAdmin] = admlvl;
GetPlayerName(id, victimname, sizeof(victimname));
GetPlayerName(playerid, adminname, sizeof(adminname));
if(PlayerInfo[playerid][pAdmin] >= 9 || IsPlayerAdmin(playerid))
{
if (sscanf(params, "ui", id, admlvl)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /makeadmin <playerid/name> <level>");
if (id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid ID");
if (admlvl > 10 || admlvl < 0) return SendClientMessage(playerid, COLOR_RED,"ERROR: Available Admin Levels: 1-10!");
if(admlvl == PlayerInfo[id][pAdmin]) return SendClientMessage(playerid, COLOR_RED, "ERROR: That player is already in that level");
if(PlayerInfo[id][pAdmin] > admlvl) GameTextForPlayer(id, "~r~Demoted", 3000, 3);
if(PlayerInfo[id][pAdmin] < admlvl) GameTextForPlayer(id, "~g~Promoted", 3000, 3);
format(str,128,"Administrator %s has set %s Admin Level to | %i - %s |",adminname,victimname,admlvl,AdmRank);
SendClientMessage(playerid,COLOR_GREEN,str);
format(str, sizeof(str), "Administrator %s has made %s to Admin Level | %i - %s |",adminname,victimname,admlvl,AdmRank);
SendToAdmins(COLOR_GREY,str);
format(str, sizeof(str), "Administrator %s has made %s to Admin Level | %i - %s |",adminname,victimname,admlvl,AdmRank);
printf(str);
}
else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 9/10/RCON Leader to use this command");
return 1;
}
CMD:goto(playerid, params[])
{
if (PlayerInfo[playerid][pAdmin] >= 2)
{
new ID;
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /goto [playerid]");
if(IsPlayerConnected(ID) && ID != INVALID_PLAYER_ID && ID != playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(ID, x, y, z);
SetPlayerPos(playerid, x+1, y+1, z);
if(GetPlayerState(playerid) == 2)
{
SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(ID));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(ID));
}
}
else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected or its yourself.");
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
return 1;
}
CMD:showadmlvl(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
new string[128],AdminName[24],Level;
Level = PlayerInfo[playerid][pAdmin];
GetPlayerName(playerid,AdminName,128);
format(string, sizeof(string), ""white"<LEVEL>:"yellow" Administrator "red"%s "yellow"| Level %d - %s |",AdminName,Level,AdmRank);
SendClientMessageToAll(COLOR_RED,string);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 1 to use this command");
return 1;
}
CMD:get(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
new targetid, string[128];
if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /get <playerid/name>");
if(!IsPlayerConnected(targetid) && targetid != INVALID_PLAYER_ID && targetid != playerid)
{
new AdminName[24];
new pName[24];
GetPlayerName(playerid,AdminName,128);
GetPlayerName(targetid,pName,128);
format(string, sizeof(string), "You have been teleported to Administrator %s.",AdminName);
SendClientMessage(targetid,COLOR_BLUE,string);
format(string, sizeof(string), "%s has been teleport to you.",pName);
SendClientMessage(targetid,COLOR_GREEN,string);
SetPlayerInterior(targetid,GetPlayerInterior(playerid));
new Float:TPX, Float:TPY, Float:TPZ;
GetPlayerPos(playerid, TPX, TPY, TPZ);
SetPlayerPos(targetid, TPX, TPY, TPZ+1);
}
else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected or its yourself.");
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
return 1;
}
CMD:kick(playerid, params[])
{
new pid;
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(sscanf(params, "us[128]", pid, params[2])) return SendClientMessage(playerid,COLOR_RED, "USAGE: /kick <playerid/name> <reason>");
if(!IsPlayerConnected(pid) && pid != INVALID_PLAYER_ID && pid != playerid)
{
new adminname[MAX_PLAYER_NAME], paramname[MAX_PLAYER_NAME], string[180];
GetPlayerName(pid, paramname, sizeof(paramname));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string, sizeof(string), "Administrator %s has kicked %s <Reason: %s>",adminname,paramname, params[2]);
SendClientMessageToAll(COLOR_RED, string);
format(string, sizeof(string), "You have been kicked by Administrator %s <Reason: %s>", paramname, params[2]);
SendClientMessage(pid,COLOR_RED, string);
format(string, sizeof(string), "You kicked %s <Reason: %s>", paramname, params[2]);
SendClientMessage(playerid,COLOR_GREEN, string);
Kick(pid);
format(string,sizeof(string),"Administrator %s has kicked %s",adminname,paramname);
SendToAdmins(COLOR_GREY,string);
format(string, sizeof(string), "Administrator %s has kicked %s <Reason:%s>",adminname,paramname,params[2]);
printf(string);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected or its yourself.");
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
return 1;
}
CMD:jetpack(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
new adminname[MAX_PLAYER_NAME],string[180];
GetPlayerName(playerid, adminname, sizeof(adminname));
SetPlayerSpecialAction(playerid, 2);
SendClientMessage(playerid,COLOR_GREEN, "|- Jetpack Spawned! -|");
format(string,sizeof(string),"Administrator %s has spawned a jetpack!",adminname);
SendToAdmins(COLOR_GREY,string);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 1 to use this command");
return 1;
}
CMD:ban(playerid, params[])
{
new pid;
if(PlayerInfo[playerid][pAdmin] >= 3)
{
if(sscanf(params, "us[128]", pid, params[2])) return SendClientMessage(playerid,COLOR_RED, "USAGE: /ban <playerid/name> <reason>");
if(!IsPlayerConnected(pid) && pid != INVALID_PLAYER_ID && pid != playerid)
{
new adminname[MAX_PLAYER_NAME], paramname[MAX_PLAYER_NAME], string[180];
new year,month,day; getdate(year, month, day);
new hour,minuite,second; gettime(hour,minuite,second);
GetPlayerName(pid, paramname, sizeof(paramname));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string, sizeof(string), "Administrator %s has ban %s <Reason: %s> <Date: %d/%d/%d> <Time: %d:%d>",adminname,paramname, params[2],day,month,year,hour,minuite);
SendClientMessageToAll(COLOR_RED, string);
format(string, sizeof(string), "You have been ban by Administrator %s <Reason: %s>", paramname, params[2]);
SendClientMessage(pid,COLOR_RED, string);
SendClientMessage(pid,COLOR_GREEN, "==============================================");
format(string, sizeof(string), "You have been ban by Administrator %s <Reason: %s>", paramname, params[2]);
SendClientMessage(pid,COLOR_RED, string);
SendClientMessage(pid,COLOR_RED, "Make unban appeal at our forums. www.server.com");
SendClientMessage(pid,COLOR_GREEN, "==============================================");
format(string, sizeof(string), "You ban %s <Reason: %s>", paramname, params[2]);
SendClientMessage(playerid,COLOR_GREEN, string);
SaveIn("BanLog",string);
Kick(pid);
format(string,sizeof(string),"Administrator %s has banned %s",adminname,paramname);
SendToAdmins(COLOR_GREY,string);
format(string, sizeof(string), "Administrator %s has banned %s <Reason:%s>",adminname,paramname,params[2]);
printf(string);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected or its yourself.");
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
return 1;
}
CMD:clearchat(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
for(new i = 0; i < 100; i++)
SendClientMessageToAll(COLOR_GREY,"");
new string[128];
new adminname[MAX_PLAYER_NAME];
GetPlayerName(playerid, adminname, sizeof(string));
format(string, sizeof(string), "Administrator %s has cleared the chat", adminname);
SendClientMessageToAll(COLOR_RED, string);
format(string, sizeof(string), "Administrator %s has cleared the chat",adminname);
printf(string);
}
else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 2 to use this command");
return 1;
}
CMD:kill(playerid,params[])
{
SetPlayerHealth(playerid, 0);
PlayerPlaySound(playerid,1085,0.0,0.0,0.0);
PlayerInfo[playerid][pDeaths]++;
return 1;
}
CMD:suicide(playerid,params[])
{
SetPlayerHealth(playerid, 0);
PlayerPlaySound(playerid,1085,0.0,0.0,0.0);
PlayerInfo[playerid][pDeaths]++;
return 1;
}
CMD:asay(playerid, params[])
{
new string[128], pname[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(isnull(params)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /asay <text>");
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "Admin %s: "white"%s", pname, params);
SendClientMessageToAll(COLOR_RED,string);
}
else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 1 to use this command");
return 1;
}
CMD:forcerules(playerid, params[])
{
new pid;
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(sscanf(params, "us[128]", pid, params[2])) return SendClientMessage(playerid,COLOR_RED, "USAGE: /forcerules <playerid/name> <reason>");
if(!IsPlayerConnected(pid) && pid != INVALID_PLAYER_ID && pid != playerid)
{
new adminname[MAX_PLAYER_NAME], paramname[MAX_PLAYER_NAME], string[180];
GetPlayerName(pid, paramname, sizeof(paramname));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string, sizeof(string), "Administrator %s has force to read rules %s <Reason: %s>",adminname,paramname, params[2]);
SendClientMessageToAll(COLOR_RED, string);
format(string, sizeof(string), "You have been force to read rules by Administrator %s <Reason: %s>", paramname, params[2]);
SendClientMessage(pid,COLOR_RED, string);
format(string, sizeof(string), "You force to read rules %s <Reason: %s>", paramname, params[2]);
SendClientMessage(playerid,COLOR_GREEN, string);
ShowPlayerDialog(pid,3, DIALOG_STYLE_MSGBOX, "Rules:", "1.)Do Not Hack/Cheat/Mods\n2.)Respect Admins/Players\n3.)Ask To Be Admin if we are Hiring\n4.)No Insulting/Flamming\n5.)Dont AFK on Spawn Areas\n6.)Dont Team Carjack\n7.)Dont Team Kill\n\nIf you break those rules you may Punishment by Our Server Administrators", "Accept", "Ignore");
format(string,sizeof(string),"Administrator %s has force to read rules %s",adminname,paramname);
SendToAdmins(COLOR_GREY,string);
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected or its yourself.");
}
else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
return 1;
}
//============================================================================//
stock SendToAdmins(COLOR,message[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pAdmin] < 1) return 0;
SendClientMessage(i,COLOR,message);
}
return 1;
}
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
You will recieve 1+ rep if you help me
UPDATE: The Problem is Solved Thanks to me i solve it by myself and thanks SmiT you give me a /warn command 1+ rep to you