Базовые сведения:
Обычно при сражении PvE (игрок против моба), при выполнении игроком
какого-либо действия (напр. нанесение удара), запрос посылается на
сервер, и игроку сразу же возвращается ответное действие моба,
поскольку скрипт отрабатывает почти мгновенно. С PvP (игрок против
игрока) такое не прокатит, поскольку другой игрок не в состоянии
отвечать на действие сразу и синхронно. В результате чего возникает
проблема, связанная с тем, что один игрок, сделав какое-то действие,
не в состоянии узнать, когда выполнит ответное действие другой игрок
(противник).
Следствия из этих причин:
Из 1 и 2:
Похоже, что придется делать кнопку <<Обновить статус>>, на которую
пользователь будет должен регулярно в ходе сражения кликать.
Из 3:
В таком случае нельзя будет <<помогать>> бороться с сильным мобом, т.к.
нарвешься на неприятности, и придется того, кому ты помогал, положить
своими руками.
Следствие из всего написанного выше:
PvP может легко накрыться медным тазом.
В связи с этим мне нужны идеи, как это всё можно решить.
Вот, например, один из вариантов решения проблемы 3:
1. Каждый монстр враждебен любому игроку.
2. Каждый монстр друг любому монстру.
3. Каждый клановый игрок друг любому игроку его клана.
4. Каждый клановый игрок враждебен любому игроку вне его клана.
5. Каждый внеклановый игрок враждебен любому игроку.
Т.е. пока игрок не в клане, его все бьют. Как только он вступает в
клан, клан его перестает бить, но продолжают все остальные (в том
числе и игроки других кланов, и внеклановые).
Возможное решение проблем 1 и 2: отправлять тег meta refresh со
временем, например, 5 секунд (для тех, у кого нормальный браузер) и
делать кнопку <<Обновить состояние>> для тех, у кого это не работает.
Короче нужны идеи.