помогите! посчитать HP
|
|
maverix | Дата: Среда, 12 Декабря 2012, 01:06 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Здравствуйте! уже второй день мудрую, но не как не могу понять принцип создания скрипта на реген здоровья(для текстовой браузерки). как оно все должно происходить? я представляю так себе: когда игрок заходит в игру, мы из бд достаем хп и маххп, если хп<>махХп тогда запускаем скрипт регена допустим регенит 1 сек = 1хп итак у меня в переменная хп=маххп, что дальше? отправлять в бд? а как это сделать если игрок просто зашел в игру и больше ничего не делает ? короче много непонятного, прошу просветить не опытного)
и можно ли посчитать хп при помощи php не используя js ?
http://profsov.ru/
Сообщение отредактировал maverix - Среда, 12 Декабря 2012, 02:36 |
|
| |
Glimlach | Дата: Среда, 12 Декабря 2012, 14:47 | Сообщение # 2 |
был не раз
Сейчас нет на сайте
| maverix, Придумал 2 способа. Первый - это написать скрипт, который добавляет 1 хп если текущее хп меньше максимального. Потом поставить на сервер крон и запускать скрипт с нужной тебе частотой. Второй способ - написать скрипт, который сначала смотрит прошло ли нужное время с момента добавления 1 хп(момента срабатывания скрипта) этим скриптом, если прошло и текущее хп меньше максимального, то добавляет 1 к текущему хп и обновляет время последнего срабатывания скрипта. Эти проверки со временем нужны для защиты. Без этих проверок можно будет почти моментально восстановить себе здоровье. А потом клиентом с какой-то периодичностью вызываешь этот скрипт. Я бы использовал первый способ. Первым способом можно обойтись и без js если тебе не нужно динамически обновлять хп.
Сообщение отредактировал Glimlach - Среда, 12 Декабря 2012, 14:48 |
|
| |
maverix | Дата: Среда, 12 Декабря 2012, 17:17 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| короч вчера сидел и вот до чего досидел, прошу заценить) указать на ошибки...) это без использования js чисто php скажеем для проверки, чтоб никто ничего не смог накрутить, скрипт будет срабатывать при каждом обрашении к юзеру..
/*достаем значения */ $sel= "SELECT * FROM `user` WHERE `user_id` = '1' LIMIT 1"; $query=mysql_query($sel); if(!$query){ echo('Не удалось взять данные из БД!'); } else{ if(mysql_num_rows($query)>0){ $res = mysql_fetch_array($query); $nick = $res['user_id']; // титут $hp = $res['hp']; //текущ $maxhp = $res['maxhp']; // max $timme=$res['time']; // время последнего обрашения }} /*записываем в табл текуш время*/ $time=date(U); $query = "UPDATE user SET time='$time' WHERE user_id='1'"; $result = mysql_query($query);
/*проверяем если текшее хп не равно максимальному добавляем 1хп за каждую пройденую секунду*/ if ($hp<>$maxhp){ $hp=$hp+$time-$timme; if ($hp>$maxhp){$hp=$maxhp; } $query = "UPDATE user SET hp='$hp' WHERE user_id='1'"; $result = mysql_query($query);}
http://profsov.ru/
|
|
| |