Перейти к содержанию
Авторизация  
Omar

Проблема с циклами

Рекомендуемые сообщения

Omar

При создании объектов лута, через некоторое время они должны измениться на другой объект. Проблема в том, что цикл работает неправильно и меняется только первый созданный объект, все последующие остаются такими, как были и с ними ничего не происходит.

#define MAX_LOOT    100

enum lInfo
{
	TID,
	objTip,
	objCount,
	Float:objPosX,
	Float:objPosY,
	Float:objPosZ,
	Text3D:obj3DText,
	objObject,
	oOwner[32],
	objState,
	objTimer
};
new objInfo[MAX_LOOT][lInfo],
stock Createobj(objtip, Float:x, Float:y, Float:z, objcount = 1)
{
	new str[448];
	new idt;
	objcount = random(30+1);
	for(new i = 0; i != MAX_LOOT; ++i)
	{
        if(objInfo[i][objTip] > 0) continue;
        objInfo[i][objTip] = objtip;
        objInfo[i][objState] = 1;
        objInfo[i][objCount]  = objcount;
        objInfo[i][objPosX]   = x;
        objInfo[i][objPosY]   = y;
        objInfo[i][objPosZ]   = z;
		
        switch(objInfo[i][objTip])
		{
			case 1:
			{
				objInfo[i][objObject] = CreateDynamicObject(1556,x,y,z-1, 0.0,0.0, 0, 0, 0, -1, 200.0, 200.0);
			}
			case 2:
			{
				objInfo[i][objObject] = CreateObject(1556,x,y,z-1,0,0,0);
			}
			case 3:
			{
				objInfo[i][objObject] = CreateObject(1556,x,y,z,0,0,0);
				print("тест");
			}
		}
		format(str, sizeof(str), "INSERT INTO `loots` (`objTip`,`objCount`,`objPosX`,`objPosY`,`objPosZ`) VALUES ('%d','%d','%f','%f','%f')",
		objInfo[i][objTip], objInfo[i][objCount], objInfo[i][objPosX], objInfo[i][objPosY], objInfo[i][objPosZ]);
		mysql_query(str);
		TOTALobj++;
		objInfo[idt][objTimer] = SetTimerEx("objMove", 60 * 1000, true, "i", idt);
		break;
	}
	return true;
}
forward objProgress(idt);
public objProgress(idt)
{
	for(new i = 0; i != MAX_LOOT; ++i)
	{
		objInfo[idt][objState] += 1;
		new Float: x, Float: y, Float: z;
		GetObjectPos(objInfo[idt][objObject], x, y, z);
		DestroyObject(objInfo[idt][objObject]);
		switch(objInfo[idt][objState])
		{
			case 2:
			{
				objInfo[idt][objObject] = CreateObject(1557,x,y,z-1,0,0,0);
			}
			case 3:
			{
				objInfo[idt][objObject] = CreateObject(1557,x,y,z-0.5,0,0,0);
			}
			case 4:
			{
				objInfo[idt][objObject] = CreateObject(1557,x,y,z+2.0,0,0,0);
			}
		}
	}
	return 1;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.