#1

Hi there.

This loop is not working and I need to know why.


Код:
public sotd()
{
	new string[128],planame[MAX_PLAYER_NAME];
  for(new i=0; i<MAX_PLAYERS; i++)
  {
    if(kills[i] > highestkills)
    {
			bestkiller[i] = 1;
  			GetPlayerName(i, planame, sizeof(planame));
  		format(string, sizeof(string), "Soldier of the day: %s [%d kills]", planame, highestkills );
  		SendClientMessageToAll(GREEN, string);
		}
		else
		{
		if(!highestkills < kills[i])
		{
			highestkills = kills[i];
		}
		}
  }

}
Reply
#2

if you say the loop isnt working I understand that the code stops working after
pawn Код:
new string[128],planame[MAX_PLAYER_NAME];
but that is wrong because the loop looks ok


Test where exactly the code doesnt works with some prints, like I put it in your code

pawn Код:
public sotd()
{
    print("*** sotd got called!");
    new string[128],planame[MAX_PLAYER_NAME];
    print("*** variables created!");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        printf("*** Loop %d!", i);
        if(kills[i] > highestkills)
        {
            bestkiller[i] = 1;
            GetPlayerName(i, planame, sizeof(planame));
            format(string, sizeof(string), "Soldier of the day: %s [%d kills]", planame, highestkills );
            SendClientMessageToAll(GREEN, string);
        }
        else
        {
            if(!highestkills < kills[i])
            {
                highestkills = kills[i];
            }
        }
    }
    print("sotd got successfully executed!");
}
if you dont see the first message in the server window then the function never got called!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)