[/CODE] Admin Script -
squomp - 05.04.2012
Could somone give me a tutorial on how to make a player an admin and then make players able to /report to admins for help. the script I have now isnt working -
// report command///////////////////////////////////////////////////////
dcmd_report(playerid, params[])
{
static pName[MAX_PLAYER_NAME], aName[MAX_PLAYER_NAME], str[128], reason, iD;
if (sscanf(params, "ds", iD, reason)) return SendClientMessage(playerid, 0xAA3333AA, "Usage: /report [id] [reason]");
if (iD == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xAA3333AA, "Invalid ID.");
if (playerid == iD) return SendClientMessage(playerid, 0xAA3333AA, "You can't report yourself.");
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(iD, aName, sizeof(aName));
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
new zName[MAX_PLAYER_NAME], file[128];
GetPlayerName(i, zName, sizeof(zName));
format(file, sizeof(file), "Users\%s.ini", zName);
if (IsPlayerAdmin(i) || dini_Int(file, "AdminLevel") >= 1)
{
format(str, sizeof(str), "%s(%d) has reported %s(%d) for: %s", pName, playerid, aName, iD, reason);
SendClientMessage(i, 0xFFFFFFFF, str);
}
}
}
return 1;
}
///////////////////////////////////////////////////////////////////////////
// make admin command///////////////////////////////////////////////////
dcmd_setadmin(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new file[128];
static ID, adminLevel;
if (sscanf(params, "ii", ID, adminLevel)) return SendClientMessage(playerid, 0xAA3333AA, "Usage: /setadmin [id] [level 1-3]");
if (adminLevel > 3) return adminLevel = 3;
dini_IntSet(file, "AdminLevel", adminLevel);
return 1;
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "You do not have sufficient permissions to use this command.");
return 0;
}
}
Re: [Pawn] Admin Script -
Chris1337 - 05.04.2012
you have scriptfiles/users ?
Re: [Pawn] Admin Script -
squomp - 05.04.2012
yeah
Re: [Pawn] Admin Script -
Ezay - 05.04.2012
Can you Edit your Post to with [/CODE] Tags,
Cheers
Ezay
\o/
Re: [Pawn] Admin Script -
squomp - 05.04.2012
never mind guys ill just use rcon admin
Re: [Pawn] Admin Script -
$$inSane - 05.04.2012
if you need a admin system.. then visit:
https://sampforum.blast.hk/showthread.php?tid=120724 - Lux Admin by lukurion
https://sampforum.blast.hk/showthread.php?tid=19819p - Ladmin4v2 by lethal
Some of the best admin systems..
Re: [Pawn] Admin Script -
DarkScripter - 05.04.2012
Put is in top in you script
pawn Код:
new iAdmin[MAX_PLAYERS char];
#define SetAdmin(%0,%2) iAdmin{%0} = %2
#define IsAdminLevel(%0) iAdmin{%0}
#define IsAdmin(%0) IsAdminLevel(%0) != 0
#define ResetAdmin(%0) iAdmin{%0} = 0
Put is in finale of script
pawn Код:
/* Stock's Functions */
stock GetNick(p)
{
static
Nom[24]
;
GetPlayerName(p, Nom, 24);
return Nom;
}
The Commands!
pawn Код:
dcmd_report(playerid, params[])
{
static pid, reason[32];
if(sscanf(params, "us", pid, reason))
return SendClientMessage(playerid, 0xAA3333AA, "Usage: /report [id] [reason]");
if(!IsPlayerConnected(pid) || playerid == pid || pid < 0 || strlen(reason) < 3)
return SendClientMessage(playerid, 0xAA3333AA, "Invalid use, Try again.");
new
str[128]
;
for(new i, e = GetMaxPlayers(); i != e; ++i){
if(IsPlayerConnected(i) && IsAdmin(i)){
format(str, sizeof(str), "%s(%d) has reported %s(%d) for: %s", GetNick(playerid), playerid, GetNick(pid), pid, reason);
SendClientMessage(i, -1, str);
}
}
return true;
}
dcmd_setadmin(playerid, params[])
{
if(IsAdminLevel(playerid) < 5)
return SendClientMessage(playerid, 0xAA3333AA, "You no have permission");
static
id,
level
;
if(sscanf(params, "ui", id, level))
return SendClientMessage(playerid, 0xAA3333AA, "Usage: /setadmin [id] [level]");
if(!IsPlayerConnected(id) || id < 0 || level < 0)
return SendClientMessage(playerid, 0xAA3333AA, "Invalid use, Try again.");
new
str[128]
;
SetAdmin(id, level);
format(str, sizeof(str),"%s(%d) has seted you level to %d", GetNick(playerid), playerid, level); SendClientMessage(id, -1, str);
format(str, sizeof(str),"You setted level of %s(%d) to %d", GetNick(id), id, level); SendClientMessage(playerid, -1, str);
return true;
}
Using the new funcions
pawn Код:
// Reset player admin (put is in OnPlayerConnect or OnPlayerDisconnect)
ResetAdmin(playerid);
// Set Player admin
SetAdmin(playerid, 5);
// check's player admin
if(IsAdmin(playerid))
{
print("IsAdmin");
}
// check player has 4 level admin
if(IsAdminLevel(playerid) == 4)
{
printf("Her has 4 level is admin");
}
Credits: DarkScripter.
Re: [Pawn] Admin Script -
ViruZz - 05.04.2012
Here did it for you as this is really annoying lol.
pawn Код:
// report command///////////////////////////////////////////////////////
dcmd_report(playerid, params[])
{
static pName[MAX_PLAYER_NAME], aName[MAX_PLAYER_NAME], str[128], reason, iD;
if (sscanf(params, "ds", iD, reason)) return SendClientMessage(playerid, 0xAA3333AA, "Usage: /report [id] [reason]");
if (iD == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xAA3333AA, "Invalid ID.");
if (playerid == iD) return SendClientMessage(playerid, 0xAA3333AA, "You can't report yourself.");
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(iD, aName, sizeof(aName));
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
new zName[MAX_PLAYER_NAME], file[128];
GetPlayerName(i, zName, sizeof(zName));
format(file, sizeof(file), "Users\%s.ini", zName);
if (IsPlayerAdmin(i) || dini_Int(file, "AdminLevel") >= 1)
{
format(str, sizeof(str), "%s(%d) has reported %s(%d) for: %s", pName, playerid, aName, iD, reason);
SendClientMessage(i, 0xFFFFFFFF, str);
}
}
}
return 1;
}
///////////////////////////////////////////////////////////////////////////
// make admin command///////////////////////////////////////////////////
dcmd_setadmin(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new file[128];
static ID, adminLevel;
if (sscanf(params, "ii", ID, adminLevel)) return SendClientMessage(playerid, 0xAA3333AA, "Usage: /setadmin [id] [level 1-3]");
if (adminLevel > 3) return adminLevel = 3;
dini_IntSet(file, "AdminLevel", adminLevel);
return 1;
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "You do not have sufficient permissions to use this command.");
return 0;
}
}
Re: [Pawn] Admin Script -
Ezay - 05.04.2012
@ViruZz
Cheers
.
Its Pretty Annoying xD
@Darkscripter
Nice
Re: [Pawn] Admin Script -
squomp - 05.04.2012
thanks guys