есть файл выбора противника для боя, случайно выбирается с помощью запроса, после выбора нажав на кнопку атаки должен совершиться переход на скрипт боя, где он будет проведен, но, я не знаю как передать параметр, можно передать через гет но тогда такая конструкция RewriteRule ^search/level$ ./fight.phtml [L] летит к чертям... можно ли передать параметр, не теряя выше указанной возможности, не заводя кук, и не запуская start_session(); то есть чтобы была реальная строка допустим site.ru/index.phtml?attack=attackcharname но чтобы она преобразовалась в строку site.ru/fight/
а как тогда передать? мне нужно чтобы как то передалось имя персонажа на которого нападаешь, а иначе будет бой с какой то невидимкой... или я не так понял?
не знаю всей логики вашей браузерки, но думаю параметром точно не стоит передавать имя. Лучше всего в БД сразу помечать кто с кем. Ну на крайний случай в сессии.
насчет бд не думал стоит ли, если браузерка раскрутиться и за день будет по 20к+ боев, то бд может просто лопнуть хотя как вариант можно чистить бд от боев раз в 3 часа... надо думать...[/js]
Можно зранить у юзера только одного противника ID текущего. Это гарантирует что один юзер не получит 2х разных противников одновременно. А представьте гет запрос да ещё и без сессий. любой человек перейдя по адресу в браузере с вписанным ниокм получит любого противника, даже того кто уже в бою. а поверьте, желающих поломать игру найдётся из первых же 10 челове - 5 попытаются найти дыры
передавать через гет не проблема, ведь в самом бою не запрещено вставлять кучу проверок if ($warstatus != 0) { echo "А ведь его уже атакуют..."; exit; } if ($warhp < тут по формуле вычисляется определнное хп) { echo "Он уже получил свое, подожди немного"; exit; } таким проверок может быть с десятки, это все планируется уже когда сделал сам бой)
ну дело твоё потом не говори что тебя не предупреждали ну а если ты гетом хочешь передать имя, то передавай следующим словом после слеша например site.ru/fight/nickname/