PDA

View Full Version : req do changes in this plugin


Sanjay Singh
12-24-2016, 06:27
its a plugin from which we can use command by /kick name
i want to do changes in this plugin , it should not use / but change it to /c kick name
so other menu cant b affected by this plugin.


#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[i],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[i],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
}

shehzad1234
12-24-2016, 07:06
Don't Know Working or Not Working but Try this :P

#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] == '/c ' ) {
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,"/c ","")

// 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[i],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[i],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
}

Sanjay Singh
12-24-2016, 07:34
Try to compile it giving error.

shehzad1234
12-24-2016, 08:00
Try this :3
#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,"/c ","")

// 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[i],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[i],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
}

Sanjay Singh
12-25-2016, 02:24
Not working bro!

4ever16
12-26-2016, 00:10
I cant code etc but doesnt this plugin only shortens amx_kick to /kick maybe not but you cant see /kick anywhere only amx_%s meaning that its a shortcode.
/kick is a shortcode for amx_kick

So its not this plugin you need to change its the amxx included one i think.

Sanjay Singh
12-26-2016, 14:15
Yea its same but kick @all will also work so I has more feature than usual