tommy_h
Ученик
Доброго дня. Мучаюсь с проблемой второй день. В общем, суть, в коде ниже есть цикл for, и переменная LoadAllHouse, которая, к примеру, равна 5. На сервере, путем проверок, я обнаружил, что цикл for работает только один круг, и успешно зайти я могу только в дом ID 0. Подскажите в чем проблема, пожалуйста. Заранее, спасибо.
Код:
if(newkeys == KEY_WALK)
{
new inh = GetPVarInt(playerid, "inhouse");//Для проверки
new string[255];//Для проверки
format(string, sizeof(string), "%i", inh);//Для проверки
SendClientMessage(playerid, -1, string);//Для проверки
if(GetPVarInt(playerid, "inhouse") == -1)//ВХод
{
for(new i; i < LoadAllHouse; i++)//начало цикла
{
printf("%i", LoadAllHouse);//Для проверки
printf("%i", i);//Для проверки
if(IsPlayerInRangeOfPoint(playerid,2.0,hInfo[i][hPosV][0],hInfo[i][hPosV][1],hInfo[i][hPosV][2]))
{
if(hInfo[i][hLock] != 0) return SendClientMessage(playerid, -1, "Дом закрыт! (/hinfo чтобы узнать информацию о доме)");
SetPlayerPos(playerid, hInfo[i][hPosE][0],hInfo[i][hPosE][1],hInfo[i][hPosE][2]);
SetPlayerInterior(playerid, hInfo[i][hInt]);
SetPlayerVirtualWorld(playerid, hInfo[i][hID]);
SetPVarInt(playerid, "inhouse", hInfo[i][hID]);
}
else return SendClientMessage(playerid, -1, "Вы не у дома!");
}
}
if(GetPVarInt(playerid, "inhouse") != -1)//Выход
{
new i = GetPVarInt(playerid, "inhouse");
if(IsPlayerInRangeOfPoint(playerid,2.0,hInfo[i][hPosE][0],hInfo[i][hPosE][1],hInfo[i][hPosE][2]))
{
if(hInfo[i][hLock] != 0) return SendClientMessage(playerid, -1, "Дом закрыт!");
SetPlayerPos(playerid, hInfo[i][hPosV][0],hInfo[i][hPosV][1],hInfo[i][hPosV][2]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPVarInt(playerid, "inhouse", -1);
}
}
}
