Admin Slash

Pluginuri pentru modul AmxModX.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
GYUKY
Fost administrator
Fost administrator
Posts: 9280
Joined: 07 Apr 2008, 10:19
Detinator Steam: Da
CS Status: INACTIV !
Reputatie: Fost administrator
Membru Club eXtreamCS
Location: Germania
Has thanked: 193 times
Been thanked: 1156 times

09 Aug 2008, 01:00

» Descriere : Puteti da slap/slay/kick/ban din chat :) !
» Download :
| Afiseaza codul
/*
*	AMXMOD script.
*	(plugin_slash.sma)
*	by mike_cao <[email protected]>
*	This file is provided as is (no warranties).
*
*	This plugin allows admins to execute amx commands
*	using 'say' and a slash '/'. It can also execute
*	a command on all players or a team using '@all' and
*	'@team' in place of the authid/nick parameter.
*
*	Examples:
*	To kick a player type '/kick playername'
*	To kick all players type '/kick @all'
*	To kick all players on a team type '/kick @team:TEAMID'
*	To ban all players for 10 minutes, type '/ban 10 @all'
*
*	Additional Commands:
*	Includes an IRC style '/me' command. If you say
*	'/me sucks', it'll replace the '/me' with your name
*	and print it to everyone.
*	
*	Includes a '/getteam' command in case you need to find
*	the teamid for a player.
*
*	Important: place this plugin at the bottom of your plugins.ini file so it doesn't interfere with other plugin that may use the '/'.
*
*/ 

#include <amxmodx>

#define MAX_NAME_LENGTH 32
#define MAX_TEXT_LENGTH 192
#define MAX_PLAYERS 32

public admin_slash(id)
{
	new sName[MAX_NAME_LENGTH+1]
	new sArg[MAX_NAME_LENGTH+1]
	read_argv(1,sArg,MAX_NAME_LENGTH)

	// Check for '/' char
	if ( sArg[0] == '/' ) {
		new sCommand[MAX_TEXT_LENGTH+1]
		new sMessage[MAX_TEXT_LENGTH+1]
		new sTemp[MAX_TEXT_LENGTH+1]

		// Get data
		read_args(sMessage,MAX_TEXT_LENGTH)
		remove_quotes(sMessage)
		replace(sMessage,MAX_TEXT_LENGTH,"/","")
		
		// For all players
		if ( containi(sMessage,"@all") != -1 ) {
			new iPlayers[MAX_PLAYERS], iNumPlayers
			get_players(iPlayers,iNumPlayers)
		
			for (new i = 0; i < iNumPlayers; i++) {
				get_user_name(iPlayers,sName,MAX_NAME_LENGTH)
				copy(sTemp,MAX_TEXT_LENGTH,sMessage)
				replace(sTemp,MAX_TEXT_LENGTH,"@all","^"@name^"")
				replace(sTemp,MAX_TEXT_LENGTH,"@name",sName)
				format(sCommand,MAX_TEXT_LENGTH,"amx_%s",sTemp)
				client_cmd(id,sCommand)
			}
			copyc(sCommand,MAX_NAME_LENGTH,sTemp,' ')
			client_print(id,print_chat,"[AMX] Command ^"%s^" executed on all players",sCommand)
		}
		// For a team
		else if ( containi(sMessage,"@team:") != -1 ) {
			new sTeam[MAX_NAME_LENGTH+1]
			new sRemove[MAX_TEXT_LENGTH+1]

			// Get team
			copy(sTemp,MAX_TEXT_LENGTH,sMessage)
			copyc(sRemove,MAX_TEXT_LENGTH,sTemp,'@')
			replace(sTemp,MAX_TEXT_LENGTH,sRemove,"")
			copyc(sTeam,MAX_TEXT_LENGTH,sTemp,' ')
			
			if ( containi(sTeam,"@team:") != -1 ) {
				replace(sMessage,MAX_TEXT_LENGTH,sTeam,"^"@name^"")
				replace(sTeam,MAX_TEXT_LENGTH,"@team:","")

				// Shortcuts for Counter-strike
				if ( equal(sTeam,"T") ) {
					copy(sTeam,MAX_NAME_LENGTH,"TERRORIST")
				}
				else if ( equal(sTeam,"S") ) {
					copy(sTeam,MAX_NAME_LENGTH,"SPECTATOR")
				}
			}
			else {
				client_print(id,print_chat,"[AMX] Team identifier not recognized")
				return PLUGIN_HANDLED
			}
			
			new iPlayers[MAX_PLAYERS], iNumPlayers
			get_players(iPlayers,iNumPlayers,"e",sTeam)

			if ( iNumPlayers ) {
				for (new i = 0; i < iNumPlayers; i++) {
					get_user_name(iPlayers,sName,MAX_NAME_LENGTH)
					copy(sTemp,MAX_TEXT_LENGTH,sMessage)
					replace(sTemp,MAX_TEXT_LENGTH,"@name",sName)
					format(sCommand,MAX_TEXT_LENGTH,"amx_%s",sTemp)
					client_cmd(id,sCommand)
				}
				copyc(sCommand,MAX_NAME_LENGTH,sTemp,' ')
				client_print(id,print_chat,"[AMX] Command ^"%s^" executed on team ^"%s^"",sCommand,sTeam)
			}
			else {
				client_print(id,print_chat,"[AMX] There are no players on team ^"%s^"",sTeam)
			}
		}
		else {
			format(sCommand,MAX_TEXT_LENGTH,"amx_%s",sMessage)
			client_cmd(id,sCommand)
		}

		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}

public admin_me(id)
{
	new sName[MAX_NAME_LENGTH+1]
	new sMessage[MAX_TEXT_LENGTH+1]
	
	// Get data
	get_user_name(id,sName,MAX_NAME_LENGTH)
	read_args(sMessage,MAX_TEXT_LENGTH)
	remove_quotes(sMessage)

	// Display message only to same status players
	new bAlive = is_user_alive(id)
	for (new i = 1; i <= MAX_PLAYERS; i++) {
		if(is_user_alive(i) == bAlive) {
			client_print(i,print_chat,"%s %s",sName,sMessage)
		}
	}
	return PLUGIN_HANDLED
}

public admin_getteam(id)
{
	// Check arguments
	if (read_argc() < 2) {
		client_print(id, print_console,"[AMX] Usage: amx_getteam < authid | part of name >")
		return PLUGIN_HANDLED
	}
	
	// Find target player
	new arg[MAX_NAME_LENGTH+1]
	read_argv(1,arg,MAX_NAME_LENGTH)
	new player = find_player("c",arg)
	if (!player) player = find_player("bl",arg)
	
	// Player checks
	if (player)	{
		new sName[MAX_NAME_LENGTH+1]
		new sTeam[MAX_NAME_LENGTH]
		get_user_name(player,sName,MAX_NAME_LENGTH)
		get_user_team(player,sTeam,MAX_NAME_LENGTH);
		client_print(id,print_chat,"[AMX] %s's team is ^"%s^"",sName,sTeam)
	}
	else {
		client_print(id,print_console,"[AMX] Client with that authid or part of name not found")
	}
	return PLUGIN_HANDLED
}

public plugin_init()
{
	register_plugin("Admin Slash","1.1","mike_cao")
	register_clcmd("say","admin_slash",0,"say /command < params >")
	register_clcmd("amx_me","admin_me",0,"amx_me < text >")
	register_clcmd("amx_getteam","admin_getteam",0,"amx_getteam < authid | part of nick >")
	return PLUGIN_CONTINUE
}


» Nume : Admin Slash
» Autor : mike_cao
» Versiune : 1.1
» Link oficial :[/b] Click !


» Instalare :[/b]
1. Fisierul admin_slash.sma il puneti in addons/amxmodx/scripting.
2. Fisierul admin_slash.amxx il puneti in addons/amxmodx/plugins.
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

admin_slash.amxx
» Comenzi [in chat]:
  • /slap <nume/parte din nume> <putere>
  • /slay <nume/parte din nume>
  • /kick <nume/parte din nume>
  • /banip <nume/parte din nume> <timp> <motiv>
Image
RoyalServer 2
Sony17.
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 20 Jul 2008, 10:00
Detinator Steam: Nu
CS Status: Traiesc pentru a distruge , Faraonul
Location: In meniul de cs:s :>
Been thanked: 1 time

09 Aug 2008, 01:01

Eu nu postez la pluginuri cu gj sau mai stiu eu ce, dar pluginul asta e la mare cautare si felicitari ca l-ai adus.
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

09 Aug 2008, 01:07

Super folositor acest plugin ! Bine ca l-ai postat.
User avatar
Talida
Membru, skill +2
Membru, skill +2
Posts: 683
Joined: 03 Jun 2008, 19:58
Detinator Steam: Nu
Reputatie: Fost moderator
Location: Ploiesti
Been thanked: 2 times

09 Aug 2008, 01:50

O parere : Cred ca puteai mentiona undeva pe la sfarsitul topicului sa se poate scrie in chat o parte din nume nu tot :P.
~
User avatar
GYUKY
Fost administrator
Fost administrator
Posts: 9280
Joined: 07 Apr 2008, 10:19
Detinator Steam: Da
CS Status: INACTIV !
Reputatie: Fost administrator
Membru Club eXtreamCS
Location: Germania
Has thanked: 193 times
Been thanked: 1156 times

09 Aug 2008, 02:00

Talida wrote:O parere : Cred ca puteai mentiona undeva pe la sfarsitul topicului sa se poate scrie in chat o parte din nume nu tot :P.
Done !
Mersi pentru pareri :P !
Image
User avatar
Radu.
Fost moderator
Fost moderator
Posts: 789
Joined: 07 Jul 2007, 13:07
Detinator Steam: Da
CS Status: Numai Revin Niciodata!
Reputatie: Fost moderator
Restrictie mesaje private!
Has thanked: 2 times
Been thanked: 2 times
Contact:

09 Aug 2008, 02:42

Asta ar trebuie scos de pe extream.idle.ro ca admini sa dea NUMAI si NUMAI amx_banss :| ,si pentru injuratura :|
Image
Image
Image
Sony17.
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 20 Jul 2008, 10:00
Detinator Steam: Nu
CS Status: Traiesc pentru a distruge , Faraonul
Location: In meniul de cs:s :>
Been thanked: 1 time

09 Aug 2008, 02:45

Radu wrote:Asta ar trebuie scos de pe extream.idle.ro ca admini sa dea NUMAI si NUMAI amx_banss :| ,si pentru injuratura :|
cehestia asta e buna ptentru codatii cu nickuri "~" "`" ...
User avatar
Ciprian
Fost administrator
Fost administrator
Posts: 5172
Joined: 10 May 2008, 21:29
Detinator Steam: Da
CS Status: ^^
SteamID: crazycipry
Reputatie: Fost administrator
Fost Scripter eXtreamCS
Fost Supervizor CS.eXtreamCS.com
Fost Unbanner ZM.eXtreamCS.com
Fost Contribuitor
Nume anterior: crazy.cipry
Location: Baia Mare
Has thanked: 177 times
Been thanked: 405 times

09 Aug 2008, 05:01

Foarte bun pluginul, dar am o intrebare: daca avem pe server pluginul ala cu banss poti scrie in chat /banss?
Sony17.
Membru, skill +1
Membru, skill +1
Posts: 277
Joined: 20 Jul 2008, 10:00
Detinator Steam: Nu
CS Status: Traiesc pentru a distruge , Faraonul
Location: In meniul de cs:s :>
Been thanked: 1 time

09 Aug 2008, 05:17

Poti da, dar nu se va face poza.
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

12 Aug 2008, 19:06

Acest plugin este 'setat' sa puna dupe amx_ cea ce ati pus voi in chat, si, daca acea comanda exista, el o executa...deci merge sa scrii orice comanda in chat atata timp cat exista si ca amx_
User avatar
Ciprian
Fost administrator
Fost administrator
Posts: 5172
Joined: 10 May 2008, 21:29
Detinator Steam: Da
CS Status: ^^
SteamID: crazycipry
Reputatie: Fost administrator
Fost Scripter eXtreamCS
Fost Supervizor CS.eXtreamCS.com
Fost Unbanner ZM.eXtreamCS.com
Fost Contribuitor
Nume anterior: crazy.cipry
Location: Baia Mare
Has thanked: 177 times
Been thanked: 405 times

12 Aug 2008, 19:17

anakin_cstrike wrote:Acest plugin este 'setat' sa puna dupe amx_ cea ce ati pus voi in chat, si, daca acea comanda exista, el o executa...deci merge sa scrii orice comanda in chat atata timp cat exista si ca amx_
Deci dupa cat ma duce pe mine mintea inseamna ca poti sa scrii in chat /rcon sv_gravity 400 si serveru va executa comanda?
User avatar
r[A]z[0]r^
Membru, skill 0
Membru, skill 0
Posts: 56
Joined: 30 Jul 2008, 21:33
Detinator Steam: Da
CS Status: Pierd timpUL trAind

14 Aug 2008, 06:30

crazy.cipry wrote:
anakin_cstrike wrote:Acest plugin este 'setat' sa puna dupe amx_ cea ce ati pus voi in chat, si, daca acea comanda exista, el o executa...deci merge sa scrii orice comanda in chat atata timp cat exista si ca amx_
Deci dupa cat ma duce pe mine mintea inseamna ca poti sa scrii in chat /rcon sv_gravity 400 si serveru va executa comanda?
Da. Orice comanda care foloseste amx_ :x merge si la pluginul match mod :x gj ^:)^ ^:)^ ^:)^
Problema este ca sunt unele pluginuri care presupun scrierea in chat /comanda dar care nu exista cu amx_. De ex pluginul SayRestart /restart mie nu imi merge....trebuie sa dau /rcon sv_restart 1 8-| :-<
Intrebarea este pot face ceva in privinta aceasta... Nu ma intelegeti gresit, pluginul este unul dintre cele mai bune;)
Esti al Image fan care imi citeste posturile;)

----------------------------------------------------------------------

Image
Image
Image
Click | PwG Site
Post Reply

Return to “AmxModX”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 13 guests