- Регистрация
- 27 Июл 2013
- Сообщения
- 181
- Лучшие ответы
- 0
- Репутация
- 1
Нужна помощь. Решил сделать команду /members, шо тут сложного думал я, но были некоторые нюансы. В диалоге должно показывать 5 игроков, при нажатии первой клавиши "Далее" должно показывать следующие 5 игроков и т.д., и при нажатии второй клавиши "Назад" соответственно должно показывать предыдущие 5 игроков. Собственно беда со второй клавишей, шото я туплю. Если есть мануальчик или что-то похожее дайте пожалуйста)
PHP:
new MaxCount[MAX_PLAYERS];
CMD:members(playerid)
{
if(GPF(playerid) == 0) return SCM(playerid,GREY,"Ты не состоишь во фракции.");
new string[2210];
new count;
for(new i; i < MAX_PLAYERS; i++)
{
if(GPF(i) == GPF(playerid) && count < 5)
{
format(string,sizeof(string),"%s%s[%d]",string,PlayerInfo[i][pNick],i);
count ++;
MaxCount[playerid] = i;
}
}
if(count == 0) return SCM(playerid,GREY,"Никого нет онлайн.");
SPD(playerid,dMembers,DSM,!"Игроки онлайн",string,!"Далее",!"Закрыть");
return 1;
}
case dMembers:
{
if(response)
{
new string[2210];
new count;
for(new i = MaxCount[playerid]; i < MAX_PLAYERS; i++)
{
if(GPF(i) == GPF(playerid) && count < 5)
{
format(string,sizeof(string),"%s%s[%d]",string,PlayerInfo[i][pNick],i);
count ++;
MaxCount[playerid] = i;
}
}
if(count == 0) return SCM(playerid,GREY,"Никого нет онлайн.");
SPD(playerid,dMembers,DSM,!"Игроки онлайн",string,!"Далее",!"Назад");
}
else
{
new string[2210];
new count;
for(new i = MaxCount[playerid]; i > -1; i--)
{
if(i < 0 || i > MaxCount[playerid]) continue;
if(GPF(i) == GPF(playerid) && count < 5)
{
format(string,sizeof(string),"%s%s[%d]",string,PlayerInfo[i][pNick],i);
count ++;
MaxCount[playerid] = i;
}
}
if(count == 0) return SCM(playerid,GREY,"Никого нет онлайн.");
SPD(playerid,dMembers,DSM,!"Игроки онлайн",string,!"Далее",!"Назад");
}
}