[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отнимает в минус
Diamorph
Здравствуйте!
Есть энергия игрока и сколько нужно для перехода на другую локацию.
Если энергия которая требуется для перехода меньше энергии игрока. Нужно вывести предупреждение и ничего не делать, а оно залазит в минус.


if($loc2['loc_nrg'] > $udata['energy']) \\ не могу понять как сделать расчет без ухода в минус.
{
mysql_query("INSERT INTO `info_box` SET `usr`='$log',`text`='Нехватает энергии!',`views`='1'");
}





Спустя 1 минута, 59 секунд (3.05.2012 - 12:54) Игорь_Vasinsky написал(а):
добавь чтоли в условие

&& $loc2['loc_nrg'] >= 0

Спустя 16 минут (3.05.2012 - 13:10) Diamorph написал(а):

case 'go_left': // кнопка лево
$xi = $user_loc['x'] - '1';

$req = mysql_query("SELECT `name` FROM `world` WHERE `x` = '$xi' AND `y`='$user_loc[y]' LIMIT 1");
$loc = mysql_fetch_array($req);
$le = mysql_num_rows($req);

$need_nrg = mysql_query("SELECT `loc_nrg` FROM `world` WHERE `name`='$loc[name]' LIMIT 1"); // сколько энегрии нужно для перехода
$loc2 = mysql_fetch_array($need_nrg);

if ($le == '1' and $world['bl'] == '0')
{
if($udata['energy']>0) //если энегрия больше 0
{

$udata['energy'] = $udata['energy'] - $loc2['loc_nrg']; // энегрия = энегрия игрока - затраты на переход в локацию
mysql_query("UPDATE `users` SET `x`='$xi',`energy`='$udata[energy]' WHERE `usr` = '$log' LIMIT 1"); // запись новых данных
}
if($udata['energy'] < $loc2['loc_nrg'])
{
mysql_query("INSERT INTO `info_box` SET `usr`='$log',`text`='Нехватает энергии!',`views`='1'");
}
header("Location: okrestnosti.php?");
exit;
}

Вот полный код одной кнопки. всё сделал так как мне нужно, а вот энергия игрока отнимается в минус если даже ее не достаточно! Помогите поставить запрет.

Спустя 14 минут, 24 секунды (3.05.2012 - 13:24) inpost написал(а):
if($udata['energy']>0) - делаем UPDATE. Тут добавь ещё одно условие на проверку энергии. Потому что 0.00001 - уже больше 0, а значит действие будет проходить.

Спустя 1 час, 15 минут, 50 секунд (3.05.2012 - 14:40) Diamorph написал(а):
Спасибо! работает так-как нужно:)
if($udata['energy'] > '0' AND $udata['energy'] >= $loc2['loc_nrg'])
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.