Timers Dont work
#1

I have a player test by setting their HP to 100 but not their server sided value, and it doesnt send the mesasge to admins like its supposed to.
Код:
public OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	SetGameModeText("Blank Script");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	SetTimer("chkhealth",60000,true);
	SetTimer("chkweapons",60000,true);
	SetTimer("chkarmour",60000,true);
	SetTimer("chkmoney",60000,true);
	SetTimer("chkskin",60000,true);
	return 1;
}
forward chkhealth();
public chkhealth()
{
	new astring[MAX_PLAYER_NAME+128],pname[MAX_PLAYER_NAME],Float:hp;
    for(new i = 0; i < MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i))
	{
	if(logged[i] == 1)
	{
	GetPlayerHealth(i,hp);
	if(hp != health[i])
	{
	format(astring,sizeof(astring),"%s(%i) is possibly health hacking, please investigate!",pname,i);
	SendClientMessageToAdmins(0xFF0000FF,astring);
	}
	}
	}
}
}
forward chkarmour();
public chkarmour()
{
	new astring[MAX_PLAYER_NAME+128],pname[MAX_PLAYER_NAME],Float:parmour;
    for(new i = 0; i < MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i))
	{
	if(logged[i] == 1)
	{
	GetPlayerArmour(i,parmour);
	if(parmour != armour[i])
	{
	format(astring,sizeof(astring),"%s(%i) is possibly armour hacking, please investigate!",pname,i);
	SendClientMessageToAdmins(0xFF0000FF,astring);
	}
	}
	}
}
}
Reply
#2

Anything??
Reply
#3

Could you please post your SendClientMessageToAdmins function for me?
There is something in there that is obviously not right.

Here is a small fix for some of your script:
pawn Код:
public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    SetTimer("chkhealth",60000,true);
    SetTimer("chkweapons",60000,true);
    SetTimer("chkarmour",60000,true);
    SetTimer("chkmoney",60000,true);
    SetTimer("chkskin",60000,true);
    return 1;
}

forward chkhealth();
public chkhealth()
{
    for(new i = 0; i < MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i)) {
    if(logged[i] == 1) {
    new astring[MAX_PLAYER_NAME+54],pname[MAX_PLAYER_NAME],Float:hp;
    GetPlayerHealth(i,hp);
    if(hp != health[i]) {
    GetPlayerName(i, pname, MAX_PLAYER_NAME);
    format(astring,sizeof(astring),"%s(%i) is possibly health hacking, please investigate!",pname,i);
    SendClientMessageToAdmins(0xFF0000FF,astring);
    } } } }
    return 1;
}

forward chkarmour();
public chkarmour()
{
    for(new i = 0; i < MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i)) {
    if(logged[i] == 1) {
    new astring[MAX_PLAYER_NAME+54], pname[MAX_PLAYER_NAME],Float:parmour;
    GetPlayerArmour(i,parmour);
    if(parmour != armour[i]) {
    GetPlayerName(i, pname, MAX_PLAYER_NAME);
    format(astring,sizeof(astring),"%s(%i) is possibly armour hacking, please investigate!",pname,i);
    SendClientMessageToAdmins(0xFF0000FF,astring);
    armour[i] = parmour;
    } } } }
    return 1;
}
Reply
#4

Add this after SendClientMessageToAdmins

pawn Код:
print("Suspected a health hacker");
if this message got printed in the server console and you still got no messages in-game then it's 99.9% your SendClientMessageToAdmins function is done wrongly then you'll have to show us it.

Uhm just asking why many timers when you can do all the checks with only one timer (More efficient ha?)?
Reply
#5

or maybe! is because you must use SetTimerEx instead of loop every player you already defined it on the timer
Reply
#6

Код:
	stock SendClientMessageToAdmins(color,message[])
{
	for (new i=0;i<MAX_PLAYERS;i++)
	{
    if (IsPlayerConnected(i))
    {
   	if (alevel[i] >= 1)
    {
    SendClientMessage(i,color,message);
    }
    }
	}
	return 1;
}
Reply
#7

Try:
pawn Код:
forward SendClientMessageToAdmins(color, const string[]);
public SendClientMessageToAdmins(color, const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
if(alevel[i] > 0) {
SendClientMessage(i, color, string);
} } }
return 1;
}
Reply
#8

SHow the code where you save health[i] and armor[i]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)