Понедельник, 11 Ноября 2024, 07:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
помогите! посчитать 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/
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг