05.04.2012, 05:49
(
Последний раз редактировалось squomp; 05.04.2012 в 06:59.
)
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;
}
}
// 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;
}
}