Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*===================================================================================================*\
- ||===================================================================================================||
- || ________ ________ ___ _ ______ ______ ________ ||
- || \ | _____| | ____ | | \ | | | _ \ | _ \ | ____ | / ||
- || ======== \ | |_____ | |____| | | |\ \ | | | | | | | |_| / | |____| | / ======== ||
- || | | _____ | | ____ | | | \ \| | | | | | | _ \ | ____ | | ||
- || ======== / ______| | | | | | | | \ \ | | |_| | | | \ \ | | | | \ ======== ||
- || / |________| |_| |_| |_| \__| |______/ |_| \_| |_| |_| \ ||
- || ||
- ||===================================================================================================||
- || Created on the 26th of May 2008 by =>Sandra<= ||
- || Do NOT remove any credits!! ||
- \*===================================================================================================*/
- #include <a_samp>
- //Defines:
- new configplayer = INVALID_PLAYER_ID;
- new configplayername[MAX_PLAYER_NAME];
- new Frozen[MAX_PLAYERS];
- new Muted[MAX_PLAYERS];
- new admin;
- //Menu-defines:
- new Menu:MainMenu;
- new Menu:HealthMenu;
- new Menu:ArmourMenu;
- new Menu:MoneyMenu;
- new Menu:ScoreMenu;
- new Menu:OtherMenu;
- public OnFilterScriptInit()
- {
- MainMenu = CreateMenu("PlayerConfig:", 1, 200, 150, 240, 0.0);
- AddMenuItem(MainMenu, 0, "Health");
- AddMenuItem(MainMenu, 0, "Armour");
- AddMenuItem(MainMenu, 0, "Money");
- AddMenuItem(MainMenu, 0, "Score");
- AddMenuItem(MainMenu, 0, "Other");
- AddMenuItem(MainMenu, 0, "Close");
- HealthMenu = CreateMenu("PlayerHealth:", 1, 200, 150, 240, 0.0);
- AddMenuItem(HealthMenu, 0, "+10");
- AddMenuItem(HealthMenu, 0, "+1");
- AddMenuItem(HealthMenu, 0, "-1");
- AddMenuItem(HealthMenu, 0, "-10");
- AddMenuItem(HealthMenu, 0, "Full Health");
- AddMenuItem(HealthMenu, 0, "Kill Player");
- AddMenuItem(HealthMenu, 0, "Back");
- ArmourMenu = CreateMenu("PlayerArmour:", 1, 200, 150, 240, 0.0);
- AddMenuItem(ArmourMenu, 0, "+10");
- AddMenuItem(ArmourMenu, 0, "+1");
- AddMenuItem(ArmourMenu, 0, "-1");
- AddMenuItem(ArmourMenu, 0, "-10");
- AddMenuItem(ArmourMenu, 0, "Full Armour");
- AddMenuItem(ArmourMenu, 0, "Remove Armour");
- AddMenuItem(ArmourMenu, 0, "Back");
- MoneyMenu = CreateMenu("PlayerMoney:", 1, 200, 150, 240, 0.0);
- AddMenuItem(MoneyMenu, 0, "+10000");
- AddMenuItem(MoneyMenu, 0, "+1000");
- AddMenuItem(MoneyMenu, 0, "+100");
- AddMenuItem(MoneyMenu, 0, "+10");
- AddMenuItem(MoneyMenu, 0, "-10");
- AddMenuItem(MoneyMenu, 0, "-100");
- AddMenuItem(MoneyMenu, 0, "-1000");
- AddMenuItem(MoneyMenu, 0, "-10000");
- AddMenuItem(MoneyMenu, 0, "Reset Money");
- AddMenuItem(MoneyMenu, 0, "Back");
- ScoreMenu = CreateMenu("PlayerScore:", 1, 200, 150, 240, 0.0);
- AddMenuItem(ScoreMenu, 0, "+10");
- AddMenuItem(ScoreMenu, 0, "+1");
- AddMenuItem(ScoreMenu, 0, "-1");
- AddMenuItem(ScoreMenu, 0, "-10");
- AddMenuItem(ScoreMenu, 0, "Reset Score");
- AddMenuItem(ScoreMenu, 0, "Back");
- OtherMenu = CreateMenu("Other Options:", 1, 200, 150, 240, 0.0);
- AddMenuItem(OtherMenu, 0, "Kick Player");
- AddMenuItem(OtherMenu, 0, "Ban Player");
- AddMenuItem(OtherMenu, 0, "(Un)Mute Player");
- AddMenuItem(OtherMenu, 0, "(Un)Freeze Player");
- AddMenuItem(OtherMenu, 0, "Back");
- print("--------------------------------------");
- print(" PlayerAdministration by =>Sandra<= ");
- print("--------------------------------------");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(playerid == configplayer)
- {
- GameTextForPlayer(admin, "~r~Configuraion stopped: ~n~Player has left the server", 5000, 4);
- HideMenuForPlayer(GetPlayerMenu(admin), admin);
- configplayer = INVALID_PLAYER_ID;
- }
- Frozen[playerid] = 0;
- Muted[playerid] = 0;
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(Muted[playerid] == 1)
- {
- SendClientMessage(playerid, 0xFF0000AA, "You can't chat because you are muted!");
- return 0;
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256], tmp[256], str[128], idx;
- cmd = strtok(cmdtext, idx);
- if(strcmp("/playerconfig", cmd, true) == 0)
- {
- if(!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, 0xFF8C00AA, "This command is only for rcon-admins!");
- return 1;
- }
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, 0xFF8C00AA, "USAGE: /playerconfig [playerid]");
- return 1;
- }
- configplayer = strval(tmp);
- if(!IsPlayerConnected(configplayer))
- {
- format(str, 128, "Player #%d is not connected!", configplayer);
- SendClientMessage(playerid, 0xFF8C00AA, str);
- configplayer = INVALID_PLAYER_ID;
- return 1;
- }
- GetPlayerName(configplayer, configplayername, 24);
- TogglePlayerControllable(playerid, 0);
- admin = playerid;
- format(str, 128, "Configuring %s:", configplayername);
- SetMenuColumnHeader(MainMenu, 0, str);
- ShowMenuForPlayer(MainMenu, playerid);
- return 1;
- }
- return 0;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- new Menu:Current;
- Current = GetPlayerMenu(playerid);
- if(Current == MainMenu)
- {
- switch(row)
- {
- case 0:
- {
- new Float:Health, str[128];
- GetPlayerHealth(configplayer, Health);
- format(str, 128, "Current Health: %d", floatround(Health));
- SetMenuColumnHeader(HealthMenu, 0, str);
- ShowMenuForPlayer(HealthMenu, playerid);
- }
- case 1:
- {
- new Float:Armour, str[128];
- GetPlayerArmour(configplayer, Armour);
- format(str, 128, "Current Armour: %d", floatround(Armour));
- SetMenuColumnHeader(ArmourMenu, 0, str);
- ShowMenuForPlayer(ArmourMenu, playerid);
- }
- case 2:
- {
- new Money, str[128];
- GetPlayerMoney(configplayer);
- format(str, 128, "Current Money: $%d", Money);
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 3:
- {
- new Score, str[128];
- GetPlayerScore(configplayer);
- format(str, 128, "Current Score: %d", Score);
- SetMenuColumnHeader(ScoreMenu, 0, str);
- ShowMenuForPlayer(ScoreMenu, playerid);
- }
- case 4:
- {
- ShowMenuForPlayer(OtherMenu, playerid);
- }
- case 5:
- {
- TogglePlayerControllable(playerid, 1);
- configplayer = INVALID_PLAYER_ID;
- }
- }
- }
- if(Current == HealthMenu)
- {
- switch(row)
- {
- case 0:
- {
- new Float:Health, str[128];
- GetPlayerHealth(configplayer, Health);
- Health = Health+10;
- SetPlayerHealth(configplayer, Health);
- format(str, 128, "Current Health: %.0f", Health);
- SetMenuColumnHeader(HealthMenu, 0, str);
- ShowMenuForPlayer(HealthMenu, playerid);
- }
- case 1:
- {
- new Float:Health, str[128];
- GetPlayerHealth(configplayer, Health);
- Health = Health+1;
- SetPlayerHealth(configplayer, Health);
- format(str, 128, "Current Health: %.0f", Health);
- SetMenuColumnHeader(HealthMenu, 0, str);
- ShowMenuForPlayer(HealthMenu, playerid);
- }
- case 2:
- {
- new Float:Health, str[128];
- GetPlayerHealth(configplayer, Health);
- Health = Health-1;
- SetPlayerHealth(configplayer, Health);
- format(str, 128, "Current Health: %.0f", Health);
- SetMenuColumnHeader(HealthMenu, 0, str);
- ShowMenuForPlayer(HealthMenu, playerid);
- }
- case 3:
- {
- new Float:Health, str[128];
- GetPlayerHealth(configplayer, Health);
- Health = Health-10;
- SetPlayerHealth(configplayer, Health);
- format(str, 128, "Current Health: %.0f", Health);
- SetMenuColumnHeader(HealthMenu, 0, str);
- ShowMenuForPlayer(HealthMenu, playerid);
- }
- case 4:
- {
- SetPlayerHealth(configplayer, 100.0);
- SetMenuColumnHeader(HealthMenu, 0, "Current Health: 100");
- ShowMenuForPlayer(HealthMenu, playerid);
- }
- case 5:
- {
- SetPlayerHealth(configplayer, 0.0);
- SetMenuColumnHeader(HealthMenu, 0, "Current Health: 0");
- ShowMenuForPlayer(HealthMenu, playerid);
- }
- case 6:
- {
- new str[128];
- format(str, 128, "Configuring %s:", configplayername);
- SetMenuColumnHeader(MainMenu, 0, str);
- ShowMenuForPlayer(MainMenu, playerid);
- }
- }
- }
- if(Current == ArmourMenu)
- {
- switch(row)
- {
- case 0:
- {
- new Float:Armour, str[128];
- GetPlayerArmour(configplayer, Armour);
- Armour = Armour+10;
- SetPlayerArmour(configplayer, Armour);
- format(str, 128, "Current Armour: %.0f", Armour);
- SetMenuColumnHeader(ArmourMenu, 0, str);
- ShowMenuForPlayer(ArmourMenu, playerid);
- }
- case 1:
- {
- new Float:Armour, str[128];
- GetPlayerArmour(configplayer, Armour);
- Armour = Armour+1;
- SetPlayerArmour(configplayer, Armour);
- format(str, 128, "Current Armour: %.0f", Armour);
- SetMenuColumnHeader(ArmourMenu, 0, str);
- ShowMenuForPlayer(ArmourMenu, playerid);
- }
- case 2:
- {
- new Float:Armour, str[128];
- GetPlayerArmour(configplayer, Armour);
- Armour = Armour-1;
- SetPlayerArmour(configplayer, Armour);
- format(str, 128, "Current Armour: %.0f", Armour);
- SetMenuColumnHeader(ArmourMenu, 0, str);
- ShowMenuForPlayer(ArmourMenu, playerid);
- }
- case 3:
- {
- new Float:Armour, str[128];
- GetPlayerArmour(configplayer, Armour);
- Armour = Armour-10;
- SetPlayerArmour(configplayer, Armour);
- format(str, 128, "Current Armour: %.0f", Armour);
- SetMenuColumnHeader(ArmourMenu, 0, str);
- ShowMenuForPlayer(ArmourMenu, playerid);
- }
- case 4:
- {
- SetPlayerArmour(configplayer, 100.0);
- SetMenuColumnHeader(ArmourMenu, 0, "Current Armour: 100");
- ShowMenuForPlayer(ArmourMenu, playerid);
- }
- case 5:
- {
- SetPlayerArmour(configplayer, 0.0);
- SetMenuColumnHeader(ArmourMenu, 0, "Current Armour: 0");
- ShowMenuForPlayer(ArmourMenu, playerid);
- }
- case 6:
- {
- new str[128];
- format(str, 128, "Configuring %s:", configplayername);
- SetMenuColumnHeader(MainMenu, 0, str);
- ShowMenuForPlayer(MainMenu, playerid);
- }
- }
- }
- if(Current == MoneyMenu)
- {
- switch(row)
- {
- case 0:
- {
- new str[128];
- GivePlayerMoney(configplayer, 10000);
- format(str, 128, "Current Money: $%d", GetPlayerMoney(configplayer));
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 1:
- {
- new str[128];
- GivePlayerMoney(configplayer, 1000);
- format(str, 128, "Current Money: $%d", GetPlayerMoney(configplayer));
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 2:
- {
- new str[128];
- GivePlayerMoney(configplayer, 100);
- format(str, 128, "Current Money: $%d", GetPlayerMoney(configplayer));
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 3:
- {
- new str[128];
- GivePlayerMoney(configplayer, 10);
- format(str, 128, "Current Money: $%d", GetPlayerMoney(configplayer));
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 4:
- {
- new str[128];
- GivePlayerMoney(configplayer, -10);
- format(str, 128, "Current Money: $%d", GetPlayerMoney(configplayer));
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 5:
- {
- new str[128];
- GivePlayerMoney(configplayer, -100);
- format(str, 128, "Current Money: $%d", GetPlayerMoney(configplayer));
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 6:
- {
- new str[128];
- GivePlayerMoney(configplayer, -1000);
- format(str, 128, "Current Money: $%d", GetPlayerMoney(configplayer));
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 7:
- {
- new str[128];
- GivePlayerMoney(configplayer, -10000);
- format(str, 128, "Current Money: $%d", GetPlayerMoney(configplayer));
- SetMenuColumnHeader(MoneyMenu, 0, str);
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 8:
- {
- ResetPlayerMoney(configplayer);
- SetMenuColumnHeader(MoneyMenu, 0, "Current Money: $0");
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 9:
- {
- new str[128];
- format(str, 128, "Configuring %s:", configplayername);
- SetMenuColumnHeader(MainMenu, 0, str);
- ShowMenuForPlayer(MainMenu, playerid);
- }
- }
- }
- if(Current == ScoreMenu)
- {
- switch(row)
- {
- case 0:
- {
- new str[128];
- SetPlayerScore(configplayer, (GetPlayerScore(configplayer)+10));
- format(str, 128, "Current Score: %d", GetPlayerScore(configplayer));
- SetMenuColumnHeader(ScoreMenu, 0, str);
- ShowMenuForPlayer(ScoreMenu, playerid);
- }
- case 1:
- {
- new str[128];
- SetPlayerScore(configplayer, (GetPlayerScore(configplayer)+1));
- format(str, 128, "Current Score: %d", GetPlayerScore(configplayer));
- SetMenuColumnHeader(ScoreMenu, 0, str);
- ShowMenuForPlayer(ScoreMenu, playerid);
- }
- case 2:
- {
- new str[128];
- SetPlayerScore(configplayer, (GetPlayerScore(configplayer)-1));
- format(str, 128, "Current Score: %d", GetPlayerScore(configplayer));
- SetMenuColumnHeader(ScoreMenu, 0, str);
- ShowMenuForPlayer(ScoreMenu, playerid);
- }
- case 3:
- {
- new str[128];
- SetPlayerScore(configplayer, (GetPlayerScore(configplayer)-10));
- format(str, 128, "Current Score: %d", GetPlayerScore(configplayer));
- SetMenuColumnHeader(ScoreMenu, 0, str);
- ShowMenuForPlayer(ScoreMenu, playerid);
- }
- case 4:
- {
- SetPlayerScore(configplayer, 0);
- SetMenuColumnHeader(MoneyMenu, 0, "Current Score: 0");
- ShowMenuForPlayer(MoneyMenu, playerid);
- }
- case 5:
- {
- new str[128];
- format(str, 128, "Configuring %s:", configplayername);
- SetMenuColumnHeader(MainMenu, 0, str);
- ShowMenuForPlayer(MainMenu, playerid);
- }
- }
- }
- if(Current == OtherMenu)
- {
- switch(row)
- {
- case 0: //Kick Player
- {
- new str[128];
- new Aname[24];
- GetPlayerName(playerid, Aname, 24);
- format(str, 128, "You are kicked from this server by Admin '%s'", Aname);
- SendClientMessage(configplayer, 0xFF0000AA, str);
- Kick(configplayer);
- format(str, 128, "'%s' is kicked from this server by admin '%s'", configplayername, Aname);
- SendClientMessageToAllEx(configplayer, 0xFF8C00AA, str);
- configplayer = INVALID_PLAYER_ID;
- GameTextForPlayer(playerid, "~r~Player Kicked!", 4000, 4);
- TogglePlayerControllable(playerid, 1);
- }
- case 1: //Ban Player
- {
- new str[128];
- new Aname[24];
- GetPlayerName(playerid, Aname, 24);
- format(str, 128, "You are banned from this server by Admin '%s'", Aname);
- SendClientMessage(configplayer, 0xFF0000AA, str);
- Ban(configplayer);
- format(str, 128, "'%s' is banned from this server by admin '%s'", configplayername, Aname);
- SendClientMessageToAllEx(configplayer, 0xFF8C00AA, str);
- configplayer = INVALID_PLAYER_ID;
- GameTextForPlayer(playerid, "~r~Player Banned!", 4000, 4);
- TogglePlayerControllable(playerid, 1);
- }
- case 2: //Mute Player
- {
- if(Muted[configplayer] == 0)
- {
- new str[128];
- new Aname[24];
- GetPlayerName(playerid, Aname, 24);
- format(str, 128, "You are muted by Admin '%s'. You can't chat till you're unmuted again.", Aname);
- SendClientMessage(configplayer, 0xFF0000AA, str);
- Muted[configplayer] = 1;
- format(str, 128, "'%s' is muted by admin '%s'", configplayername, Aname);
- SendClientMessageToAllEx(configplayer, 0xFF8C00AA, str);
- }
- else if(Muted[configplayer] == 1)
- {
- new str[128];
- new Aname[24];
- GetPlayerName(playerid, Aname, 24);
- format(str, 128, "You are unmuted by Admin '%s'. You can't chat till you're unmuted again.", Aname);
- SendClientMessage(configplayer, 0x7CFC00AA, str);
- Muted[configplayer] = 0;
- format(str, 128, "'%s' is unmuted by admin '%s'", configplayername, Aname);
- SendClientMessageToAllEx(configplayer, 0x7CFC00AA, str);
- }
- new str[128];
- format(str, 128, "Configuring %s:", configplayername);
- SetMenuColumnHeader(MainMenu, 0, str);
- ShowMenuForPlayer(MainMenu, playerid);
- }
- case 3: //Freeze Player
- {
- if(Frozen[configplayer] == 0)
- {
- new str[128];
- new Aname[24];
- GetPlayerName(playerid, Aname, 24);
- format(str, 128, "You are frozen by Admin '%s'.", Aname);
- SendClientMessage(configplayer, 0xFF0000AA, str);
- TogglePlayerControllable(configplayer, 0);
- Frozen[configplayer] = 1;
- format(str, 128, "'%s' is frozen by admin '%s'", configplayername, Aname);
- SendClientMessageToAllEx(configplayer, 0xFF8C00AA, str);
- }
- else if(Frozen[configplayer] == 1)
- {
- new str[128];
- new Aname[24];
- GetPlayerName(playerid, Aname, 24);
- format(str, 128, "You are unfrozen by Admin '%s'.", Aname);
- SendClientMessage(configplayer, 0x7CFC00AA, str);
- TogglePlayerControllable(configplayer, 1);
- Frozen[configplayer] = 0;
- format(str, 128, "'%s' is unfrozen by admin '%s'", configplayername, Aname);
- SendClientMessageToAllEx(configplayer, 0x7CFC00AA, str);
- }
- new str[128];
- format(str, 128, "Configuring %s:", configplayername);
- SetMenuColumnHeader(MainMenu, 0, str);
- ShowMenuForPlayer(MainMenu, playerid);
- }
- }
- }
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- 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;
- }
- stock SendClientMessageToAllEx(exeption, color, const message[])
- {
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(i != exeption)
- {
- SendClientMessage(i, color, message);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement