07.02.2013, 17:36
Hello guys! this is tutorial how to make admin script!
First go to Pawno>File>New and Delete everything in there!
then add this code at top of the script:
after define the Admin function:
after make the admin command. Add the following to the OnPlayerCommandText callback.
NOTE: This requires ReturnUser, strtok and IsNumeric!
And final Touch: we need to make sure that when a player connects, he doesn't get any admin level!
code here:
Works? "Rep+" please!
-----------------------------------------
Strtok Code Here:
"Rep+" Please!
First go to Pawno>File>New and Delete everything in there!
then add this code at top of the script:
Код:
#include <a_samp>
Код:
enum Info
{
AdminLevel,
}
new PlayerInfo[MAX_PLAYERS][Info];
Код:
new cmd[256], idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/makeadmin", true) == 0)
{
new string[128];
new tmp[256];
new player[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
new giveplayerid;
if (IsPlayerAdmin(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USAGE: /makeadmin [playerid] [level]");
SendClientMessage(playerid, ORANGE, "FUNCTION: Player will be an admin.");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
new level = strval(tmp);
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, player, sizeof(player));
PlayerInfo[giveplayerid][AdminLevel] = level;
printf("Admin %s made %s a level %d admin.", player, giveplayer, level);
format(string, sizeof(string), "You are now an administrator level %d thanks to %s.", level, player);
SendClientMessage(giveplayerid, 0x00C2ECFF, string);
format(string, sizeof(string), "You have given %s level %d admin.", giveplayer,PlayerInfo[giveplayerid][AdminLevel]);
SendClientMessage(playerid, 0x00C2ECFF, string);
}
else if(giveplayerid == INVALID_PLAYER_ID)
{
format(string, sizeof(string), "%i is not an active player.", giveplayerid);
SendClientMessage(playerid, 0xE60000FF, string);
}
}
else
{
SendClientMessage(playerid, 0xE60000FF, "You are not a lead admin!");
}
return 1;
}
And final Touch: we need to make sure that when a player connects, he doesn't get any admin level!
code here:
Код:
OnPlayerConnect(playerid)
{
PlayerInfo[playerid][AdminLevel] = 0;
return 1;
}
-----------------------------------------
Strtok Code Here:
Код:
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}



because this need registration / login script for save this!