PDA

View Full Version : SendMessageToAdmins stock


vIBIENNYx
18/06/2012, 08:21 PM
Hey, basically, every time an admin is performing a somewhat abusable command I want it so that all admins can see it, just in case, this is my stock:

stock SendMessageToAdmins(string)
{
for(new i = 0; i != MAX_PLAYERS; i++)
{
if(PVar[i][alevel] > 0)
{
SendClientMessage(i, 0xCC000000, string);
}
}
return 1;
}

This is the code I am trying to put it in.

command(giveweapon, playerid, params[])
{
if(loggedin[playerid] == 0) return SendClientMessage(playerid, 0x66666666, "You must be logged in perform commands");
if(PVar[playerid][alevel] >2)
{
new str[128], sWeapon;
new id, ammo;

if(sscanf(params, "uk<weapons>d", id, sWeapon, ammo)) return SendClientMessage(playerid, 0x66666666, "Usage: /giveweapon [Player ID] [Weapon ID] [Ammo] * You can only give 5000 ammo with the weapon *");
{
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0x66666666, "That player is not connected.");
if(sWeapon == -1) return SendClientMessage(playerid, 0x66666666, "That weapon model or ID doesn't exist.");
if(ammo > 5000 || ammo < 0) return SendClientMessage(playerid, 0x66666666, "You can only give between 1-5000 ammo.");
if(playerid == id)
{
format(str, sizeof(str), "You have given yourself a %s [ID %d] with '%d' ammo.", WeaponNames[sWeapon], sWeapon, ammo);
SendClientMessage(id, 0x66999999, str);
GivePlayerWeapon(id, sWeapon, ammo);
}
else
{
format(str, sizeof(str), "You have given %s a '%s [ID %d]' with '%d' ammo.", RemoveUnderScore(id), WeaponNames[sWeapon], sWeapon, ammo);
SendClientMessage(playerid, 0x66999999, str);
format(str, sizeof(str), "You have been given a '%s [ID %d]' with '%d' ammo by %s.", WeaponNames[sWeapon], sWeapon, ammo, RemoveUnderScore(playerid));
SendClientMessage(id, 0x66999999, str);
format(str, sizeof(str), "%s has given %s a '%s (ID %d)' with '%d' ammo.", RemoveUnderScore(playerid), RemoveUnderScore(id), WeaponNames[sWeapon], sWeapon, ammo);
SendMessageToAdmins(str)
GivePlayerWeapon(id, sWeapon, ammo);
}
}
}
else
{
SendClientMessage(playerid, 0x66666666, "You are not authorised to use that command.");
return 1;
}
return 1;
}

However, it does not work and I get these errors:

C:\Users\Ben\Desktop\SF-RP\gamemodes\bensamp.pwn(1898) : error 035: argument type mismatch (argument 1)
C:\Users\Ben\Desktop\SF-RP\gamemodes\bensamp.pwn(2459) : error 035: argument type mismatch (argument 3)
C:\Users\Ben\Desktop\SF-RP\gamemodes\bensamp.pwn(2453) : warning 203: symbol is never used: "string"

Any ideas?

iGetty
18/06/2012, 08:27 PM
What are the lines Ben?

WagnerPM
18/06/2012, 08:29 PM
command(giveweapon, playerid, params[])
{
if(loggedin[playerid] == 0) return SendClientMessage(playerid, 0x66666666, "You must be logged in perform commands");
if(PVar[playerid][alevel] >2)
{
new sWeapon;
new id, ammo;

if(sscanf(params, "uk<weapons>d", id, sWeapon, ammo)) return SendClientMessage(playerid, 0x66666666, "Usage: /giveweapon [Player ID] [Weapon ID] [Ammo] * You can only give 5000 ammo with the weapon *");
{
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0x66666666, "That player is not connected.");
if(sWeapon == -1) return SendClientMessage(playerid, 0x66666666, "That weapon model or ID doesn't exist.");
if(ammo > 5000 || ammo < 0) return SendClientMessage(playerid, 0x66666666, "You can only give between 1-5000 ammo.");
if(playerid == id)
{
format(string, sizeof(string), "You have given yourself a %s [ID %d] with '%d' ammo.", WeaponNames[sWeapon], sWeapon, ammo);
SendClientMessage(id, 0x66999999, string);
GivePlayerWeapon(id, sWeapon, ammo);
}
else
{
format(string, sizeof(string), "You have given %s a '%s [ID %d]' with '%d' ammo.", RemoveUnderScore(id), WeaponNames[sWeapon], sWeapon, ammo);
SendClientMessage(playerid, 0x66999999, string);
format(string, sizeof(string), "You have been given a '%s [ID %d]' with '%d' ammo by %s.", WeaponNames[sWeapon], sWeapon, ammo, RemoveUnderScore(playerid));
SendClientMessage(id, 0x66999999, string);
format(string, sizeof(string), "%s has given %s a '%s (ID %d)' with '%d' ammo.", RemoveUnderScore(playerid), RemoveUnderScore(id), WeaponNames[sWeapon], sWeapon, ammo);
SendMessageToAdmins(-1,string);
GivePlayerWeapon(id, sWeapon, ammo);
}
}
}
else
{
SendClientMessage(playerid, 0x66666666, "You are not authorised to use that command.");
return 1;
}
return 1;
}

iGetty
18/06/2012, 08:30 PM
You added:

SendMessageToAdmins(-1,string);

The stock is: SendMessageToAdmins(string)

There is no-where for the "-1" to fit into the equation.

vIBIENNYx
18/06/2012, 08:43 PM
You added:

SendMessageToAdmins(-1,string);

The stock is: SendMessageToAdmins(string)

There is no-where for the "-1" to fit into the equation.

Exactly what I was thinking, the problem is that the "String" in the stock is not being used.

The errors are on these lines:

C:\Users\Ben\Desktop\SF-RP\gamemodes\bensamp.pwn(1898) : error 035: argument type mismatch (argument 1)
SendMessageToAdmins(str);
C:\Users\Ben\Desktop\SF-RP\gamemodes\bensamp.pwn(2459) : error 035: argument type mismatch (argument 3)
SendClientMessage(i, 0xCC000000, str);
C:\Users\Ben\Desktop\SF-RP\gamemodes\bensamp.pwn(2453) : warning 203: symbol is never used: "str"
stock SendMessageToAdmins(str)

FUNExtreme
18/06/2012, 09:06 PM
Strings are like this: new string[128];
I guess that those are errors 1 and 2

For the third: stock SendMessageToAdmins(str[] )

vIBIENNYx
18/06/2012, 09:19 PM
Strings are like this: new string[128];
I guess that those are errors 1 and 2

For the third: stock SendMessageToAdmins(str[] )

Okay, I have done that and the errors have gone, the issue is that it does not actually show now..

vIBIENNYx
18/06/2012, 09:21 PM
Nevermind, fixed.. Thanks guys.

iGetty
18/06/2012, 09:40 PM
Welcome Ben. Drop me a text (: