Цикл крашит

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Цикл крашит сервер. Что не так?

PHP:
	count = 0;
	for(new X = 1; X <= MaxClients; X++)
	{
		if(IsClientValid(X))
		{
			count ++;
			CreateTimer(1.0, Respawn, X);
			GetName(X);
		}
	}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
Hejter, ф-и гет нейм и ис валид клиент
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Hejter, ф-и гет нейм и ис валид клиент

Что значит ф-и?

PHP:
GetName(client)
{
	new nombre = GetRandomInt(0, 8);
	if(nameUse[nombre])
		GetName(client);
	else
	{
		if(nombre == 0)
			tempName[client] = "Aatrox";
		else if(nombre == 1)
			tempName[client] = "Ahri";
		else if(nombre == 2)
			tempName[client] = "Blitzcrank";
		else if(nombre == 3)
			tempName[client] = "Braum";
		else if(nombre == 4)
			tempName[client] = "Cho'Gath";
		else if(nombre == 5)
			tempName[client] = "Darius";
		else if(nombre == 6)
			tempName[client] = "Evelynn";
		else if(nombre == 7)
			tempName[client] = "Fizz";
		else if(nombre == 8)
			tempName[client] = "Fiddlestick";
		
		nameUse[nombre] = true;
	}
}

PHP:
IsClientValid(X)
{
	if(X > 0 && IsClientConnected(X) && IsClientInGame(X) && IsClientAuthorized(X) && !IsFakeClient(X))
		return true;
	else
		return false;
}

Если я правильно понял..
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
if(nombre == 0)
            tempName[client] = "Aatrox";
        else if(nombre == 1)
            tempName[client] = "Ahri";
        else if(nombre == 2)
            tempName[client] = "Blitzcrank";
        else if(nombre == 3)
            tempName[client] = "Braum";
        else if(nombre == 4)
            tempName[client] = "Cho'Gath";
        else if(nombre == 5)
            tempName[client] = "Darius";
        else if(nombre == 6)
            tempName[client] = "Evelynn";
        else if(nombre == 7)
            tempName[client] = "Fizz";
        else if(nombre == 8)
            tempName[client] = "Fiddlestick";
1. Лучше switch.
2. strcopy а не =.
3. В цикле лучше проверять IsClientInGame(X) && !IsFakeClient(X) т.к. остальное из IsClientValid там не нужно.

и можно сразу
PHP:
return (X > 0 && IsClientConnected(X) && IsClientInGame(X) && IsClientAuthorized(X) && !IsFakeClient(X));

Делай дебаг в лог перед каждым шагом и увидишь на каком этапе краш
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
1. Лучше switch.
2. strcopy а не =.
3. В цикле лучше проверять IsClientInGame(X) && !IsFakeClient(X) т.к. остальное из IsClientValid там не нужно.

и можно сразу
PHP:
return (X > 0 && IsClientConnected(X) && IsClientInGame(X) && IsClientAuthorized(X) && !IsFakeClient(X));

Делай дебаг в лог перед каждым шагом и увидишь на каком этапе краш

Спасибо, буду копать.
 
Сверху Снизу