16.08.2014, 20:38
Всё никак не могу придумать правильный алгоритм для очереди.
Что я имею введу под очередью. Игрок ввёл команду, получил номер, далее если игроков трое или боя, 3-им выдаётся оружия и так далее. При этом тот кто стоял на 4, становится на 1 и так далее.
Я примерно понимаю как всё это работает, но до меня не доходит пару вещей.
Я пробовал через enum и через обычную переменную. В общем, смотрите что я имею.
Далее идёт таймер секундный, там мы проверяем если переменная HowManyInSearch >= 1 и выводим сток.
Но я не понимаю как мне вывести сток для троих?
Я знаю, что есть 3 игрока, где SearchPriority = 1,2,3. Но, я не имею их ID.
Еще с enum'ом была идея.
Опять таймер.
Обратите внимание на lobby[i-2][id] = lobby[i][id];
Это будет правильно?
Прошу помощи в реализации и может какого-то более оптимизированного способа.
Что я имею введу под очередью. Игрок ввёл команду, получил номер, далее если игроков трое или боя, 3-им выдаётся оружия и так далее. При этом тот кто стоял на 4, становится на 1 и так далее.
Я примерно понимаю как всё это работает, но до меня не доходит пару вещей.
Я пробовал через enum и через обычную переменную. В общем, смотрите что я имею.
pawn Код:
new HowManyInSearch;
new SearchPriority[MAX_PLAYERS];
CMD:go(playerid, params[])
{
InSearchLobby[playerid] = true;
HowManyInSearch ++;
SearchPriority[playerid] += HowManyInSearch + 1;
return 1;
}
Но я не понимаю как мне вывести сток для троих?
Я знаю, что есть 3 игрока, где SearchPriority = 1,2,3. Но, я не имею их ID.
Еще с enum'ом была идея.
pawn Код:
new HowManyInSearch;
enum q_v {
id,
//bool:InSearchLobby,
};
new queue [100][q_v];
CMD:go(playerid, params[])
{
InSearchLobby[playerid] = true;
HowManyInSearch ++;
queue[HowManyInSearch + 1][id] = playerid;
return 1;
}
pawn Код:
GivePlayerWeapon(lobby[1][id], 26, 500);
GivePlayerWeapon(lobby[2][id], 36, 500);
lobby[1][id] = 0;
lobby[2][id] = 0;
HowManyInSearch --;
for(new i; i < HowManyInSearch; i++)
{
lobby[i-2][id] = lobby[i][id];
}
Это будет правильно?
Прошу помощи в реализации и может какого-то более оптимизированного способа.