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; }