Evgexa700
Ученик
Помогите я уже второй день ломаю голову и не понимаю что не так... Проблема в том что то правильно перелистывает и показывает те репорты которые нужны, а бывает не правильно...
Код:
if(!strcmp(inputtext, "Далее...", false))
{
IterReport[playerid] += 10;
for(new i = IterReport[playerid]; i < MAX_REPORT; i++)
{
if(IsEmptyReportInRepList(i))
continue;
if(i > 9 + IterReport[playerid])
continue;
format(string, sizeof(string),
"%s%s[%d]\t\t%d м\n",
string,
pInfo[rInfo[i][R_ID]][pName],
rInfo[i][R_ID],
(gettime() - rInfo[count][R_TIME]) / 60
);
List_Item[playerid][count++] = i;
}
if(g_Report_Total_Count > 10 + IterReport[playerid])
{
strcat(string, "Далее...\n");
}
PageReport[playerid] ++;
if(PageReport[playerid] != 1)
strcat(string, "Назад...\n");
printf("Далее... %d", IterReport[playerid]);
format(top_str, sizeof(top_str), "Список репортов (Страница: %d)", PageReport[playerid]);
return ShowPlayerDialog(playerid, DLG_REP_LIST, DIALOG_STYLE_TABLIST_HEADERS,
top_str,
string,
!"Далее", !"Отмена"
);
}
if(!strcmp(inputtext, "Назад...", false))
{
IterReport[playerid] -= 10;
for(new i = IterReport[playerid]; i < MAX_REPORT; i++)
{
if(IsEmptyReportInRepList(i))
continue;
if(i > 9 + IterReport[playerid])
continue;
format(string, sizeof(string),
"%s%s[%d]\t\t%d м\n",
string,
pInfo[rInfo[i][R_ID]][pName],
rInfo[i][R_ID],
(gettime() - rInfo[count][R_TIME]) / 60
);
List_Item[playerid][count++] = i;
}
if(g_Report_Total_Count > 10 + IterReport[playerid])
{
strcat(string, "Далее...\n");
}
if(PageReport[playerid] != 1)
strcat(string, "Назад...\n");
PageReport[playerid] --;
printf("Назад... %d", IterReport[playerid]);
format(top_str, sizeof(top_str), "Список репортов (Страница: %d)", PageReport[playerid]);
return ShowPlayerDialog(playerid, DLG_REP_LIST, DIALOG_STYLE_TABLIST_HEADERS,
top_str,
string,
!"Далее", !"Отмена"
);
}
